class UsersMessageManagementController extends Controller
{
public static function saveLogs($old, $new) {
+ $cnt = 0;
foreach (array_keys($old) as $oldKey) {
if ($new[$oldKey] != $old[$oldKey]) {
+ $cnt++;
+ }
+ }
+ foreach (array_keys($old) as $oldKey) {
+ if ($cnt >1 && $new[$oldKey] != $old[$oldKey]) {
$log = new UsersMessageManagementLogs;
$log->field_name = $oldKey;
$log->value_old = '' . $old[$oldKey];
$oldAttributes = $model->getAttributes();
+ $tab = 1;
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->save();
$newAttributes = $model->getAttributes();
self::saveLogs($oldAttributes, $newAttributes);
+
+ Yii::$app->session->setFlash('success', 'Настройки успешно сохранены');
+
+ return $this->redirect(Yii::$app->request->referrer);
} else {
if (!empty(array_intersect_key($model->getErrors(), ['offer_1' => 1, 'offer_2' => 2, 'offer_whatsapp' => 3, 'offer_text' => 4]))) {
Yii::$app->session->setFlash('error', "Перейдите на вкладку Сообщения рассылки, чтобы заполнить пустые поля");
+ $tab = 2;
}
}
}
- return $this->render('index', compact('model'));
+ return $this->render('index', compact('model', 'tab'));
}
public function actionLogs() {
use yii_app\records\UsersMessageManagement;
/* @var $model UsersMessageManagement */
+/* @var $tab integer */
+$this->registerJs('var tab = ' . \yii\helpers\Json::encode(['tab' => $tab]), \yii\web\View::POS_END);
$this->registerJsFile('/js/users-message-management/index.js', ['position' => \yii\web\View::POS_END]);
$this->registerCss('
</div>
<?php endif; ?>
+ <?php if (Yii::$app->session->hasFlash('success')): ?>
+ <div class="alert alert-success alert-dismissable">
+ <button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
+ <?= Yii::$app->session->getFlash('success') ?>
+ <?php Yii::$app->session->setFlash('success', null) ?>
+ </div>
+ <?php endif; ?>
+
<h1>Настройка управления рассылками клиентам</h1>
<?php $form = ActiveForm::begin([
}
$(document).ready(() => {
- showTab('mainTab');
+ showTab(tab.tab === 1 ? 'mainTab' : 'messageTab');
addCharCounter("#usersmessagemanagement-offer_1", 10000);
addCharCounter("#usersmessagemanagement-offer_2", 10000);
addCharCounter("#usersmessagemanagement-offer_text", 900);