En effet, on ne sait pas à l'avance si l'utilisateur a déjà un accès validé à ce producteur (code déjà rentré, compte créé manuellement par le producteur)refactoring
@@ -51,7 +51,6 @@ class LoginForm extends Model | |||
public $rememberMe = true; | |||
public $email; | |||
private $_user = false; | |||
public $code ; | |||
public $id_producer ; | |||
/** | |||
@@ -70,22 +69,6 @@ class LoginForm extends Model | |||
['rememberMe', 'boolean'], | |||
// password is validated by validatePassword() | |||
['password', 'validatePassword'], | |||
['code', 'required', 'message' => 'Champs obligatoire', 'when' => function($model) { | |||
$producer = Producer::findOne($this->id_producer); | |||
if ($producer) { | |||
return strlen($producer->code); | |||
} else { | |||
return false; | |||
} | |||
}], | |||
['code', function($attribute, $params) { | |||
$code = $this->$attribute; | |||
$producer = Producer::findOne($this->id_producer); | |||
if ($producer && strtolower(trim($code)) != strtolower(trim($producer->code))) { | |||
$this->addError($attribute, 'Code incorrect'); | |||
} | |||
}], | |||
['id_producer', 'integer'], | |||
['id_producer', function($attribute, $params) { | |||
if ($this->id_producer) { |
@@ -404,7 +404,9 @@ class SiteController extends FrontendController | |||
if (Yii::$app->user->isGuest) { | |||
if ($loginForm->load(Yii::$app->request->post()) && $loginForm->login()) { | |||
Producer::addUser(User::getCurrentId(), $id) ; | |||
if(!strlen($producer->code)) { | |||
Producer::addUser(User::getCurrentId(), $id) ; | |||
} | |||
$this->redirect($returnUrl); | |||
} | |||
@@ -60,13 +60,6 @@ $this->title = 'Producteur '.Html::encode($producer->name) ; | |||
<p> | |||
Si vous avez oublié votre mot de passe, vous pouvez le <?= Html::a('réinitialiser', ['site/request-password-reset']) ?>. | |||
</p> | |||
<?php if(strlen($producer->code)): ?> | |||
<?= $form->field($loginForm, 'code',[ | |||
'inputTemplate' => '<div class="input-group"><span class="input-group-addon"><span class="glyphicon glyphicon-lock"></span></span>{input}</div>', | |||
]) | |||
->label('Code du producteur') | |||
->hint('Renseignez-vous auprès de votre producteur pour qu\'il vous fournisse le code d\'accès') ; ?> | |||
<?php endif; ?> | |||
<div class="form-group"> | |||
<?= Html::submitButton('Connexion', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?> | |||
</div> |