Browse Source

Adaptations refactoring/traduction frontend/controllers/SiteController

dev
Guillaume Bourgeois 6 years ago
parent
commit
7588486561
1 changed files with 51 additions and 49 deletions
  1. +51
    -49
      frontend/controllers/SiteController.php

+ 51
- 49
frontend/controllers/SiteController.php View File

namespace frontend\controllers; namespace frontend\controllers;


use Yii; use Yii;
use common\models\Produit;
use common\models\Product;
use common\models\LoginForm; use common\models\LoginForm;
use common\models\Etablissement;
use common\models\Producer;
use frontend\models\PasswordResetRequestForm; use frontend\models\PasswordResetRequestForm;
use frontend\models\ResetPasswordForm; use frontend\models\ResetPasswordForm;
use frontend\models\SignupForm; use frontend\models\SignupForm;
use yii\filters\AccessControl; use yii\filters\AccessControl;
use yii\helpers\Html; use yii\helpers\Html;
use frontend\controllers\FrontendController; use frontend\controllers\FrontendController;
use common\models\UserEtablissement;
use common\models\UserProducer;
use dosamigos\leaflet\types\LatLng; use dosamigos\leaflet\types\LatLng;
use dosamigos\leaflet\layers\Marker; use dosamigos\leaflet\layers\Marker;
use dosamigos\leaflet\layers\TileLayer; use dosamigos\leaflet\layers\TileLayer;
{ {
$exception = Yii::$app->errorHandler->exception; $exception = Yii::$app->errorHandler->exception;
if($exception->getMessage() == 'Établissement introuvable' || Yii::$app->getRequest()->getQueryParam('producer_not_found')) {
if($exception->getMessage() == 'Producteur introuvable' || Yii::$app->getRequest()->getQueryParam('producer_not_found')) {
return $this->render('error-404-producer', ['exception' => $exception]); return $this->render('error-404-producer', ['exception' => $exception]);
} }
*/ */
public function actionProducers() public function actionProducers()
{ {
$data_provider_producers = new ActiveDataProvider([
'query' => Etablissement::find()
$dataProviderProducers = new ActiveDataProvider([
'query' => Producer::find()
->where([ ->where([
'actif' => true,
'active' => true,
]) ])
->orderBy('nom ASC'),
->orderBy('name ASC'),
'pagination' => [ 'pagination' => [
'pageSize' => 100, 'pageSize' => 100,
], ],
]); ]);
return $this->render('producers',[ return $this->render('producers',[
'data_provider_producers' => $data_provider_producers
'dataProviderProducers' => $dataProviderProducers
]); ]);
} }




$model = new LoginForm(); $model = new LoginForm();
if ($model->load(Yii::$app->request->post()) && $model->login()) { if ($model->load(Yii::$app->request->post()) && $model->login()) {
$return_url = Yii::$app->request->get('return_url');
if($return_url){
return $this->redirect($return_url);
$returnUrl = Yii::$app->request->get('return_url');
if($returnUrl){
return $this->redirect($returnUrl);
} }
else { else {
return $this->goBack(); return $this->goBack();
} }
} else { } else {
return $this->render('@frontend/views/site/login', [ return $this->render('@frontend/views/site/login', [
'model' => $model,
'model' => $model,
]); ]);
} }
} }
} }


// liste des établissements disponibles // liste des établissements disponibles
$etablissements = Etablissement::getEtablissementsPopulateDropdown();
$data_etablissements_dispos = $etablissements['data'];
$options_etablissements_dispos = $etablissements['options'];
$producersArray = Producer::getProducerPopulateDropdown() ;
$dataProducers = $producersArray['data'];
$optionsProducers = $producersArray['options'];


return $this->render('signup', [ return $this->render('signup', [
'model' => $model,
'data_etablissements_dispos' => $data_etablissements_dispos,
'options_etablissements_dispos' => $options_etablissements_dispos,
'model' => $model,
'dataProducers' => $dataProducers,
'optionsProducers' => $optionsProducers,
]); ]);
} }


} }


