diff --git a/module/oc_telegram_shop/upload/admin/controller/extension/module/tgshop.php b/module/oc_telegram_shop/upload/admin/controller/extension/module/tgshop.php index c834d30..191d53e 100755 --- a/module/oc_telegram_shop/upload/admin/controller/extension/module/tgshop.php +++ b/module/oc_telegram_shop/upload/admin/controller/extension/module/tgshop.php @@ -13,6 +13,8 @@ * @property ModelToolImage $model_tool_image * @property ModelCatalogProduct $model_catalog_product * @property User $user + * @property ModelCustomerCustomerGroup $model_customer_customer_group + * @property ModelLocalisationOrderStatus $model_localisation_order_status */ class ControllerExtensionModuleTgshop extends Controller { @@ -97,7 +99,7 @@ class ControllerExtensionModuleTgshop extends Controller true ); - $data['settings'] = static::getSettingsConfig(); + $data['settings'] = $this->getSettingsConfig(); foreach ($data['settings'] as $configs) { foreach ($configs as $key => $config) { @@ -165,7 +167,7 @@ class ControllerExtensionModuleTgshop extends Controller $this->error['error_warning'] = $this->language->get('error_permission'); } - foreach (static::getSettingsConfig() as $configs) { + foreach ($this->getSettingsConfig() as $configs) { foreach ($configs as $key => $config) { if (($config['required'] ?? false) === true && ! $this->request->post[$key]) { $this->error["error_$key"] = 'Поле "' . $this->language->get( @@ -245,10 +247,12 @@ class ControllerExtensionModuleTgshop extends Controller 'module_tgshop_theme_dark' => 'dark', 'module_tgshop_mainpage_products' => 'most_viewed', 'module_tgshop_featured_products' => [], + 'module_tgshop_order_customer_group_id' => 1, + 'module_tgshop_order_default_status_id' => 1, ]; } - private static function getSettingsConfig(): array + private function getSettingsConfig(): array { return [ 'general' => [ @@ -351,8 +355,43 @@ class ControllerExtensionModuleTgshop extends Controller ], 'orders' => [ + 'module_tgshop_order_customer_group_id' => [ + 'type' => 'select', + 'options' => $this->getCustomerGroups(), + 'help' => 'Группа покупателей, которая будет назначена для заказов, оформленных через Telegram-магазин.', + ], + 'module_tgshop_order_default_status_id' => [ + 'type' => 'select', + 'options' => $this->getOrderStatuses(), + 'help' => 'Статус, с которым будут создаваться заказы через Telegram по умолчанию.', + ], ], ]; } + + private function getCustomerGroups(): array + { + $this->load->model('customer/customer_group'); + $map = []; + + foreach ($this->model_customer_customer_group->getCustomerGroups() as $customer_group) { + $map[(int)$customer_group['customer_group_id']] = $customer_group['name']; + } + + return $map; + } + + private function getOrderStatuses() + { + $this->load->model('localisation/order_status'); + $statuses = $this->model_localisation_order_status->getOrderStatuses(); + $map = []; + + foreach ($statuses as $item) { + $map[(int)$item['order_status_id']] = $item['name']; + } + + return $map; + } } diff --git a/module/oc_telegram_shop/upload/admin/language/ru-ru/extension/module/tgshop.php b/module/oc_telegram_shop/upload/admin/language/ru-ru/extension/module/tgshop.php index c672695..1fec98b 100755 --- a/module/oc_telegram_shop/upload/admin/language/ru-ru/extension/module/tgshop.php +++ b/module/oc_telegram_shop/upload/admin/language/ru-ru/extension/module/tgshop.php @@ -24,6 +24,8 @@ $_['lbl_module_tgshop_theme_light'] = 'Светлая тема'; $_['lbl_module_tgshop_theme_dark'] = 'Тёмная тема'; $_['lbl_module_tgshop_mainpage_products'] = 'Товары на главной'; $_['lbl_module_tgshop_featured_products'] = 'Избранные товары'; +$_['lbl_module_tgshop_order_customer_group_id'] = 'Группа покупателей'; +$_['lbl_module_tgshop_order_default_status_id'] = 'Статус заказов'; // Entry $_['entry_status'] = 'Статус'; diff --git a/module/oc_telegram_shop/upload/admin/view/template/extension/module/tgshop.twig b/module/oc_telegram_shop/upload/admin/view/template/extension/module/tgshop.twig index 20102b7..373f572 100755 --- a/module/oc_telegram_shop/upload/admin/view/template/extension/module/tgshop.twig +++ b/module/oc_telegram_shop/upload/admin/view/template/extension/module/tgshop.twig @@ -35,14 +35,6 @@