Ver código fonte

[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 anos atrás
pai
commit
eeadb4fb85
3 arquivos alterados com 3 adições e 25 exclusões
  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 Ver arquivo

@@ -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) {

+ 3
- 1
frontend/controllers/SiteController.php Ver arquivo

@@ -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);
}


+ 0
- 7
frontend/views/site/producer.php Ver arquivo

@@ -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>

Carregando…
Cancelar
Salvar