/** /**
* Affiche les précisions concernant l'utilisation du crédit pain.
* @return type
* Affiche les précisions concernant l'utilisation du crédit.
*
* @return string
*/ */
public function actionCreditpain()
public function actionCredit()
{ {
return $this->render('creditpain');
return $this->render('credit');
} }
/** /**
*/ */
public function actionProducerCode($id) public function actionProducerCode($id)
{ {
$producer = Producer::searchOne($id);
$producer = Etablissement::findOne($id);
if(!$producer)
throw new \yii\web\HttpException(404, 'Établissement introuvable');
$model_producer_code = new ProducerCodeForm ;
$model_producer_code->id_producer = $id ;
if(!$producer) {
throw new \yii\web\HttpException(404, 'Producteur introuvable');
}
$producerCodeForm = new ProducerCodeForm ;
$producerCodeForm->id_producer = $id ;
if($model_producer_code->load(Yii::$app->request->post()) && $model_producer_code->validate()) {
Etablissement::addUser(Yii::$app->user->id, $id) ;
if($producerCodeForm->load(Yii::$app->request->post()) && $producerCodeForm->validate()) {
Producer::addUser(User::getId(), $id) ;
$this->redirect(Yii::$app->urlManagerProducer->createAbsoluteUrl(['site/index','slug_producer' => $producer->slug])); $this->redirect(Yii::$app->urlManagerProducer->createAbsoluteUrl(['site/index','slug_producer' => $producer->slug]));
} }
return $this->render('producer_code',[ return $this->render('producer_code',[
'producer' => $producer, 'producer' => $producer,
'model_producer_code' => $model_producer_code,
'producerCodeForm' => $producerCodeForm,
]) ; ]) ;
} }


*/ */
public function actionProducer($id) public function actionProducer($id)
{ {
$model_login = new LoginForm();
$model_signup = new SignupForm();
$loginForm = new LoginForm();
$signupForm = new SignupForm();
$etablissement = Etablissement::findOne($id);
$producer = Producer::searchOne($id);
$model_login->id_etablissement = $id;
$model_signup->id_etablissement = $id;
$model_signup->option_client_boulanger = 'client';
$loginForm->id_producer = $id;
$signupForm->id_producer = $id;
$signupForm->option_user_producer = 'user';
$return_url = Yii::$app->request->get('return_url', Yii::$app->urlManagerProducer->createAbsoluteUrl(['site/index','slug_producer' => $etablissement->slug]));
$returnUrl = Yii::$app->request->get('returnUrl', Yii::$app->urlManagerProducer->createAbsoluteUrl(['site/index','slug_producer' => $producer->slug]));
if (Yii::$app->user->isGuest) { if (Yii::$app->user->isGuest) {
if ($model_login->load(Yii::$app->request->post()) && $model_login->login()) {
Etablissement::addUser(Yii::$app->user->id, $id) ;
$this->redirect($return_url);
if ($loginForm->load(Yii::$app->request->post()) && $loginForm->login()) {
Producer::addUser(User::getId(), $id) ;
$this->redirect($returnUrl);
} }


if ($model_signup->load(Yii::$app->request->post())) {
if ($user = $model_signup->signup()) {
if ($signupForm->load(Yii::$app->request->post())) {
if ($user = $signupForm->signup()) {
if (Yii::$app->getUser()->login($user)) { if (Yii::$app->getUser()->login($user)) {
$this->redirect($return_url);
$this->redirect($returnUrl);
} }
} }
} }
} else { } else {
$this->redirect($return_url);
$this->redirect($returnUrl);
} }


return $this->render('producer', [ return $this->render('producer', [
'model_login' => $model_login,
'model_signup' => $model_signup,
'etablissement' => $etablissement,
'loginForm' => $loginForm,
'signupForm' => $signupForm,
'producer' => $producer,
]); ]);
} }



Loading…
Cancel
Save