From 0fbb36266c74f4aa205b5c9af6299a1894a016dd Mon Sep 17 00:00:00 2001 From: fomichev Date: Thu, 26 Dec 2024 15:20:11 +0300 Subject: [PATCH] =?utf8?q?=D0=94=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D1=82?= =?utf8?q?=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=BF=D0=BE=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../UsersMessageManagementController.php | 5 ++ erp24/records/UsersMessageManagement.php | 14 +++ .../views/users-message-management/index.php | 89 ++++++++++++------- 3 files changed, 76 insertions(+), 32 deletions(-) diff --git a/erp24/controllers/UsersMessageManagementController.php b/erp24/controllers/UsersMessageManagementController.php index 633f7712..3ef1eb49 100644 --- a/erp24/controllers/UsersMessageManagementController.php +++ b/erp24/controllers/UsersMessageManagementController.php @@ -109,6 +109,11 @@ class UsersMessageManagementController extends Controller $model->updated_at = date('Y-m-d H:i:s'); $model->updated_by = Yii::$app->user->id; if ($model->validate()) { + $model->offer_1 = $model->replaceShortcodes($model->offer_1); + $model->offer_2 = $model->replaceShortcodes($model->offer_2); + //$model->offer_3 = $model->replaceShortcodes($model->offer_3); + $model->offer_whatsapp = $model->replaceShortcodes($model->offer_whatsapp); + $model->offer_text = $model->replaceShortcodes($model->offer_text); $model->save(); $newAttributes = $model->getAttributes(); self::saveLogs($oldAttributes, $newAttributes); diff --git a/erp24/records/UsersMessageManagement.php b/erp24/records/UsersMessageManagement.php index 7563cf5f..3c7ec25e 100644 --- a/erp24/records/UsersMessageManagement.php +++ b/erp24/records/UsersMessageManagement.php @@ -33,6 +33,8 @@ use Yii; */ class UsersMessageManagement extends \yii\db\ActiveRecord { + public $test_phones_list; // Виртуальное свойство + public $test_phones_active; // Виртуальное свойство const TYPE_TARGET = 'target'; const TYPE_WHATSAPP = 'whatsapp'; @@ -67,6 +69,8 @@ class UsersMessageManagement extends \yii\db\ActiveRecord [['offer_1', 'offer_2', 'offer_3', 'offer_whatsapp', 'offer_text', 'date_end'], 'string'], [['offer_1', 'offer_2'], 'string', 'max' => 10000, 'tooLong' => '{attribute} должно содержать не более 10000 символов'], [['offer_whatsapp', 'offer_text'], 'string', 'max' => 900, 'tooLong' => '{attribute} должно содержать не более 900 символов'], + [['test_phones_list'], 'string'], + [['test_phones_active'], 'boolean'], ]; } @@ -111,4 +115,14 @@ class UsersMessageManagement extends \yii\db\ActiveRecord { return $this->day_before_step1 + 1; } + + public function getTestPhonesList() + { + return $this->test_phones_list ?? ''; + } + + public function replaceShortcodes($message) + { + return str_replace('[NumberOfBonuses]', $this->bonus, $message); + } } diff --git a/erp24/views/users-message-management/index.php b/erp24/views/users-message-management/index.php index f3424f6e..706eb193 100644 --- a/erp24/views/users-message-management/index.php +++ b/erp24/views/users-message-management/index.php @@ -70,12 +70,13 @@ $this->registerCss('
-
-
-
+
+
+
+
Дата начала
-
+
field($model, 'date_start')->widget(DateTimePicker::class, [ 'language' => 'ru', 'template' => '{input}', @@ -87,11 +88,11 @@ $this->registerCss(' ])->label(false) ?>
-
-
+
+
Дата конца
-
+
field($model, 'date_end')->widget(DateTimePicker::class, [ 'language' => 'ru', 'template' => '{input}', @@ -103,19 +104,19 @@ $this->registerCss(' ])->label(false) ?>
-
-
- Количество бонусов +
+
+ Количество бонусов [NumberOfBonuses]
-
+
field($model, 'bonus')->textInput(['type' => 'number'])->label(false) ?>
-
-
+
+
HOLD клиентов
-
+
hold_active ? ['type' => 'number'] : ['type' => 'number', 'readonly' => true]; ?> field($model, 'hold')->textInput($attr)->label(false) ?> @@ -131,11 +132,11 @@ $this->registerCss('
-
-
+
+
Первый этап
-
+
day_before_step1_active ? ['type' => 'number'] : ['type' => 'number', 'readonly' => true]; ?> field($model, 'day_before_step1')->textInput($attr)->label(false) ?> @@ -146,11 +147,11 @@ $this->registerCss('
-
-
+
+
Второй этап
-
+
day_before_step2_active ? ['type' => 'number'] : ['type' => 'number', 'readonly' => true]; ?> field($model, 'day_before_step2')->textInput($attr)->label(false) ?> @@ -161,11 +162,11 @@ $this->registerCss('
-
-
+
+
Третий этап
-
+
day_before_step3_active ? ['type' => 'number'] : ['type' => 'number', 'readonly' => true]; ?> field($model, 'day_before_step3')->textInput($attr)->label(false) ?> @@ -176,11 +177,11 @@ $this->registerCss('
-
-
+
+
Действие бонусов
-
+
'number', 'readonly' => true]; ?> field($model, 'bonus_action')->textInput(array_merge($attr, [ @@ -189,8 +190,8 @@ $this->registerCss('
-
-
+
+
Активность рассылки
@@ -199,22 +200,46 @@ $this->registerCss('
+
+
+
+
+ Тестовые телефоны +
+
+
+ field($model, 'test_phones_list')->textarea(['rows' => 8])->label(false) ?> +
+
+
+
+
+ Активность тестой рассылки +
+
+
+ field($model, 'test_phones_active')->checkbox(['unchecked' => false], false)->label(false) ?> +
+
+
+
+
- field($model, 'offer_1')->textarea(['rows' => 10]) ?> + field($model, 'offer_1')->textarea(['rows' => 10])->hint('Используйте [NumberOfBonuses] для отображения количества бонусов.') ?>
- field($model, 'offer_2')->textarea(['rows' => 10]) ?> + field($model, 'offer_2')->textarea(['rows' => 10])->hint('Используйте [NumberOfBonuses] для отображения количества бонусов.') ?>
- field($model, 'offer_whatsapp')->textarea(['rows' => 7]) ?> + field($model, 'offer_whatsapp')->textarea(['rows' => 7])->hint('Используйте [NumberOfBonuses] для отображения количества бонусов.') ?>
- field($model, 'offer_text')->textarea(['rows' => 7]) ?> + field($model, 'offer_text')->textarea(['rows' => 7])->hint('Используйте [NumberOfBonuses] для отображения количества бонусов.') ?>
-- 2.39.5