--- /dev/null
+<?php
+
+use yii\db\Migration;
+
+/**
+ * Class m241226_125843_add_test_phones_fields_to_users_message_management
+ */
+class m241226_125843_add_test_phones_fields_to_users_message_management extends Migration
+{
+ const TABLE_NAME = 'erp24.users_message_management';
+ /**
+ * {@inheritdoc}
+ */
+ public function safeUp()
+ {
+ if ($this->db->getTableSchema(self::TABLE_NAME, true) === null) {
+ return;
+ }
+
+ if (!$this->db->getTableSchema(self::TABLE_NAME)->getColumn('test_phones_list')) {
+ $this->addColumn(
+ self::TABLE_NAME,
+ 'test_phones_list',
+ $this->text()->comment('Список тестовых телефонов')
+ );
+ }
+
+ if (!$this->db->getTableSchema(self::TABLE_NAME)->getColumn('test_phones_active')) {
+ $this->addColumn(
+ self::TABLE_NAME,
+ 'test_phones_active',
+ $this->tinyInteger(1)->defaultValue(0)->comment('Активность тестовой рассылки')
+ );
+ }
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function safeDown()
+ {
+ if ($this->db->getTableSchema(self::TABLE_NAME, true) === null) {
+ return;
+ }
+
+ if ($this->db->getTableSchema(self::TABLE_NAME)->getColumn('test_phones_list')) {
+ $this->dropColumn(self::TABLE_NAME, 'test_phones_list');
+ }
+
+ if ($this->db->getTableSchema(self::TABLE_NAME)->getColumn('test_phones_active')) {
+ $this->dropColumn(self::TABLE_NAME, 'test_phones_active');
+ }
+ }
+
+ /*
+ // Use up()/down() to run migration code without a transaction.
+ public function up()
+ {
+
+ }
+
+ public function down()
+ {
+ echo "m241226_125843_add_test_phones_fields_to_users_message_management cannot be reverted.\n";
+
+ return false;
+ }
+ */
+}
* @property int $day_before_step3_active 0 - поле деактивировано, 1 - поле активировано
* @property int $active 0 - поле деактивировано, 1 - поле активировано
* @property string|null $date_end Дата и время завершения события
+ * @property string $test_phones_list Список тестовых телефонов
+ * @property string $test_phones_active Активность тестового списка
*/
class UsersMessageManagement extends \yii\db\ActiveRecord
{
- public $test_phones_list; // Виртуальное свойство
- public $test_phones_active; // Виртуальное свойство
const TYPE_TARGET = 'target';
const TYPE_WHATSAPP = 'whatsapp';
[['day_before_step1', 'day_before_step2', 'day_before_step3', 'created_by', 'updated_by',
'hold', 'hold_active', 'day_before_step1_active', 'day_before_step2_active', 'day_before_step3_active', 'active'], 'default', 'value' => null],
[['day_before_step1', 'day_before_step2', 'day_before_step3', 'created_by', 'updated_by',
- 'hold', 'hold_active', 'day_before_step1_active', 'day_before_step2_active', 'day_before_step3_active', 'active'], 'integer'],
- [['date_start', 'date_last_scenario', 'created_at', 'updated_at', 'date_end'], 'safe'],
- [['offer_1', 'offer_2', 'offer_3', 'offer_whatsapp', 'offer_text', 'date_end'], 'string'],
+ 'hold', 'hold_active', 'day_before_step1_active', 'day_before_step2_active', 'day_before_step3_active', 'active', 'test_phones_active'], 'integer'],
+ [['date_start', 'date_last_scenario', 'created_at', 'updated_at', 'date_end', 'test_phones_list'], 'safe'],
+ [['offer_1', 'offer_2', 'offer_3', 'offer_whatsapp', 'offer_text', 'date_end', 'test_phones_list'], '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'],
];
}
'day_before_step2_active' => 'Дней до шага 2 активность',
'day_before_step3_active' => 'Дней до шага 3 активность',
'active' => 'Активность рассылки',
+ 'bonus_action' => 'Срок действия бонуса',
+ 'test_phones_list' => 'Список тестовых телефонов',
+ 'test_phones_active' => 'Активность тестовой рассылки',
];
}
<?= $form->field($model, 'day_before_step1')->textInput($attr)->label(false) ?>
</div>
<div class="d-inline-block px-5">
- <?= $form->field($model, 'day_before_step1_active')->checkbox(['unchecked' => false, 'onchange'
+ <?= $form->field($model, 'day_before_step1_active', [
+ 'options' => ['class' => 'form-check form-switch']
+ ])
+ ->checkbox(['unchecked' => false, 'class' => 'form-check-input', 'onchange'
=> 'setReadonly("#usersmessagemanagement-day_before_step1", this.checked);'], false)->label(false) ?>
</div>
</div>
<?= $form->field($model, 'day_before_step2')->textInput($attr)->label(false) ?>
</div>
<div class="d-inline-block px-5">
- <?= $form->field($model, 'day_before_step2_active')->checkbox(['unchecked' => false, 'onchange'
+ <?= $form->field($model, 'day_before_step2_active', [
+ 'options' => ['class' => 'form-check form-switch']
+ ])->checkbox(['unchecked' => false, 'class' => 'form-check-input', 'onchange'
=> 'setReadonly("#usersmessagemanagement-day_before_step2", this.checked);'], false)->label(false) ?>
</div>
</div>
<?= $form->field($model, 'day_before_step3')->textInput($attr)->label(false) ?>
</div>
<div class="d-inline-block px-5">
- <?= $form->field($model, 'day_before_step3_active')->checkbox(['unchecked' => false, 'onchange'
+ <?= $form->field($model, 'day_before_step3_active', [
+ 'options' => ['class' => 'form-check form-switch'],
+ ])->checkbox(['unchecked' => false, 'class' => 'form-check-input', 'onchange'
=> 'setReadonly("#usersmessagemanagement-day_before_step3", this.checked);'], false)->label(false) ?>
</div>
</div>
</div>
<div class="col-4">
<div class="d-inline-block">
- <?= $form->field($model, 'active')->checkbox(['unchecked' => false], false)->label(false) ?>
+ <?= $form->field($model, 'active', [
+ 'options' => ['class' => 'form-check form-switch'],
+ ])->checkbox(['unchecked' => false, 'class' => 'form-check-input'], false)->label(false) ?>
</div>
</div>
</div>
<div class="w-50">
<div class="row">
<div class="col-4 mt-2">
- Тестовые телефоны
+ <p>Тестовые телефоны</p>
+ <span class="text-muted">Список телефонов через запятую, для тестовой рассылки</span>
</div>
<div class="col-8">
<div class="">
</div>
<div class="row">
<div class="col-4 mt-2">
- Активность тестой рассылки
+ <p>Активность тестой рассылки</p>
+ <span class="text-muted">При включенном режиме рассылка будет только по тестовым номерам</span>
</div>
<div class="col-4">
<div class="d-inline-block">
- <?= $form->field($model, 'test_phones_active')->checkbox(['unchecked' => false], false)->label(false) ?>
+ <?= $form->field($model, 'test_phones_active', [
+ 'options' => ['class' => 'form-check form-switch'],
+ ])->checkbox(['unchecked' => false, 'class' => 'form-check-input'], false)->label(false) ?>
</div>
</div>
</div>