- Внесены коррективы в механизм валидации пользователя

parent df580cbb
...@@ -4,8 +4,10 @@ namespace common\modules\users\models; ...@@ -4,8 +4,10 @@ namespace common\modules\users\models;
use common\components\UnisenderAPI; use common\components\UnisenderAPI;
use common\modules\messageTemplate\controllers\TemplateAdminController; use common\modules\messageTemplate\controllers\TemplateAdminController;
use common\modules\messageTemplate\models\MessageTemplate; use common\modules\messageTemplate\models\MessageTemplate;
use common\modules\triggers\components\conditions\Conditions;
use common\modules\triggers\components\conditions\conditions\CheckUserToRegistration; use common\modules\triggers\components\conditions\conditions\CheckUserToRegistration;
use common\modules\triggers\models\TriggerCondition; use common\modules\triggers\models\TriggerCondition;
use common\modules\triggers\models\TriggerLogs;
use common\modules\triggers\models\TriggerSchedule; use common\modules\triggers\models\TriggerSchedule;
use common\modules\triggers\models\TriggerTrigger; use common\modules\triggers\models\TriggerTrigger;
use Yii; use Yii;
...@@ -560,15 +562,20 @@ class User extends \common\components\ActiveRecordModel implements IdentityInter ...@@ -560,15 +562,20 @@ class User extends \common\components\ActiveRecordModel implements IdentityInter
* Если указан, выполняем действия триггера * Если указан, выполняем действия триггера
*/ */
public function afterRegistration($params=array()){ public function afterRegistration($params=array()){
/** @var TriggerTrigger[] $actualTriggers */ $date = new \DateTime();
$actualTriggers = TriggerTrigger::getActualTriggers(); $model = new TriggerLogs();
foreach($actualTriggers as $trigger) { $model->user_id = $this->getPrimaryKey();
$exists = TriggerCondition::find()->where(['trigger_id'=>$trigger->id, 'condition_id'=>CheckUserToRegistration::CONDITION_ID])->exists(); $model->action = TriggerLogs::USER_REGISTRATION;
$count = TriggerCondition::find()->where(['trigger_id'=>$trigger->id])->count(); $model->url = Yii::$app->request->getUrl();
// Добавляем в расписание срабатывание триггера регистрации только при условии что у триггера условие регистрации есть и оно там одно $model->datetime = $date->format('Y-m-d H:i:s');
if ($exists===true && $count==1) { $model->presence_time = 1;
$init = $trigger->initAction($params); if ($model->save()) {
if ($init===true) { /** @var TriggerTrigger[] $actualTriggers */
$actualTriggers = TriggerTrigger::getActualTriggers();
foreach($actualTriggers as $trigger) {
$exists = TriggerCondition::find()->where(['trigger_id'=>$trigger->id, 'condition_id'=>CheckUserToRegistration::CONDITION_ID])->exists();
// Добавляем в расписание срабатывание триггера регистрации только при условии что у триггера условие регистрации есть и оно там одно
if ($exists===true) {
$curl = curl_init(); $curl = curl_init();
curl_setopt($curl, CURLOPT_URL, Yii::$app->urlManager->createAbsoluteUrl('/triggers/default/rechecktriggers')); curl_setopt($curl, CURLOPT_URL, Yii::$app->urlManager->createAbsoluteUrl('/triggers/default/rechecktriggers'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
...@@ -577,11 +584,11 @@ class User extends \common\components\ActiveRecordModel implements IdentityInter ...@@ -577,11 +584,11 @@ class User extends \common\components\ActiveRecordModel implements IdentityInter
return false; return false;
} }
return true; return true;
} else {
$this->addError('email', $init);
return false;
} }
} }
} else {
$this->addError('email', current(current($model->getErrors())));
return false;
} }
return true; return true;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment