*/
class UsersMessageManagement extends \yii\db\ActiveRecord
{
+ public $test_phones_list; // Виртуальное свойство
+ public $test_phones_active; // Виртуальное свойство
const TYPE_TARGET = 'target';
const TYPE_WHATSAPP = 'whatsapp';
[['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'],
];
}
{
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);
+ }
}
<div class="card">
<div class="card-body">
- <div id="mainTab">
- <div class="row">
- <div class="col-2 mt-2">
+ <div id="mainTab" style="display:flex;">
+ <div class="w-50">
+ <div class="row">
+ <div class="col-4 mt-2">
Дата начала
</div>
- <div class="col-2">
+ <div class="col-6">
<?= $form->field($model, 'date_start')->widget(DateTimePicker::class, [
'language' => 'ru',
'template' => '{input}',
])->label(false) ?>
</div>
</div>
- <div class="row">
- <div class="col-2 mt-2">
+ <div class="row">
+ <div class="col-4 mt-2">
Дата конца
</div>
- <div class="col-2">
+ <div class="col-6">
<?= $form->field($model, 'date_end')->widget(DateTimePicker::class, [
'language' => 'ru',
'template' => '{input}',
])->label(false) ?>
</div>
</div>
- <div class="row">
- <div class="col-2 mt-2">
- Количество бонусов
+ <div class="row">
+ <div class="col-4 mt-2">
+ Количество бонусов [NumberOfBonuses]
</div>
- <div class="col-2">
+ <div class="col-6">
<?= $form->field($model, 'bonus')->textInput(['type' => 'number'])->label(false) ?>
</div>
</div>
- <div class="row">
- <div class="col-2 mt-2">
+ <div class="row">
+ <div class="col-4 mt-2">
HOLD клиентов
</div>
- <div class="col-4">
+ <div class="col-8">
<div class="d-inline-block">
<?php $attr = $model->hold_active ? ['type' => 'number'] : ['type' => 'number', 'readonly' => true]; ?>
<?= $form->field($model, 'hold')->textInput($attr)->label(false) ?>
</div>
</div>
</div>
- <div class="row">
- <div class="col-2 mt-2">
+ <div class="row">
+ <div class="col-4 mt-2">
Первый этап
</div>
- <div class="col-4">
+ <div class="col-8">
<div class="d-inline-block">
<?php $attr = $model->day_before_step1_active ? ['type' => 'number'] : ['type' => 'number', 'readonly' => true]; ?>
<?= $form->field($model, 'day_before_step1')->textInput($attr)->label(false) ?>
</div>
</div>
</div>
- <div class="row">
- <div class="col-2 mt-2">
+ <div class="row">
+ <div class="col-4 mt-2">
Второй этап
</div>
- <div class="col-4">
+ <div class="col-8">
<div class="d-inline-block">
<?php $attr = $model->day_before_step2_active ? ['type' => 'number'] : ['type' => 'number', 'readonly' => true]; ?>
<?= $form->field($model, 'day_before_step2')->textInput($attr)->label(false) ?>
</div>
</div>
</div>
- <div class="row">
- <div class="col-2 mt-2">
+ <div class="row">
+ <div class="col-4 mt-2">
Третий этап
</div>
- <div class="col-4">
+ <div class="col-8">
<div class="d-inline-block">
<?php $attr = $model->day_before_step3_active ? ['type' => 'number'] : ['type' => 'number', 'readonly' => true]; ?>
<?= $form->field($model, 'day_before_step3')->textInput($attr)->label(false) ?>
</div>
</div>
</div>
- <div class="row">
- <div class="col-2 mt-2">
+ <div class="row">
+ <div class="col-4 mt-2">
Действие бонусов
</div>
- <div class="col-4">
+ <div class="col-8">
<div class="d-inline-block">
<?php $attr = ['type' => 'number', 'readonly' => true]; ?>
<?= $form->field($model, 'bonus_action')->textInput(array_merge($attr, [
</div>
</div>
</div>
- <div class="row">
- <div class="col-2 mt-2">
+ <div class="row">
+ <div class="col-4 mt-2">
Активность рассылки
</div>
<div class="col-4">
</div>
</div>
</div>
+ </div>
+ <div class="w-50">
+ <div class="row">
+ <div class="col-4 mt-2">
+ Тестовые телефоны
+ </div>
+ <div class="col-8">
+ <div class="">
+ <?= $form->field($model, 'test_phones_list')->textarea(['rows' => 8])->label(false) ?>
+ </div>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-4 mt-2">
+ Активность тестой рассылки
+ </div>
+ <div class="col-4">
+ <div class="d-inline-block">
+ <?= $form->field($model, 'test_phones_active')->checkbox(['unchecked' => false], false)->label(false) ?>
+ </div>
+ </div>
+ </div>
+ </div>
+
</div>
<div id="messageTab">
<div class="row">
<div class="col-6">
- <?= $form->field($model, 'offer_1')->textarea(['rows' => 10]) ?>
+ <?= $form->field($model, 'offer_1')->textarea(['rows' => 10])->hint('Используйте [NumberOfBonuses] для отображения количества бонусов.') ?>
</div>
<div class="col-6">
- <?= $form->field($model, 'offer_2')->textarea(['rows' => 10]) ?>
+ <?= $form->field($model, 'offer_2')->textarea(['rows' => 10])->hint('Используйте [NumberOfBonuses] для отображения количества бонусов.') ?>
</div>
</div>
<div class="row">
<div class="col-6">
- <?= $form->field($model, 'offer_whatsapp')->textarea(['rows' => 7]) ?>
+ <?= $form->field($model, 'offer_whatsapp')->textarea(['rows' => 7])->hint('Используйте [NumberOfBonuses] для отображения количества бонусов.') ?>
</div>
<div class="col-6">
- <?= $form->field($model, 'offer_text')->textarea(['rows' => 7]) ?>
+ <?= $form->field($model, 'offer_text')->textarea(['rows' => 7])->hint('Используйте [NumberOfBonuses] для отображения количества бонусов.') ?>
</div>
</div>
</div>