Possibilité de s'inscrire avec l'adresse email d'un compte 'guest' : création d'un compte 'individual'refactoring
@@ -290,7 +290,7 @@ $this->addBreadcrumb($this->getTitle()) ; | |||
1 => 'Oui' | |||
], []); ?> | |||
<?= $form->field($model, 'option_allow_order_guest') | |||
<?php echo $form->field($model, 'option_allow_order_guest') | |||
->dropDownList([ | |||
0 => 'Non', | |||
1 => 'Oui' |
@@ -226,10 +226,10 @@ class User extends ActiveRecordCommon implements IdentityInterface | |||
public function verifyEmail($attribute, $params) | |||
{ | |||
if($this->id) { | |||
$user = User::find()->where("email LIKE :email AND id != :id")->params(array(':email' => '%' . $this->email . '%', ':id' => $this->id))->one(); | |||
$user = User::find()->where("email LIKE :email AND type != :guest AND id != :id")->params(array(':email' => '%' . $this->email . '%', ':id' => $this->id, ':guest' => 'guest'))->one(); | |||
} | |||
else { | |||
$user = User::find()->where("email LIKE :email")->params(array(':email' => '%' . $this->email . '%'))->one(); | |||
$user = User::find()->where("email LIKE :email AND type != :guest")->params(array(':email' => '%' . $this->email . '%', ':guest' => 'guest'))->one(); | |||
} | |||
if ($user) { |
@@ -252,6 +252,7 @@ class SiteController extends FrontendController | |||
$model = new SignupForm(); | |||
if ($model->load(Yii::$app->request->post())) { | |||
$user = $model->signup(); | |||
if ($user) { | |||
if (Yii::$app->getUser()->login($user)) { | |||
if ($model->option_user_producer == 'producer') { |
@@ -80,7 +80,19 @@ class SignupForm extends Model | |||
['email', 'filter', 'filter' => 'trim'], | |||
['email', 'required', 'message' => 'Champs obligatoire'], | |||
['email', 'email'], | |||
['email', 'unique', 'targetClass' => '\common\models\User', 'message' => 'Cet email est déjà utilisé'], | |||
['email', function($attribute, $params) { | |||
$email = $this->$attribute; | |||
$userExist = User::searchOne([ | |||
'type' => 'individual', | |||
'email' => $email | |||
]); | |||
if($userExist) { | |||
$this->addError($attribute, 'Cet email est déjà utilisé.'); | |||
} | |||
}], | |||
//['email', 'unique', 'targetClass' => '\common\models\User', 'message' => 'Cet email est déjà utilisé'], | |||
[['name', 'lastname', 'phone'], 'required', 'message' => 'Champs obligatoire'], | |||
[['name', 'lastname', 'phone', 'option_user_producer'], 'string', 'min' => 2, 'max' => 255], | |||
['password', 'required', 'message' => 'Champs obligatoire'], |