Page utilisée par les producteurs pour communiquer sur le système de réservation. Elle permet de mettre en confiance le client lors de sa première visite sur la plateforme en mettant en avant le nom de leur producteur. Elle permet de lier directement le client au producteur lors de son inscription/connexion.prodstable
@@ -16,6 +16,7 @@ use yii\filters\VerbFilter; | |||
use yii\filters\AccessControl; | |||
use yii\helpers\Html; | |||
use frontend\controllers\FrontendController; | |||
use common\models\UserEtablissement ; | |||
use dosamigos\leaflet\types\LatLng; | |||
use dosamigos\leaflet\layers\Marker; | |||
@@ -189,26 +190,6 @@ class SiteController extends FrontendController | |||
if ($user = $model->signup()) { | |||
if (Yii::$app->getUser()->login($user)) { | |||
$etablissement = null ; | |||
if($model->id_etablissement) | |||
{ | |||
$etablissement = Etablissement::findOne($model->id_etablissement) ; | |||
} | |||
Yii::$app->mailer->compose( | |||
[ | |||
'html' => 'signup-html', | |||
'text' => 'signup-text' | |||
], | |||
[ | |||
'user' => $user, | |||
'etablissement' => $etablissement | |||
]) | |||
->setTo($user->email) | |||
->setFrom([Yii::$app->params['adminEmail'] => 'La boîte à pain']) | |||
->setSubject('[La boîte à pain] Inscription') | |||
->send(); | |||
$this->redirect(['commande/index']) ; | |||
} | |||
} | |||
@@ -272,4 +253,60 @@ class SiteController extends FrontendController | |||
{ | |||
return $this->render('creditpain') ; | |||
} | |||
public function actionEtablissement($id_etablissement) | |||
{ | |||
$model_login = new LoginForm(); | |||
$model_signup = new SignupForm(); | |||
$etablissement = Etablissement::findOne($id_etablissement) ; | |||
if ($model_login->load(Yii::$app->request->post()) && $model_login->login()) | |||
{ | |||
// ajout de l'établissement en favoris si ce n'est pas encore le cas | |||
$user_etablissement_exist = UserEtablissement::find() | |||
->where([ | |||
'id_user' => Yii::$app->user->id, | |||
'id_etablissement' => $id_etablissement | |||
])->one(); | |||
if(!$user_etablissement_exist) | |||
{ | |||
$etab_user = new UserEtablissement ; | |||
$etab_user->id_etablissement = $id_etablissement ; | |||
$etab_user->id_user = Yii::$app->user->id ; | |||
$etab_user->credit = 0 ; | |||
$etab_user->actif = 1 ; | |||
$etab_user->save() ; | |||
} | |||
else { | |||
if(!$user_etablissement_exist->actif) | |||
{ | |||
$user_etablissement_exist->actif = 1 ; | |||
$user_etablissement_exist->save() ; | |||
} | |||
} | |||
$this->redirect(['commande/index']) ; | |||
} | |||
if ($model_signup->load(Yii::$app->request->post())) { | |||
$model_signup->id_etablissement = $id_etablissement ; | |||
$model_signup->option_client_boulanger = 'client' ; | |||
if ($user = $model_signup->signup()) { | |||
if (Yii::$app->getUser()->login($user)) { | |||
$this->redirect(['commande/index']) ; | |||
} | |||
} | |||
} | |||
return $this->render('etablissement',[ | |||
'model_login' => $model_login, | |||
'model_signup' => $model_signup, | |||
'etablissement' => $etablissement, | |||
]) ; | |||
} | |||
} |
@@ -230,6 +230,21 @@ class SignupForm extends Model | |||
$etab_user->credit = 0 ; | |||
$etab_user->actif = 1 ; | |||
$etab_user->save() ; | |||
// envoi d'un email à l'utilisateur | |||
Yii::$app->mailer->compose( | |||
[ | |||
'html' => 'signup-html', | |||
'text' => 'signup-text' | |||
], | |||
[ | |||
'user' => $user, | |||
'etablissement' => $etablissement | |||
]) | |||
->setTo($user->email) | |||
->setFrom([Yii::$app->params['adminEmail'] => 'La boîte à pain']) | |||
->setSubject('[La boîte à pain] Inscription') | |||
->send(); | |||
} | |||
} | |||
} |
@@ -0,0 +1,63 @@ | |||
<?php | |||
/* | |||
* To change this license header, choose License Headers in Project Properties. | |||
* To change this template file, choose Tools | Templates | |||
* and open the template in the editor. | |||
*/ | |||
use yii\helpers\Html ; | |||
use yii\bootstrap\ActiveForm; | |||
$this->title = 'Producteur '.Html::encode($etablissement->nom) ; | |||
?> | |||
<div id="page-etablissement"> | |||
<h1 class="title-systeme-commande"><?= Html::encode($etablissement->nom) ?></h1> | |||
<p class="info"><span class="alert alert-warning">Veuillez vous connecter pour réserver les produits de cet établissement.</span></p> | |||
<?php if(isset($etablissement->photo) && strlen($etablissement->photo)): ?> | |||
<!--<img class="img-back" width="200px" height="auto" src="./uploads/<?= $etablissement->photo ?>" />--> | |||
<?php endif; ?> | |||
<div class="col-md-6"> | |||
<h2>Connexion</h2> | |||
<?php $form = ActiveForm::begin(['id' => 'login-form','enableClientValidation'=> false]); ?> | |||
<?= $form->field($model_login, 'email') ?> | |||
<?= $form->field($model_login, 'password')->passwordInput() ?> | |||
<?= $form->field($model_login, 'rememberMe')->checkbox() ?> | |||
<p> | |||
Si vous avez oublié votre mot de passe, vous pouvez le <?= Html::a('réinitialiser', ['site/request-password-reset']) ?>. | |||
</p> | |||
<div class="form-group"> | |||
<?= Html::submitButton('Connexion', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?> | |||
</div> | |||
<?php ActiveForm::end(); ?> | |||
</div> | |||
<div class="col-md-6"> | |||
<h2>Inscription</h2> | |||
<?php $form = ActiveForm::begin(['id' => 'form-signup','enableClientValidation'=> false]); ?> | |||
<?= $form->field($model_signup, 'email') ?> | |||
<?= $form->field($model_signup, 'password')->passwordInput() ?> | |||
<?= $form->field($model_signup, 'nom') ?> | |||
<?= $form->field($model_signup, 'prenom') ?> | |||
<?= $form->field($model_signup, 'telephone') ?> | |||
<?php //$form->field($model, 'is_boulanger')->checkbox() ?> | |||
<?php if(strlen($etablissement->code)): ?> | |||
<?= $form->field($model_signup, 'code',[ | |||
'inputTemplate' => '<div class="input-group"><span class="input-group-addon"><span class="glyphicon glyphicon-lock"></span></span>{input}</div>', | |||
]) | |||
->label('Code') | |||
->hint('Renseignez-vous auprès de votre producteur pour qu\'il vous fournisse le code d\'accès') ; ?> | |||
<?php endif; ?> | |||
<div class="form-group" id="boutons-inscrire"> | |||
<?= Html::submitButton("S'inscrire", ['class' => 'btn btn-primary', 'name' => 'signup-button']) ?> | |||
</div> | |||
<?php ActiveForm::end(); ?> | |||
</div> | |||
</div> |
@@ -1266,6 +1266,15 @@ h2 { | |||
color: black; | |||
} | |||
/* line 667, ../sass/_systeme_commandes.scss */ | |||
#page-etablissement h1 { | |||
font-size: 40px; | |||
} | |||
/* line 670, ../sass/_systeme_commandes.scss */ | |||
#page-etablissement .info { | |||
text-align: center; | |||
} | |||
@media screen and (max-width: 1000px) { | |||
/* line 3, ../sass/_responsive.scss */ | |||
#content { |
@@ -661,4 +661,13 @@ h2 { | |||
} | |||
} | |||
#page-etablissement { | |||
h1 { | |||
font-size: 40px ; | |||
} | |||
.info { | |||
text-align: center ; | |||
} | |||
} |