Files
2025-08-02 16:30:27 +02:00

64 lines
1.9 KiB
PHP

<?php
namespace KupShop\AutopilotBundle\Admin\Tabs\Settings;
use KupShop\AdminBundle\Admin\WindowTab;
use KupShop\AutopilotBundle\Util\AutopilotUtil;
use KupShop\KupShopBundle\Config;
class AutopilotTab extends WindowTab
{
protected $title = 'flapAutopilot';
protected $template = 'window/tabs/settings/autopilotTab.tpl';
protected $autopilotUtil;
public function __construct(AutopilotUtil $autopilotUtil)
{
$this->autopilotUtil = $autopilotUtil;
}
public static function getTypes()
{
return [
'settings' => 0,
];
}
public function getVars($smarty_tpl_vars)
{
$cfg = Config::get();
$statuses = $cfg['Order']['Status']['global'];
$active = array_flip(getStatuses('active'));
$active = array_intersect_key($statuses, $active);
$notActive = array_diff_key($statuses, $active);
$fromStatuses = [];
$frm = \Settings::getDefault()['autopilot']['from_statuses'] ?? getStatuses('active');
foreach ($frm as $value) {
$fromStatuses[$value] = true;
}
$vars = [
'statuses' => $statuses,
'active' => $active,
'notActive' => $notActive,
'autopilotDescr' => $this->autopilotUtil->getAutopilotDescription(),
'fromStatuses' => $fromStatuses,
];
if ($this->autopilotUtil->getTestMode()) {
$vars['test'] = ['orders' => $this->autopilotUtil->getTestLog()];
}
return $vars;
}
public function handleTestAutopilot()
{
$autopilot = getVal('autopilot', getVal('data') ?? [], []);
$autopilotStatus = $autopilot['status'] ?? null;
$autopilotFromStatuses = $autopilot['from_statuses'] ?? null;
$this->autopilotUtil->setTestMode(true);
$this->autopilotUtil->setFromStatuses($autopilotFromStatuses);
$this->autopilotUtil->autopilot($autopilotStatus);
}
}