@@ -47,13 +47,13 @@ use yii\web\NotFoundHttpException; | |||
use yii\filters\VerbFilter; | |||
use yii\filters\AccessControl; | |||
use common\helpers\Upload; | |||
use common\models\Etablissement; | |||
use common\models\Facture; | |||
use common\models\Producer; | |||
use common\models\Invoice; | |||
/** | |||
* UserController implements the CRUD actions for User model. | |||
*/ | |||
class EtablissementController extends BackendController | |||
class ProducerController extends BackendController | |||
{ | |||
public $enableCsrfValidation = false; | |||
@@ -74,8 +74,7 @@ class EtablissementController extends BackendController | |||
'allow' => true, | |||
'roles' => ['@'], | |||
'matchCallback' => function ($rule, $action) { | |||
return Yii::$app->user->identity->status == USER::STATUS_ADMIN | |||
|| Yii::$app->user->identity->status == USER::STATUS_BOULANGER; | |||
return User::hasAccessBackend(); | |||
} | |||
] | |||
], | |||
@@ -84,29 +83,29 @@ class EtablissementController extends BackendController | |||
} | |||
/** | |||
* Modifie un établissement. | |||
* Modifie un producteur. | |||
* | |||
* @return mixed | |||
*/ | |||
public function actionUpdate() | |||
{ | |||
$request = Yii::$app->request; | |||
$model = $this->findModel(Yii::$app->user->identity->id_etablissement); | |||
$logo_filename_old = $model->logo; | |||
$photo_filename_old = $model->photo; | |||
$model = $this->findModel(Producer::getId()); | |||
$logoFilenameOld = $model->logo; | |||
$photoFilenameOld = $model->photo; | |||
if ($model->load(Yii::$app->request->post()) && $model->save()) { | |||
Upload::uploadFile($model, 'logo', $logo_filename_old); | |||
Upload::uploadFile($model, 'photo', $photo_filename_old); | |||
Upload::uploadFile($model, 'logo', $logoFilenameOld); | |||
Upload::uploadFile($model, 'photo', $photoFilenameOld); | |||
$delete_logo = $request->post('delete_logo', 0); | |||
if ($delete_logo) { | |||
$deleteLogo = $request->post('delete_logo', 0); | |||
if ($deleteLogo) { | |||
$model->logo = ''; | |||
$model->save(); | |||
} | |||
$delete_photo = $request->post('delete_photo', 0); | |||
if ($delete_photo) { | |||
$deletePhoto = $request->post('delete_photo', 0); | |||
if ($deletePhoto) { | |||
$model->photo = ''; | |||
$model->save(); | |||
} | |||
@@ -114,7 +113,7 @@ class EtablissementController extends BackendController | |||
return $this->redirect(['update', 'id' => $model->id, 'edit_ok' => true]); | |||
} else { | |||
return $this->render('update', [ | |||
'model' => $model, | |||
'model' => $model, | |||
]); | |||
} | |||
} | |||
@@ -125,30 +124,31 @@ class EtablissementController extends BackendController | |||
* | |||
* @return mixed | |||
*/ | |||
public function actionFacturation() | |||
public function actionBilling() | |||
{ | |||
$datas_factures = new ActiveDataProvider([ | |||
'query' => Facture::find() | |||
->where(['id_etablissement' => Yii::$app->user->identity->id_etablissement]) | |||
$datasInvoices = new ActiveDataProvider([ | |||
'query' => Invoice::find() | |||
->where(['id_producer' => Producer::getId()]) | |||
->orderBy('reference DESC'), | |||
'pagination' => [ | |||
'pageSize' => 1000, | |||
], | |||
]); | |||
$etablissement = Etablissement::findOne(Yii::$app->user->identity->id_etablissement); | |||
$producer = Producer::findOne(Producer::getId()); | |||
if ($etablissement->load(Yii::$app->request->post())) { | |||
$etablissement->save(); | |||
if ($producer->load(Yii::$app->request->post())) { | |||
$producer->save(); | |||
if (!is_null($etablissement->prix_libre)) | |||
$alert_prix_libre = true; | |||
if (!is_null($producer->free_price)) { | |||
$alertFreeprice = true; | |||
} | |||
} | |||
return $this->render('facturation', [ | |||
'datas_factures' => $datas_factures, | |||
'etablissement' => $etablissement, | |||
'alert_prix_libre' => (isset($alert_prix_libre)) ? true : false | |||
return $this->render('billing', [ | |||
'datasInvoices' => $datasInvoices, | |||
'producer' => $producer, | |||
'alertFreePrice' => (isset($alertFreeprice)) ? true : false | |||
]); | |||
} | |||
@@ -161,7 +161,7 @@ class EtablissementController extends BackendController | |||
*/ | |||
protected function findModel($id) | |||
{ | |||
if (($model = Etablissement::findOne($id)) !== null) { | |||
if (($model = Producer::findOne($id)) !== null) { | |||
return $model; | |||
} else { | |||
throw new NotFoundHttpException('The requested page does not exist.'); |
@@ -39,7 +39,7 @@ termes. | |||
use yii\helpers\Html; | |||
use yii\grid\GridView; | |||
use common\models\User ; | |||
use common\models\Etablissement ; | |||
use common\models\Producer ; | |||
use yii\bootstrap\ActiveForm; | |||
$this->title = 'Mon abonnement'; | |||
@@ -55,9 +55,7 @@ $this->params['breadcrumbs'][] = $this->title; | |||
C'est pourquoi le modèle économique est basé sur un prix libre facturé mensuellement.<br /> | |||
</p> | |||
<div id="estimation-facture" class=""> | |||
<div id="free-price" class=""> | |||
<?php if($alert_prix_libre): ?> | |||
<div class="alert alert-success"> | |||
@@ -98,7 +96,7 @@ $this->params['breadcrumbs'][] = $this->title; | |||
<!-- | |||
<h2>Dernières factures</h2> | |||
<?= GridView::widget([ | |||
'dataProvider' => $datas_factures, | |||
'dataProvider' => $datasInvoices, | |||
'columns' => [ | |||
[ | |||
'attribute' => 'reference', | |||
@@ -115,7 +113,7 @@ $this->params['breadcrumbs'][] = $this->title; | |||
'attribute' => 'montant_ht', | |||
'label' => 'Montant', | |||
'value' => function($model) { | |||
return number_format($model->montant_ht,2).' €' ; | |||
return number_format($model->amount_ht,2).' €' ; | |||
} | |||
], | |||
[ | |||
@@ -123,7 +121,7 @@ $this->params['breadcrumbs'][] = $this->title; | |||
'label' => 'Payé', | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
if($model->paye) | |||
if($model->paid) | |||
{ | |||
return '<span class="label label-success">Oui</span>' ; | |||
} |
@@ -51,26 +51,26 @@ $this->params['breadcrumbs'][] = 'Paramètres'; | |||
<div class="user-form"> | |||
<?php $form = ActiveForm::begin(); ?> | |||
<div class=""> | |||
<?= $form->field($model, 'actif') | |||
<?= $form->field($model, 'active') | |||
->dropDownList([ | |||
0 => 'Non', | |||
1 => 'Oui' | |||
], []) | |||
->label('Activer le producteur') | |||
->hint('Activez cette option pour rendre votre établissement visible à vos clients.') ; ?> | |||
<?= $form->field($model, 'nom') ?> | |||
<?= $form->field($model, 'name') ?> | |||
<?= $form->field($model, 'type') ?> | |||
<?= $form->field($model, 'description') | |||
->textarea(['rows' => 6]) | |||
->hint('Affiché sur la page d\'accueil') ?> | |||
<?= $form->field($model, 'code_postal') ?> | |||
<?= $form->field($model, 'ville') ?> | |||
<?= $form->field($model, 'postcode') ?> | |||
<?= $form->field($model, 'city') ?> | |||
<?= $form->field($model, 'code')->hint("Saisissez ce champs si vous souhaitez protéger l'accès à votre boutique par un code, sinon laissez-le vide.<br />" | |||
. "Ce code est à communiquer à vos client pour qu'ils puissent ajouter votre établissement à leur tableau de bord.<br />" | |||
. "<a href=\"".Yii::$app->urlManager->createUrl(['communiquer/index'])."\">Cliquez ici</a> pour télécharger un mode d'emploi comprenant ce code à distribuer à vos clients.") ?> | |||
. "<a href=\"".Yii::$app->urlManager->createUrl(['communicate/index'])."\">Cliquez ici</a> pour télécharger un mode d'emploi comprenant ce code à distribuer à vos clients.") ?> | |||
<?= $form->field($model, 'delai_commande') | |||
<?= $form->field($model, 'order_delay') | |||
->dropDownList([ | |||
1 => '1 jour', | |||
2 => '2 jours', | |||
@@ -82,7 +82,7 @@ $this->params['breadcrumbs'][] = 'Paramètres'; | |||
], []) | |||
->hint('Si <strong>1 jour</strong> est sélectionné, le client pourra commander jusqu\'à la veille de la production.<br />' | |||
. 'Si <strong>2 jours</strong> est sélectionné, le client pourra commander jusqu\'à l\'avant-veille de la production, etc.') ; ?> | |||
<?= $form->field($model, 'heure_limite_commande') | |||
<?= $form->field($model, 'order_deadline') | |||
->dropDownList([ | |||
24 => 'Minuit', | |||
23 => '23h', | |||
@@ -106,15 +106,15 @@ $this->params['breadcrumbs'][] = 'Paramètres'; | |||
. 'Par exemple, si <strong>2 jours</strong> est sélectionné dans le délai de commande, le client devra commander l\'avant-veille de la production avant l\'heure précisée ici.') ; ?> | |||
<?= $form->field($model, 'credit_pain') | |||
<?= $form->field($model, 'credit') | |||
->dropDownList([ | |||
0 => 'Non', | |||
1 => 'Oui', | |||
], []) | |||
->label('Activer le système de Crédit Pain') | |||
->hint('Le système de Crédit Pain permet à vos clients d\'avoir un compte prépayé sur le site <em>La boîte à pain</em>.<br />' | |||
. 'Ils créditent leur compte en vous donnant la somme de leur choix et c\'est ensuite à vous de '.Html::a('mettre à jour', ['user/index']).' leur compte Crédit Pain en ligne.<br />' | |||
. 'Ceci fait, les clients paient leur commande directement via leur compte Crédit Pain.') ; ?> | |||
->label('Activer le système de Crédit') | |||
->hint('Le système de Crédit permet à vos clients d\'avoir un compte prépayé sur le site <em>La boîte à pain</em>.<br />' | |||
. 'Ils créditent leur compte en vous donnant la somme de leur choix et c\'est ensuite à vous de '.Html::a('mettre à jour', ['user/index']).' leur Crédit en ligne.<br />' | |||
. 'Ceci fait, les clients paient leur commande directement via leur Crédit.') ; ?> | |||
<?= $form->field($model, 'photo')->fileInput() ?> | |||
<?php | |||
@@ -125,7 +125,7 @@ $this->params['breadcrumbs'][] = 'Paramètres'; | |||
} | |||
?> | |||
<?= $form->field($model, 'infos_commande') | |||
<?= $form->field($model, 'order_infos') | |||
->textarea(['rows' => 6]) | |||
->hint('Affichées au client lors de sa commande')?> | |||