64 lines
1.9 KiB
PHP
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);
|
|
}
|
|
}
|