This commit is contained in:
2026-04-07 20:32:43 +02:00
parent 1933c74395
commit 8fa9ca6439
45 changed files with 2974 additions and 3382 deletions

View File

@@ -192,8 +192,8 @@ foreach ($dmMappings as $dm) {
<div class="content-tab-panel<?= $activeTab === 'statuses' ? ' is-active' : '' ?>" data-tab-panel="shoppro-tab-statuses">
<section class="mt-16">
<h3 class="section-title"><?= $e($t('settings.integrations.statuses.title')) ?></h3>
<p class="muted mt-12"><?= $e($t('settings.integrations.statuses.description')) ?></p>
<h3 class="section-title"><?= $e($t('settings.order_statuses.title')) ?></h3>
<p class="muted mt-12"><?= $e($t('settings.order_statuses.description')) ?></p>
<?php if (!$isEdit && $list === []): ?>
<p class="muted mt-12"><?= $e($t('settings.integrations.statuses.select_integration_first')) ?></p>
@@ -264,6 +264,74 @@ foreach ($dmMappings as $dm) {
</form>
<?php endif; ?>
</section>
<section class="mt-24">
<h3 class="section-title"><?= $e($t('settings.order_statuses.pull.title')) ?></h3>
<p class="muted mt-12"><?= $e($t('settings.order_statuses.pull.description')) ?></p>
<?php if (!$isEdit && $list === []): ?>
<p class="muted mt-12"><?= $e($t('settings.integrations.statuses.select_integration_first')) ?></p>
<?php else: ?>
<form class="mt-12" action="/settings/integrations/shoppro/statuses/save-pull" method="post">
<input type="hidden" name="_token" value="<?= $e($csrfToken ?? '') ?>">
<input type="hidden" name="integration_id" value="<?= $e((string) ($formValues['integration_id'] ?? 0)) ?>">
<div class="table-wrap mt-12">
<table class="table">
<thead>
<tr>
<th><?= $e($t('settings.order_statuses.fields.shoppro_status')) ?></th>
<th><?= $e($t('settings.order_statuses.fields.orderpro_status')) ?></th>
</tr>
</thead>
<tbody>
<?php if ($shopproStatuses === []): ?>
<tr>
<td colspan="2" class="muted"><?= $e($t('settings.order_statuses.pull.no_shoppro_statuses')) ?></td>
</tr>
<?php else: ?>
<?php foreach ($shopproStatuses as $extStatus): ?>
<?php
$extCode = (string) ($extStatus['code'] ?? '');
$extName = (string) ($extStatus['name'] ?? $extCode);
if ($extCode === '') continue;
$pullMapped = $pullMappingIndex[$extCode] ?? null;
$selectedOrderproCode = $pullMapped !== null ? (string) ($pullMapped['orderpro_status_code'] ?? '') : '';
?>
<tr>
<td>
<?= $e($extName) ?> <code class="muted">(<?= $e($extCode) ?>)</code>
<input type="hidden" name="shoppro_status_code[]" value="<?= $e($extCode) ?>">
<input type="hidden" name="shoppro_status_name[]" value="<?= $e($extName) ?>">
</td>
<td>
<select class="form-control" name="orderpro_status_code[]">
<option value=""><?= $e($t('settings.order_statuses.fields.no_mapping')) ?></option>
<?php foreach ($orderproStatuses as $opStatus): ?>
<?php
$opCode = strtolower(trim((string) ($opStatus['code'] ?? '')));
$opName = (string) ($opStatus['name'] ?? $opCode);
if ($opCode === '') continue;
?>
<option value="<?= $e($opCode) ?>"<?= $selectedOrderproCode === $opCode ? ' selected' : '' ?>>
<?= $e($opName) ?>
</option>
<?php endforeach; ?>
</select>
</td>
</tr>
<?php endforeach; ?>
<?php endif; ?>
</tbody>
</table>
</div>
<?php if ($shopproStatuses !== []): ?>
<div class="form-actions mt-12">
<button type="submit" class="btn btn--primary"><?= $e($t('settings.order_statuses.pull.save')) ?></button>
</div>
<?php endif; ?>
</form>
<?php endif; ?>
</section>
</div>
<div class="content-tab-panel<?= $activeTab === 'settings' ? ' is-active' : '' ?>" data-tab-panel="shoppro-tab-settings">