Browse Source

[frontend] Demander le code du producteur après la connexion de l'utilisateur

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
Guillaume Bourgeois 5 years ago
parent
commit
eeadb4fb85
3 changed files with 3 additions and 25 deletions
  1. +0
    -17
      common/models/LoginForm.php
  2. +3
    -1
      frontend/controllers/SiteController.php
  3. +0
    -7
      frontend/views/site/producer.php

+ 0
- 17
common/models/LoginForm.php View File

public $rememberMe = true; public $rememberMe = true;
public $email; public $email;
private $_user = false; private $_user = false;
public $code ;
public $id_producer ; public $id_producer ;


/** /**
['rememberMe', 'boolean'], ['rememberMe', 'boolean'],
// password is validated by validatePassword() // password is validated by validatePassword()
['password', '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', 'integer'],
['id_producer', function($attribute, $params) { ['id_producer', function($attribute, $params) {
if ($this->id_producer) { if ($this->id_producer) {

+ 3
- 1
frontend/controllers/SiteController.php View File

if (Yii::$app->user->isGuest) { if (Yii::$app->user->isGuest) {
if ($loginForm->load(Yii::$app->request->post()) && $loginForm->login()) { 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); $this->redirect($returnUrl);
} }



+ 0
- 7
frontend/views/site/producer.php View File

<p> <p>
Si vous avez oublié votre mot de passe, vous pouvez le <?= Html::a('réinitialiser', ['site/request-password-reset']) ?>. Si vous avez oublié votre mot de passe, vous pouvez le <?= Html::a('réinitialiser', ['site/request-password-reset']) ?>.
</p> </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"> <div class="form-group">
<?= Html::submitButton('Connexion', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?> <?= Html::submitButton('Connexion', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
</div> </div>

Loading…
Cancel
Save