From: fomichev Date: Thu, 26 Dec 2024 12:20:11 +0000 (+0300) Subject: Дополнительные поля X-Git-Tag: 1.7~94^2~27 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=0fbb36266c74f4aa205b5c9af6299a1894a016dd;p=erp24_rep%2Fyii-erp24%2F.git Дополнительные поля --- 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] для отображения количества бонусов.') ?>