From 7ce0466d779254cfdcb70133fbb6a7e41189020b Mon Sep 17 00:00:00 2001 From: Alexander Smirnov Date: Thu, 28 Nov 2024 15:07:15 +0300 Subject: [PATCH] =?utf8?q?[ERP-250]=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84?= =?utf8?q?=D0=B5=D0=B9=D1=81=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5?= =?utf8?q?=D0=BA=20=D1=80=D0=B0=D1=81=D1=81=D1=8B=D0=BB=D0=BE=D0=BA=20?= =?utf8?q?=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../UsersMessageManagementController.php | 32 +++++++ ..._create_table_users_message_management.php | 43 ++++++++++ erp24/records/UsersMessageManagement.php | 76 +++++++++++++++++ .../views/users-message-management/index.php | 84 +++++++++++++++++++ 4 files changed, 235 insertions(+) create mode 100644 erp24/controllers/UsersMessageManagementController.php create mode 100755 erp24/migrations/m241127_161623_create_table_users_message_management.php create mode 100644 erp24/records/UsersMessageManagement.php create mode 100644 erp24/views/users-message-management/index.php 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']) ?> +
+ + + +
-- 2.39.5