From: Alexander Smirnov Date: Thu, 28 Nov 2024 12:07:15 +0000 (+0300) Subject: [ERP-250] интерфейс настроек рассылок клиентам X-Git-Tag: 1.7~175^2~1 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=7ce0466d779254cfdcb70133fbb6a7e41189020b;p=erp24_rep%2Fyii-erp24%2F.git [ERP-250] интерфейс настроек рассылок клиентам --- diff --git a/erp24/controllers/UsersMessageManagementController.php b/erp24/controllers/UsersMessageManagementController.php new file mode 100644 index 00000000..d817a283 --- /dev/null +++ b/erp24/controllers/UsersMessageManagementController.php @@ -0,0 +1,32 @@ +one(); + + if (!$model) { + $model = new UsersMessageManagement; + } + + if (Yii::$app->request->isPost && $model->load(Yii::$app->request->post())) { + if (!$model->created_at) { + $model->created_at = date('Y-m-d H:i:s'); + $model->created_by = Yii::$app->user->id; + } + $model->updated_at = date('Y-m-d H:i:s'); + $model->updated_by = Yii::$app->user->id; + if ($model->validate()) { + $model->save(); + } + } + + return $this->render('index', compact('model')); + } +} diff --git a/erp24/migrations/m241127_161623_create_table_users_message_management.php b/erp24/migrations/m241127_161623_create_table_users_message_management.php new file mode 100755 index 00000000..8ada10d2 --- /dev/null +++ b/erp24/migrations/m241127_161623_create_table_users_message_management.php @@ -0,0 +1,43 @@ +createTable(self::TABLE_NAME, [ + 'id' => $this->primaryKey(), + 'bonus' => $this->float()->notNull()->comment('Количество бонусов к начислению'), + 'day_before_step1' => $this->integer()->notNull()->comment('Количество дней до начала запуска первого этапа'), + 'day_before_step2' => $this->integer()->notNull()->comment('Количество дней до начала запуска второго этапа'), + 'day_before_step3' => $this->integer()->notNull()->comment('Количество дней до начала запуска третьего этапа'), + 'date_start' => $this->dateTime()->notNull()->comment('Дата и время запуска события'), + 'offer_1' => $this->text()->notNull()->comment('Офер в чат бот 1'), + 'offer_2' => $this->text()->notNull()->comment('Офер в чат бот 2'), + 'offer_3' => $this->text()->null()->comment('Офер в чат бот 3'), + 'offer_whatsapp' => $this->text()->notNull()->comment('Офер в whatsapp'), + 'offer_text' => $this->text()->notNull()->comment('Текст таргета'), + 'date_last_scenario' => $this->dateTime()->notNull()->comment('Дата последнего сценария'), + 'created_at' => $this->dateTime()->notNull()->comment('Дата создания'), + 'created_by' => $this->integer()->notNull()->comment('ID создателя записи'), + 'updated_at' => $this->dateTime()->notNull()->comment('Дата обновления'), + 'updated_by' => $this->integer()->notNull()->comment('ID обновления записи'), + ]); + } + + /** + * {@inheritdoc} + */ + public function safeDown() + { + $this->dropTable(self::TABLE_NAME); + } +} diff --git a/erp24/records/UsersMessageManagement.php b/erp24/records/UsersMessageManagement.php new file mode 100644 index 00000000..88c99c0c --- /dev/null +++ b/erp24/records/UsersMessageManagement.php @@ -0,0 +1,76 @@ + null], + [['day_before_step1', 'day_before_step2', 'day_before_step3', 'created_by', 'updated_by'], 'integer'], + [['date_start', 'date_last_scenario', 'created_at', 'updated_at'], 'safe'], + [['offer_1', 'offer_2', 'offer_3', 'offer_whatsapp', 'offer_text'], 'string'], + ]; + } + + /** + * {@inheritdoc} + */ + public function attributeLabels() + { + return [ + 'id' => 'ID', + 'bonus' => 'Бонус', + 'day_before_step1' => 'Дней до первого этапа', + 'day_before_step2' => 'Дней до второго этапа', + 'day_before_step3' => 'Дней до третьего этапа', + 'date_start' => 'Дата и время старта', + 'offer_1' => 'Оффер чатбот 1', + 'offer_2' => 'Оффер чатбот 2', + 'offer_3' => 'Оффер чатбот 3', + 'offer_whatsapp' => 'Оффер Whatsapp', + 'offer_text' => 'Текст таргета', + 'date_last_scenario' => 'Дата последнего сценария', + 'created_at' => 'Created At', + 'created_by' => 'Created By', + 'updated_at' => 'Updated At', + 'updated_by' => 'Updated By', + ]; + } +} diff --git a/erp24/views/users-message-management/index.php b/erp24/views/users-message-management/index.php new file mode 100644 index 00000000..690d9f09 --- /dev/null +++ b/erp24/views/users-message-management/index.php @@ -0,0 +1,84 @@ + + +
+ +

Настройка управления рассылками клиентам

+ + + +
+
+ field($model, 'bonus')->textInput(['type' => 'number', 'step' => 0.01]) ?> +
+
+ field($model, 'date_start')->widget(DateTimePicker::class, [ + 'language' => 'ru', + 'template' => '{input}', + 'clientOptions' => [ + 'autoclose' => true, + 'format' => 'Y-m-d H:i:s', + 'todayBtn' => true + ], + ]) ?> +
+
+
+
+ field($model, 'day_before_step1')->textInput(['type' => 'number', 'step' => 0.01]) ?> +
+
+ field($model, 'day_before_step2')->textInput(['type' => 'number', 'step' => 0.01]) ?> +
+
+ field($model, 'day_before_step3')->textInput(['type' => 'number', 'step' => 0.01]) ?> +
+
+
+
+ field($model, 'offer_1')->textarea(['row' => 6]) ?> +
+
+ field($model, 'offer_2')->textarea(['row' => 6]) ?> +
+
+ field($model, 'offer_3')->textarea(['row' => 6]) ?> +
+
+
+
+ field($model, 'offer_whatsapp')->textarea(['row' => 6]) ?> +
+
+ field($model, 'offer_text')->textarea(['row' => 6]) ?> +
+
+ field($model, 'date_last_scenario')->widget(DateTimePicker::class, [ + 'language' => 'ru', + 'template' => '{input}', + 'clientOptions' => [ + 'autoclose' => true, + 'format' => 'Y-m-d H:i:s', + 'todayBtn' => true + ], + ]) ?> +
+
+ +
+ 'btn btn-success']) ?> +
+ + + +