# Conflicts: # common/web/.sass-cache/6c26416e9ff85d1d880c50b5640482ab6b7e4878/screen.scsscrefactoring
@@ -314,31 +314,6 @@ a { | |||
.date { | |||
text-align: center ; | |||
.block-date { | |||
width: 50% ; | |||
margin: 0px auto ; | |||
padding-top: 0px ; | |||
} | |||
.day { | |||
text-transform: capitalize ; | |||
line-height: 13px ; | |||
font-size: 10px ; | |||
text-transform: uppercase ; | |||
} | |||
.num { | |||
font-size: 23px ; | |||
line-height: 28px ; | |||
font-weight: bold ; | |||
} | |||
.month { | |||
text-transform: uppercase ; | |||
line-height: 13px ; | |||
font-size: 15px ; | |||
} | |||
} | |||
} | |||
} |
@@ -76,6 +76,12 @@ class CreditHistorySearch extends CreditHistory | |||
if (!$this->validate()) { | |||
return $dataProvider; | |||
} | |||
if(isset($this->id_user) && is_numeric($this->id_user)) { | |||
$query->andWhere([ | |||
'credit_history.id_user' => $this->id_user | |||
]) ; | |||
} | |||
return $dataProvider; | |||
} |
@@ -624,4 +624,34 @@ class Order extends ActiveRecordCommon | |||
return false ; | |||
} | |||
/** | |||
* Retourne le nombre de produits commandés | |||
* | |||
* @return integer | |||
*/ | |||
public function countProducts() | |||
{ | |||
$count = 0 ; | |||
if($this->productOrder && is_array($this->productOrder)) { | |||
foreach($this->productOrder as $productOrder) { | |||
$count += $productOrder->quantity ; | |||
} | |||
} | |||
return $count ; | |||
} | |||
/** | |||
* Retourne un bloc html présentant une date. | |||
* | |||
* @return string | |||
*/ | |||
public function getBlockDate() | |||
{ | |||
return '<div class="block-date"> | |||
<div class="day">'.strftime('%A', strtotime($this->distribution->date)).'</div> | |||
<div class="num">'.date('d', strtotime($this->distribution->date)).'</div> | |||
<div class="month">'.strftime('%B', strtotime($this->distribution->date)).'</div> | |||
</div>' ; | |||
} | |||
} |
@@ -61,8 +61,9 @@ class SubscriptionSearch extends Subscription | |||
$query = Subscription::find() | |||
->with($optionsSearch['with']) | |||
->innerJoinWith($optionsSearch['join_with'], true) | |||
->where(['subscription.id_producer' => Producer::getId()]) | |||
->joinWith($optionsSearch['join_with'], true) | |||
->where(['subscription.id_producer' => Producer::getId()]) | |||
->groupBy('subscription.id') | |||
; | |||
$dataProvider = new \yii\data\ActiveDataProvider([ |
@@ -1,8 +1,8 @@ | |||
@charset "UTF-8"; | |||
/** | |||
Copyright La boîte à pain (2018) | |||
Copyright distrib (2018) | |||
contact@laboiteapain.net | |||
contact@opendistrib.net | |||
Ce logiciel est un programme informatique servant à aider les producteurs | |||
à distribuer leur production en circuits courts. |
@@ -1,8 +1,8 @@ | |||
@charset "UTF-8"; | |||
/** | |||
Copyright La boîte à pain (2018) | |||
Copyright distrib (2018) | |||
contact@laboiteapain.net | |||
contact@opendistrib.net | |||
Ce logiciel est un programme informatique servant à aider les producteurs | |||
à distribuer leur production en circuits courts. |
@@ -1,8 +1,8 @@ | |||
@charset "UTF-8"; | |||
/** | |||
Copyright La boîte à pain (2018) | |||
Copyright distrib (2018) | |||
contact@laboiteapain.net | |||
contact@opendistrib.net | |||
Ce logiciel est un programme informatique servant à aider les producteurs | |||
à distribuer leur production en circuits courts. | |||
@@ -35,9 +35,9 @@ pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||
termes. | |||
*/ | |||
/** | |||
Copyright La boîte à pain (2018) | |||
Copyright distrib (2018) | |||
contact@laboiteapain.net | |||
contact@opendistrib.net | |||
Ce logiciel est un programme informatique servant à aider les producteurs | |||
à distribuer leur production en circuits courts. | |||
@@ -83,3 +83,29 @@ termes. | |||
font-weight: normal; | |||
font-style: normal; | |||
} | |||
/* line 2, ../sass/_common.scss */ | |||
.block-date { | |||
margin: 0px auto; | |||
padding-top: 0px; | |||
text-align: center; | |||
} | |||
/* line 7, ../sass/_common.scss */ | |||
.block-date .day { | |||
text-transform: capitalize; | |||
line-height: 15px; | |||
font-size: 13px; | |||
text-transform: uppercase; | |||
} | |||
/* line 14, ../sass/_common.scss */ | |||
.block-date .num { | |||
font-size: 30px; | |||
line-height: 35px; | |||
font-weight: bold; | |||
} | |||
/* line 20, ../sass/_common.scss */ | |||
.block-date .month { | |||
text-transform: uppercase; | |||
line-height: 15px; | |||
font-size: 13px; | |||
color: #e67200; | |||
} |
@@ -0,0 +1,26 @@ | |||
.block-date { | |||
margin: 0px auto ; | |||
padding-top: 0px ; | |||
text-align: center ; | |||
.day { | |||
text-transform: capitalize ; | |||
line-height: 15px ; | |||
font-size: 13px ; | |||
text-transform: uppercase ; | |||
} | |||
.num { | |||
font-size: 30px ; | |||
line-height: 35px ; | |||
font-weight: bold ; | |||
} | |||
.month { | |||
text-transform: uppercase ; | |||
line-height: 15px ; | |||
font-size: 13px ; | |||
color: darken($color1, 5) ; | |||
} | |||
} |
@@ -34,5 +34,7 @@ pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||
termes. | |||
*/ | |||
$color1: #FF7F00 ; | |||
$dir-fonts: '../fonts/' ; | |||
@import "_fonts.scss" ; | |||
@import "_fonts.scss" ; | |||
@import "_common.scss" ; |
@@ -70,6 +70,7 @@ class CreditController extends ProducerBaseController | |||
public function actionHistory($returnPayment = '') | |||
{ | |||
$searchModel = new CreditHistorySearch() ; | |||
$searchModel->id_user = User::getCurrentId() ; | |||
$dataProvider = $searchModel->search(Yii::$app->request->queryParams); | |||
$userProducer = UserProducer::searchOne([ |
@@ -179,7 +179,7 @@ class OrderController extends ProducerBaseController | |||
} | |||
} | |||
return ['status' => 'success'] ; | |||
return ['status' => 'success', 'idOrder' => $order->id] ; | |||
} | |||
/** | |||
@@ -572,5 +572,18 @@ class OrderController extends ProducerBaseController | |||
return $json ; | |||
} | |||
public function actionConfirm($idOrder) | |||
{ | |||
$order = Order::searchOne(['id' => $idOrder]) ; | |||
if(!$order || $order->id_user != User::getCurrentId()) { | |||
throw new \yii\base\UserException('Commande introuvable.') ; | |||
} | |||
return $this->render('confirm',[ | |||
'order' => $order | |||
]) ; | |||
} | |||
} | |||
@@ -151,7 +151,11 @@ if(!Yii::$app->user->isGuest) { | |||
$credit = ' <span class="label label-'.$labelType.'">'.number_format($userProducer->credit, 2).' €</span>' ; | |||
} | |||
$countSubcriptions = Subscription::searchCount(['subscription.id_user' => User::getCurrentId()]) ; | |||
$countSubcriptions = Subscription::find() | |||
->where([ | |||
'subscription.id_user' => User::getCurrentId(), | |||
'subscription.id_producer' => Producer::getId(), | |||
])->count() ; | |||
$labelSubscription = $countSubcriptions > 0 ? 'success' : 'default' ; | |||
$countOrders = Order::find() | |||
@@ -257,10 +261,10 @@ if(!Yii::$app->user->isGuest) { | |||
<div class="container"> | |||
<div class="overflow"></div> | |||
<div class="content"> | |||
<a href="<?php echo Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/index']) ; ?>">distrib</a> | |||
<a href="<?php echo Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/mentions']) ; ?>">Mentions légales</a> | |||
<a href="<?php echo Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/cgv']) ; ?>">CGS</a> | |||
<a id="code-source" href="https://framagit.org/guillaume-bourgeois/laboiteapain">Code source <img src="<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/img/logo-framagit.png" alt="Hébergé par Framasoft" /> <img src="<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/img/logo-gitlab.png" alt="Propulsé par Gitlab" /></a> | |||
<a href="<?php echo Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/index']) ; ?>">distrib</a> • | |||
<a href="<?php echo Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/mentions']) ; ?>">Mentions légales</a> • | |||
<a href="<?php echo Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/cgv']) ; ?>">CGS</a> • | |||
<a id="code-source" href="https://framagit.org/guillaume-bourgeois/distrib">Code source <img src="<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/img/logo-framagit.png" alt="Hébergé par Framasoft" /> <img src="<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/img/logo-gitlab.png" alt="Propulsé par Gitlab" /></a> | |||
</div> | |||
</div> | |||
</footer> |
@@ -0,0 +1,70 @@ | |||
<?php | |||
/** | |||
Copyright distrib (2018) | |||
contact@opendistrib.net | |||
Ce logiciel est un programme informatique servant à aider les producteurs | |||
à distribuer leur production en circuits courts. | |||
Ce logiciel est régi par la licence CeCILL soumise au droit français et | |||
respectant les principes de diffusion des logiciels libres. Vous pouvez | |||
utiliser, modifier et/ou redistribuer ce programme sous les conditions | |||
de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA | |||
sur le site "http://www.cecill.info". | |||
En contrepartie de l'accessibilité au code source et des droits de copie, | |||
de modification et de redistribution accordés par cette licence, il n'est | |||
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, | |||
seule une responsabilité restreinte pèse sur l'auteur du programme, le | |||
titulaire des droits patrimoniaux et les concédants successifs. | |||
A cet égard l'attention de l'utilisateur est attirée sur les risques | |||
associés au chargement, à l'utilisation, à la modification et/ou au | |||
développement et à la reproduction du logiciel par l'utilisateur étant | |||
donné sa spécificité de logiciel libre, qui peut le rendre complexe à | |||
manipuler et qui le réserve donc à des développeurs et des professionnels | |||
avertis possédant des connaissances informatiques approfondies. Les | |||
utilisateurs sont donc invités à charger et tester l'adéquation du | |||
logiciel à leurs besoins dans des conditions permettant d'assurer la | |||
sécurité de leurs systèmes et ou de leurs données et, plus généralement, | |||
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. | |||
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez | |||
pris connaissance de la licence CeCILL, et que vous en avez accepté les | |||
termes. | |||
*/ | |||
use common\models\Order ; | |||
$this->setPageTitle('Confirmation de commande') ; | |||
?> | |||
<div id="order-success"> | |||
<div class="alert alert-success"> | |||
<span class="glyphicon glyphicon-ok glyphicon-big"></span> | |||
<div class="content"> | |||
<h3>Votre commande a bien été prise en compte</h3> | |||
<a href="<?= Yii::$app->urlManagerProducer->createUrl(['order/history']) ?>" class="btn btn-default"> | |||
<span class="glyphicon glyphicon-chevron-right"></span> | |||
Voir toutes mes commandes | |||
</a> | |||
</div> | |||
<div class="clr"></div> | |||
</div> | |||
<div class="alert alert-info"> | |||
<span class="glyphicon glyphicon-list-alt glyphicon-big"></span> | |||
<div class="content"> | |||
<h3>Récapitulatif de votre commande</h3> | |||
<ul> | |||
<li><span class="glyphicon glyphicon-time"></span><?= date('d/m/Y',strtotime($order->distribution->date)) ?></li> | |||
<li><span class="glyphicon glyphicon-map-marker"></span><?= Html::encode($order->pointSale->name) ?><?php if(strlen($order->pointSale->name)): ?> <span class="locality">à <?= Html::encode($order->pointSale->locality) ?></span><?php endif; ?></li> | |||
<li><span class="glyphicon glyphicon-th-list"></span><?= $order->countProducts(); ?> produit<?php if($order->countProducts() > 1): ?>s<?php endif; ?></li> | |||
<li><span class="glyphicon glyphicon-chevron-right"></span><?= $order->getAmount(Order::AMOUNT_TOTAL, true); ?></li> | |||
</ul> | |||
</div> | |||
<div class="clr"></div> | |||
</div> | |||
</div> |
@@ -40,6 +40,7 @@ use yii\bootstrap\ActiveForm; | |||
use common\models\Order ; | |||
$this->setTitle('Mes commandes') ; | |||
$this->addButton(['label' => '<span class="glyphicon glyphicon-plus"></span> Ajouter', 'url' => 'order/order', 'class' => 'btn btn-primary']) ; | |||
?> | |||
@@ -83,22 +84,23 @@ GridView::widget([ | |||
[ | |||
'attribute' => 'distribution.date', | |||
'label' => 'Date de livraison', | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
return date('d/m/Y', strtotime($model->distribution->date)) ; | |||
return $model->getBlockDate() ; | |||
} | |||
], | |||
[ | |||
'label' => 'Résumé', | |||
'label' => 'Point de vente', | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
return $model->getCartSummary(); | |||
return $model->getPointSaleSummary(); | |||
} | |||
], | |||
[ | |||
'label' => 'Point de vente', | |||
'label' => 'Résumé', | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
return $model->getPointSaleSummary(); | |||
return $model->getCartSummary(); | |||
} | |||
], | |||
[ | |||
@@ -122,33 +124,34 @@ GridView::widget([ | |||
} | |||
else { | |||
if($c->getState() == Order::STATE_DELIVERED) { | |||
$html .= 'Livrée' ; | |||
$html .= '<span class="label label-success">Livrée</span>' ; | |||
} | |||
elseif($c->getState() == Order::STATE_PREPARATION) { | |||
$html .= 'En préparation' ; | |||
$html .= '<span class="label label-warning">En préparation</span>' ; | |||
} | |||
elseif($c->getState() == Order::STATE_OPEN) { | |||
$link_subscription = ($c->id_subscription) ? '<li><a href="'.Yii::$app->urlManagerProducer->createUrl(['subscription/form','id'=>$c->id_subscription]).'"><span class="glyphicon glyphicon-repeat"></span> Modifier mon abonnement</a></li>' : '' ; | |||
$html .= '<div class="btn-group"> | |||
<a href="'.Yii::$app->urlManager->createUrl(['order/order','id'=>$c->id]).'" class="btn btn-default"><span class="glyphicon glyphicon-pencil"></span> Modifier</a> | |||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> | |||
<span class="caret"></span> | |||
<span class="sr-only">Toggle Dropdown</span> | |||
</button> | |||
<ul class="dropdown-menu" role="menu"> | |||
'.$link_subscription.' | |||
<li><a href="'.Yii::$app->urlManager->createUrl(['order/cancel','id'=>$c->id]).'"><span class="glyphicon glyphicon-trash"></span> Annuler la commande</a></li> | |||
</ul> | |||
</div>' ; | |||
$html .= '<span class="label label-default">À venir</span>' ; | |||
} | |||
} | |||
return $html ; | |||
} | |||
], | |||
[ | |||
'label' => 'Actions', | |||
'format' => 'raw', | |||
'value' => function($c) { | |||
$html = '' ; | |||
if($c->getState() == Order::STATE_OPEN) { | |||
$html .= '<a href="'.Yii::$app->urlManager->createUrl(['order/order','id'=>$c->id]).'" class="btn btn-default"><span class="glyphicon glyphicon-pencil"></span></a> '. | |||
'<a href="'.Yii::$app->urlManager->createUrl(['order/cancel','id'=>$c->id]).'" class="btn btn-default"><span class="glyphicon glyphicon-trash"></span></a> '. | |||
(($c->id_subscription) ? '<a href="'.Yii::$app->urlManagerProducer->createUrl(['subscription/form','id'=>$c->id_subscription]).'" class="btn btn-default"><span class="glyphicon glyphicon-repeat"></span></a>' : '') ; | |||
} | |||
return $html ; | |||
} | |||
] | |||
] | |||
]); | |||
@@ -46,31 +46,8 @@ $this->setTitle('Commander') ; | |||
<?php if(isset($order)): ?> | |||
<span id="order-distribution-date"><?= $order->distribution->date; ?></span> | |||
<?php endif; ?> | |||
<div v-if="orderSuccess" id="order-success"> | |||
<div class="alert alert-success"> | |||
<span class="glyphicon glyphicon-ok glyphicon-big"></span> | |||
<div class="content"> | |||
<h3>Votre commande a bien été prise en compte</h3> | |||
<a href="<?= Yii::$app->urlManagerProducer->createUrl(['order/history']) ?>" class="btn btn-default"> | |||
<span class="glyphicon glyphicon-chevron-right"></span> | |||
Voir toutes mes commandes | |||
</a> | |||
</div> | |||
<div class="clr"></div> | |||
</div> | |||
<div class="alert alert-info"> | |||
<span class="glyphicon glyphicon-list-alt glyphicon-big"></span> | |||
<div class="content"> | |||
<h3>Récapitulatif de votre commande</h3> | |||
<ul> | |||
<li><span class="glyphicon glyphicon-time"></span> {{ dateFormat }}</li> | |||
<li><span class="glyphicon glyphicon-map-marker"></span> {{ pointSaleActive.name }} <span class="locality" v-if="pointSaleActive.locality.length > 0">à {{ pointSaleActive.locality }}</span></li> | |||
<li><span class="glyphicon glyphicon-th-list"></span> {{ countProductOrdered() }} produits</li> | |||
<li><span class="glyphicon glyphicon-chevron-right"></span> {{ priceTotal(true) }}</li> | |||
</ul> | |||
</div> | |||
<div class="clr"></div> | |||
</div> | |||
<div v-if="loadingInit && distributions.length == 0" class="alert alert-warning"> | |||
Aucune distribution n'est prévue chez ce producteur. | |||
</div> | |||
<div v-else> | |||
<div :class="(producer != null && producer.order_infos.length) ? 'col-md-9' : 'col-md-12'"> | |||
@@ -109,6 +86,13 @@ $this->setTitle('Commander') ; | |||
<div class="clr"></div> | |||
</div> | |||
<div class="content"> | |||
<div v-if="errors.length" class="alert alert-danger"> | |||
<ul> | |||
<li v-for="error in errors"> | |||
{{ error }} | |||
</li> | |||
</ul> | |||
</div> | |||
<transition name="slide"> | |||
<div id="content-step-date" v-if="step == 'date'"> | |||
<div id="legend"> | |||
@@ -181,6 +165,7 @@ $this->setTitle('Commander') ; | |||
<table id="products" class="table table-bordered" > | |||
<thead> | |||
<tr> | |||
<th>Photo</th> | |||
<th>Nom</th> | |||
<th>Prix unitaire</th> | |||
<th>Quantité</th> | |||
@@ -189,6 +174,9 @@ $this->setTitle('Commander') ; | |||
</thead> | |||
<tbody> | |||
<tr v-for="product in products" v-if="product.productDistribution[0].active == 1"> | |||
<td class="photo"> | |||
<img v-if="product.photo.length" class="photo-product" :src="'<?php echo Yii::$app->urlManager->getBaseUrl(); ?>/uploads/'+product.photo" /> | |||
</td> | |||
<td class="name"> | |||
<span class="name">{{ product.name }}</span> | |||
<span class="other"> | |||
@@ -254,7 +242,8 @@ $this->setTitle('Commander') ; | |||
</div> | |||
</div> | |||
<div class="block-actions"> | |||
<button class="btn btn-primary" @click="confirmClick">Je confirme ma commande</button> | |||
<button class="btn btn-primary" disabled="disabled" v-if="disableConfirmButton">Je confirme ma commande</button> | |||
<button class="btn btn-primary" v-else @click="confirmClick">Je confirme ma commande</button> | |||
</div> | |||
</div> | |||
</transition> |
@@ -69,8 +69,18 @@ else | |||
'dataProvider' => $dataProviderPointsSale, | |||
'summary' => '', | |||
'columns' => [ | |||
'name', | |||
'locality', | |||
[ | |||
'attribute' => 'name', | |||
'format' => 'raw', | |||
'contentOptions' => ['class' => 'name'], | |||
'value' => function($model) { | |||
$html = '<span class="the-name">'.Html::encode($model->name).'</span>' ; | |||
if(strlen($model->locality)) { | |||
$html .= '<br />à '.Html::encode($model->locality) ; | |||
} | |||
return $html ; | |||
} | |||
], | |||
[ | |||
'label' => 'Jours de livraison', | |||
'value' => function($model) { | |||
@@ -91,7 +101,7 @@ else | |||
[ | |||
'attribute' => 'photo', | |||
'format' => 'raw', | |||
'headerOptions' => ['class' => 'td-photo'], | |||
'contentOptions' => ['class' => 'photo'], | |||
'value' => function($model) { | |||
if(strlen($model->photo)) { | |||
return '<img class="photo-product" src="'.Yii::$app->urlManagerProducer->baseUrl.'/uploads/'.$model->photo.'" />' ; | |||
@@ -99,13 +109,35 @@ else | |||
return '' ; | |||
} | |||
], | |||
'name', | |||
'description', | |||
[ | |||
'attribute' => 'name', | |||
'format' => 'raw', | |||
'contentOptions' => ['class' => 'name'], | |||
'value' => function($model) { | |||
$html = '<span class="the-name">'.Html::encode($model->name).'</span>' ; | |||
if(strlen($model->description)) { | |||
$html .= ' / '.Html::encode($model->description) ; | |||
} | |||
if(strlen($model->recipe)) { | |||
$html .= '<br />'.Html::encode($model->recipe) ; | |||
} | |||
return $html ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'weight', | |||
'value' => function($model) { | |||
if(strlen($model->weight)) { | |||
return $model->weight.'g' ; | |||
return $model->weight.' g' ; | |||
} | |||
return '' ; | |||
} | |||
], | |||
[ | |||
'attribute' => 'price', | |||
'value' => function($model) { | |||
if($model->price) { | |||
return Price::format($model->price) ; | |||
} | |||
return '' ; | |||
} |
@@ -46,7 +46,7 @@ use common\models\PointSale ; | |||
?> | |||
<div class="subscription-form" id="app-subscription-form"> | |||
<div class="subscription-form" id="app-subscription-form" :class="{'loaded': !loading}"> | |||
<form @submit.prevent="formSubmit()" v-show="loading == false"> | |||
@@ -40,7 +40,7 @@ use yii\helpers\Html; | |||
use yii\grid\GridView; | |||
$this->setTitle('Abonnements') ; | |||
$this->addButton(['label' => '+ Ajouter', 'url' => 'subscription/form', 'class' => 'btn btn-primary']) ; | |||
$this->addButton(['label' => '<span class="glyphicon glyphicon-plus"></span> Ajouter', 'url' => 'subscription/form', 'class' => 'btn btn-primary']) ; | |||
$columns = [ | |||
[ | |||
@@ -77,12 +77,20 @@ $columns = [ | |||
} | |||
], | |||
[ | |||
'attribute' => 'date_begin', | |||
'label' => 'Date de début', | |||
'format' => 'raw', | |||
'attribute' => 'week_frequency', | |||
'filter' => [ | |||
1 => 'Toutes les semaines', | |||
2 => 'Toutes les 2 semaines', | |||
3 => 'Toutes les 3 semaines', | |||
4 => 'Tous les mois'], | |||
'value' => function($model) { | |||
$html = date('d/m/Y',strtotime($model->date_begin)) ; | |||
return $html ; | |||
if($model->week_frequency == 1) { | |||
return 'Toutes les semaines' ; | |||
} | |||
else { | |||
return 'Toutes les '.$model->week_frequency.' semaines' ; | |||
} | |||
} | |||
], | |||
[ | |||
@@ -132,20 +140,12 @@ $columns = [ | |||
} | |||
], | |||
[ | |||
'attribute' => 'week_frequency', | |||
'filter' => [ | |||
1 => 'Toutes les semaines', | |||
2 => 'Toutes les 2 semaines', | |||
3 => 'Toutes les 3 semaines', | |||
4 => 'Tous les mois'], | |||
'attribute' => 'date_begin', | |||
'label' => 'Date de début', | |||
'format' => 'raw', | |||
'value' => function($model) { | |||
if($model->week_frequency == 1) { | |||
return 'Toutes les semaines' ; | |||
} | |||
else { | |||
return 'Toutes les '.$model->week_frequency.' semaines' ; | |||
} | |||
$html = date('d/m/Y',strtotime($model->date_begin)) ; | |||
return $html ; | |||
} | |||
], | |||
] ; |
@@ -350,19 +350,24 @@ ul.pagination li a:hover, ul.pagination li a:focus, ul.pagination li a:active { | |||
color: black; | |||
border-right: solid 1px #e0e0e0; | |||
font-family: "capsuularegular"; | |||
text-transform: uppercase; | |||
font-size: 18px; | |||
} | |||
/* line 267, ../sass/_layout.scss */ | |||
#main nav#main-nav ul li a .glyphicon { | |||
font-size: 15px; | |||
margin-right: 3px; | |||
} | |||
/* line 272, ../sass/_layout.scss */ | |||
#main nav#main-nav ul li a span.label { | |||
padding-bottom: 3px; | |||
font-family: "Arial"; | |||
} | |||
/* line 274, ../sass/_layout.scss */ | |||
/* line 279, ../sass/_layout.scss */ | |||
#main nav#main-nav ul li.active span.label, #main nav#main-nav ul li a:hover span.label { | |||
background-color: #e67200; | |||
color: white; | |||
} | |||
/* line 280, ../sass/_layout.scss */ | |||
/* line 285, ../sass/_layout.scss */ | |||
#main nav#main-nav ul li a:hover, #main nav#main-nav ul li.active a { | |||
background: #FF7F00; | |||
color: white; | |||
@@ -370,26 +375,26 @@ ul.pagination li a:hover, ul.pagination li a:focus, ul.pagination li a:active { | |||
-webkit-border-radius: 0px; | |||
border-radius: 0px; | |||
} | |||
/* line 287, ../sass/_layout.scss */ | |||
/* line 292, ../sass/_layout.scss */ | |||
#main nav#main-nav ul li#btn-administration { | |||
float: right; | |||
border-left: solid 1px #e0e0e0; | |||
} | |||
/* line 291, ../sass/_layout.scss */ | |||
/* line 296, ../sass/_layout.scss */ | |||
#main nav#main-nav ul li#btn-administration a { | |||
color: #FF7F00; | |||
} | |||
/* line 294, ../sass/_layout.scss */ | |||
/* line 299, ../sass/_layout.scss */ | |||
#main nav#main-nav ul li#btn-administration a:hover { | |||
color: white; | |||
} | |||
/* line 302, ../sass/_layout.scss */ | |||
/* line 307, ../sass/_layout.scss */ | |||
#main nav#main-nav #user { | |||
color: #FF7F00; | |||
float: right; | |||
padding: 10px; | |||
} | |||
/* line 309, ../sass/_layout.scss */ | |||
/* line 314, ../sass/_layout.scss */ | |||
#main h2#page-title { | |||
padding-left: 15px; | |||
padding-right: 15px; | |||
@@ -403,12 +408,12 @@ ul.pagination li a:hover, ul.pagination li a:focus, ul.pagination li a:active { | |||
top: -10px; | |||
text-align: left; | |||
} | |||
/* line 322, ../sass/_layout.scss */ | |||
/* line 327, ../sass/_layout.scss */ | |||
#main h2#page-title #buttons { | |||
margin-bottom: 15px; | |||
font-family: "Arial"; | |||
} | |||
/* line 329, ../sass/_layout.scss */ | |||
/* line 334, ../sass/_layout.scss */ | |||
#main .container { | |||
padding: 0px; | |||
background-color: white; | |||
@@ -416,30 +421,30 @@ ul.pagination li a:hover, ul.pagination li a:focus, ul.pagination li a:active { | |||
border-left: solid 1px #e0e0e0; | |||
border-right: solid 1px #e0e0e0; | |||
} | |||
/* line 337, ../sass/_layout.scss */ | |||
/* line 342, ../sass/_layout.scss */ | |||
#main #content { | |||
padding-bottom: 20px; | |||
padding: 0px 20px 20px 20px; | |||
} | |||
/* line 341, ../sass/_layout.scss */ | |||
/* line 346, ../sass/_layout.scss */ | |||
#main #content h1, #main #content h2, #main #content h3, #main #content h4, #main #content h5, #main #content h6 { | |||
font-family: "highvoltageregular"; | |||
margin-top: 30px; | |||
margin-bottom: 20px; | |||
} | |||
/* line 346, ../sass/_layout.scss */ | |||
/* line 351, ../sass/_layout.scss */ | |||
#main #content h1.first, #main #content h2.first, #main #content h3.first, #main #content h4.first, #main #content h5.first, #main #content h6.first { | |||
margin-top: 0px; | |||
} | |||
/* line 351, ../sass/_layout.scss */ | |||
/* line 356, ../sass/_layout.scss */ | |||
#main #content h1 { | |||
font-size: 30px; | |||
} | |||
/* line 355, ../sass/_layout.scss */ | |||
/* line 360, ../sass/_layout.scss */ | |||
#main #content h2 { | |||
font-size: 25px; | |||
} | |||
/* line 360, ../sass/_layout.scss */ | |||
/* line 365, ../sass/_layout.scss */ | |||
#main #content h3 { | |||
font-family: "highvoltageregular"; | |||
text-transform: uppercase; | |||
@@ -448,38 +453,38 @@ ul.pagination li a:hover, ul.pagination li a:focus, ul.pagination li a:active { | |||
margin-bottom: 30px; | |||
margin-top: 45px; | |||
} | |||
/* line 368, ../sass/_layout.scss */ | |||
/* line 373, ../sass/_layout.scss */ | |||
#main #content h3 span { | |||
padding-top: 14px; | |||
color: #323232; | |||
} | |||
/* line 374, ../sass/_layout.scss */ | |||
/* line 379, ../sass/_layout.scss */ | |||
#main #content h4 { | |||
font-size: 20px; | |||
} | |||
/* line 378, ../sass/_layout.scss */ | |||
/* line 383, ../sass/_layout.scss */ | |||
#main #content h5 { | |||
font-size: 18px; | |||
} | |||
/* line 382, ../sass/_layout.scss */ | |||
/* line 387, ../sass/_layout.scss */ | |||
#main #content h6 { | |||
font-size: 16px; | |||
} | |||
/* line 388, ../sass/_layout.scss */ | |||
/* line 393, ../sass/_layout.scss */ | |||
#main #content form .form-group .hint-block { | |||
color: gray; | |||
} | |||
/* line 396, ../sass/_layout.scss */ | |||
/* line 401, ../sass/_layout.scss */ | |||
#footer { | |||
background-color: #F7F7F7; | |||
height: 100px; | |||
} | |||
/* line 400, ../sass/_layout.scss */ | |||
/* line 405, ../sass/_layout.scss */ | |||
#footer .container { | |||
padding: 0px; | |||
} | |||
/* line 402, ../sass/_layout.scss */ | |||
/* line 407, ../sass/_layout.scss */ | |||
#footer .container .overflow { | |||
height: 30px; | |||
background-color: white; | |||
@@ -487,18 +492,24 @@ ul.pagination li a:hover, ul.pagination li a:focus, ul.pagination li a:active { | |||
border-right: solid 1px #e0e0e0; | |||
border-bottom: solid 1px #e0e0e0; | |||
} | |||
/* line 410, ../sass/_layout.scss */ | |||
/* line 415, ../sass/_layout.scss */ | |||
#footer .container .content { | |||
padding-top: 20px; | |||
color: white; | |||
color: black; | |||
} | |||
/* line 414, ../sass/_layout.scss */ | |||
/* line 419, ../sass/_layout.scss */ | |||
#footer .container .content a { | |||
color: #323232; | |||
color: black; | |||
font-family: "capsuularegular"; | |||
font-size: 18px; | |||
padding-left: 10px; | |||
padding-right: 10px; | |||
} | |||
/* line 426, ../sass/_layout.scss */ | |||
#footer .container .content a:hover { | |||
text-decoration: underline; | |||
margin-right: 10px; | |||
} | |||
/* line 422, ../sass/_layout.scss */ | |||
/* line 433, ../sass/_layout.scss */ | |||
#footer .container #code-source img { | |||
height: 20px; | |||
} | |||
@@ -552,11 +563,35 @@ termes. | |||
width: 100%; | |||
max-width: 500px; | |||
} | |||
/* line 54, ../sass/site/_index.scss */ | |||
.site-index #products img.photo-product { | |||
/* line 55, ../sass/site/_index.scss */ | |||
.site-index #points-sale .name { | |||
color: #333; | |||
} | |||
/* line 57, ../sass/site/_index.scss */ | |||
.site-index #points-sale .name .the-name { | |||
font-family: "capsuularegular"; | |||
font-size: 20px; | |||
color: black; | |||
} | |||
/* line 67, ../sass/site/_index.scss */ | |||
.site-index #products td.photo { | |||
width: 100px; | |||
} | |||
/* line 69, ../sass/site/_index.scss */ | |||
.site-index #products td.photo img.photo-product { | |||
width: 120px; | |||
height: auto; | |||
} | |||
/* line 75, ../sass/site/_index.scss */ | |||
.site-index #products .name { | |||
color: #333; | |||
} | |||
/* line 77, ../sass/site/_index.scss */ | |||
.site-index #products .name .the-name { | |||
font-family: "capsuularegular"; | |||
font-size: 20px; | |||
color: black; | |||
} | |||
/* line 4, ../sass/site/_credit_history.scss */ | |||
.site-credit-history #credit-user { | |||
@@ -1177,6 +1212,10 @@ termes. | |||
.order-history #tabs-orders-history li.active a { | |||
color: #333; | |||
} | |||
/* line 59, ../sass/order/_history.scss */ | |||
.order-history table .locality { | |||
color: gray; | |||
} | |||
/* line 3, ../sass/order/_order.scss */ | |||
.order-order #app-order-order { | |||
@@ -1339,104 +1378,111 @@ termes. | |||
} | |||
/* line 171, ../sass/order/_order.scss */ | |||
.order-order #app-order-order table#points-sale td.name .the-name { | |||
text-transform: uppercase; | |||
font-family: "capsuularegular"; | |||
color: black; | |||
font-size: 20px; | |||
line-height: 25px; | |||
} | |||
/* line 180, ../sass/order/_order.scss */ | |||
/* line 179, ../sass/order/_order.scss */ | |||
.order-order #app-order-order table#points-sale td.actions { | |||
width: 150px; | |||
} | |||
/* line 182, ../sass/order/_order.scss */ | |||
/* line 181, ../sass/order/_order.scss */ | |||
.order-order #app-order-order table#points-sale td.actions button { | |||
width: 100%; | |||
} | |||
/* line 188, ../sass/order/_order.scss */ | |||
/* line 187, ../sass/order/_order.scss */ | |||
.order-order #app-order-order table#points-sale tr.selected td { | |||
background-color: white; | |||
} | |||
/* line 196, ../sass/order/_order.scss */ | |||
/* line 195, ../sass/order/_order.scss */ | |||
.order-order #app-order-order table#products td.photo img { | |||
width: 100px; | |||
} | |||
/* line 201, ../sass/order/_order.scss */ | |||
.order-order #app-order-order table#products td.name .name { | |||
text-transform: uppercase; | |||
font-family: "capsuularegular"; | |||
color: black; | |||
font-size: 20px; | |||
line-height: 25px; | |||
} | |||
/* line 203, ../sass/order/_order.scss */ | |||
/* line 207, ../sass/order/_order.scss */ | |||
.order-order #app-order-order table#products td.name .other { | |||
font-size: 14px; | |||
color: #333; | |||
} | |||
/* line 207, ../sass/order/_order.scss */ | |||
/* line 211, ../sass/order/_order.scss */ | |||
.order-order #app-order-order table#products td.name .recipe { | |||
color: gray; | |||
} | |||
/* line 211, ../sass/order/_order.scss */ | |||
/* line 215, ../sass/order/_order.scss */ | |||
.order-order #app-order-order table#products .price-unit, .order-order #app-order-order table#products .price-total { | |||
width: 100px; | |||
text-align: center; | |||
} | |||
/* line 215, ../sass/order/_order.scss */ | |||
/* line 219, ../sass/order/_order.scss */ | |||
.order-order #app-order-order table#products .td-quantity { | |||
width: 150px; | |||
} | |||
/* line 217, ../sass/order/_order.scss */ | |||
/* line 221, ../sass/order/_order.scss */ | |||
.order-order #app-order-order table#products .td-quantity input.quantity { | |||
text-align: center; | |||
} | |||
/* line 223, ../sass/order/_order.scss */ | |||
/* line 227, ../sass/order/_order.scss */ | |||
.order-order #app-order-order table#products tr.total .price-total { | |||
font-size: 23px; | |||
} | |||
/* line 230, ../sass/order/_order.scss */ | |||
/* line 234, ../sass/order/_order.scss */ | |||
.order-order #app-order-order #content-step-payment .credit { | |||
margin-top: 20px; | |||
} | |||
/* line 233, ../sass/order/_order.scss */ | |||
/* line 237, ../sass/order/_order.scss */ | |||
.order-order #app-order-order #content-step-payment .credit .info { | |||
margin-left: 20px; | |||
color: gray; | |||
} | |||
/* line 240, ../sass/order/_order.scss */ | |||
/* line 244, ../sass/order/_order.scss */ | |||
.order-order #app-order-order #infos { | |||
margin-top: 30px; | |||
} | |||
/* line 242, ../sass/order/_order.scss */ | |||
/* line 246, ../sass/order/_order.scss */ | |||
.order-order #app-order-order #infos .panel-body { | |||
padding-top: 0px; | |||
white-space: pre-line; | |||
} | |||
/* line 250, ../sass/order/_order.scss */ | |||
.order-order #app-order-order #order-success .alert.alert-success .glyphicon-big { | |||
/* line 5, ../sass/order/_confirm.scss */ | |||
.order-confirm #main #order-success .alert.alert-success .glyphicon-big { | |||
background-color: #00A65A; | |||
} | |||
/* line 256, ../sass/order/_order.scss */ | |||
.order-order #app-order-order #order-success .alert.alert-info .glyphicon-big { | |||
/* line 11, ../sass/order/_confirm.scss */ | |||
.order-confirm #main #order-success .alert.alert-info .glyphicon-big { | |||
background-color: #0097BC; | |||
padding: 55px 30px; | |||
} | |||
/* line 262, ../sass/order/_order.scss */ | |||
.order-order #app-order-order #order-success .alert { | |||
/* line 17, ../sass/order/_confirm.scss */ | |||
.order-confirm #main #order-success .alert.alert-info .content .glyphicon { | |||
margin-right: 5px; | |||
} | |||
/* line 23, ../sass/order/_confirm.scss */ | |||
.order-confirm #main #order-success .alert { | |||
padding: 0px; | |||
} | |||
/* line 264, ../sass/order/_order.scss */ | |||
.order-order #app-order-order #order-success .alert .glyphicon-big { | |||
/* line 25, ../sass/order/_confirm.scss */ | |||
.order-confirm #main #order-success .alert .glyphicon-big { | |||
font-size: 90px; | |||
color: white; | |||
padding: 30px; | |||
float: left; | |||
} | |||
/* line 271, ../sass/order/_order.scss */ | |||
.order-order #app-order-order #order-success .alert div.content { | |||
/* line 32, ../sass/order/_confirm.scss */ | |||
.order-confirm #main #order-success .alert div.content { | |||
color: #333; | |||
padding: 20px; | |||
margin-left: 151px; | |||
} | |||
/* line 276, ../sass/order/_order.scss */ | |||
.order-order #app-order-order #order-success .alert div.content h3 { | |||
/* line 37, ../sass/order/_confirm.scss */ | |||
.order-confirm #main #order-success .alert div.content h3 { | |||
font-family: "capsuularegular"; | |||
font-size: 30px; | |||
color: #333; | |||
@@ -1448,8 +1494,8 @@ termes. | |||
line-height: 35px; | |||
text-transform: none; | |||
} | |||
/* line 289, ../sass/order/_order.scss */ | |||
.order-order #app-order-order #order-success .alert div.content .locality { | |||
/* line 50, ../sass/order/_confirm.scss */ | |||
.order-confirm #main #order-success .alert div.content .locality { | |||
color: gray; | |||
} | |||
@@ -1465,44 +1511,61 @@ termes. | |||
color: gray; | |||
} | |||
/* line 7, ../sass/subscription/_form.scss */ | |||
/* line 4, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form, | |||
.subscription-update .subscription-form { | |||
display: none; | |||
} | |||
/* line 8, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form.loaded, | |||
.subscription-update .subscription-form.loaded { | |||
display: block; | |||
} | |||
/* line 13, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .points-sale .locality, | |||
.subscription-update .subscription-form .points-sale .locality { | |||
color: gray; | |||
} | |||
/* line 10, ../sass/subscription/_form.scss */ | |||
/* line 16, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .points-sale label, | |||
.subscription-update .subscription-form .points-sale label { | |||
cursor: pointer; | |||
} | |||
/* line 16, ../sass/subscription/_form.scss */ | |||
/* line 22, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .days .form-group, | |||
.subscription-update .subscription-form .days .form-group { | |||
float: left; | |||
margin-right: 15px; | |||
} | |||
/* line 26, ../sass/subscription/_form.scss */ | |||
/* line 31, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .points-sale table tr.selected td, | |||
.subscription-update .subscription-form .points-sale table tr.selected td { | |||
background-color: white; | |||
} | |||
/* line 31, ../sass/subscription/_form.scss */ | |||
/* line 36, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .points-sale table .the-name, | |||
.subscription-update .subscription-form .points-sale table .the-name { | |||
font-family: "capsuularegular"; | |||
font-size: 20px; | |||
color: black; | |||
} | |||
/* line 42, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .points-sale table .block-code, | |||
.subscription-update .subscription-form .points-sale table .block-code { | |||
width: 150px; | |||
} | |||
/* line 35, ../sass/subscription/_form.scss */ | |||
/* line 46, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .points-sale table .actions, | |||
.subscription-update .subscription-form .points-sale table .actions { | |||
width: 150px; | |||
} | |||
/* line 38, ../sass/subscription/_form.scss */ | |||
/* line 49, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .points-sale table .actions button, | |||
.subscription-update .subscription-form .points-sale table .actions button { | |||
width: 100%; | |||
display: block; | |||
} | |||
/* line 47, ../sass/subscription/_form.scss */ | |||
/* line 58, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .products .monday, .subscription-create .subscription-form .products .tuesday, .subscription-create .subscription-form .products .wednesday, .subscription-create .subscription-form .products .thursday, | |||
.subscription-create .subscription-form .products .friday, .subscription-create .subscription-form .products .saturday, .subscription-create .subscription-form .products .sunday, .subscription-create .subscription-form .products .no-day, | |||
.subscription-update .subscription-form .products .monday, | |||
@@ -1515,7 +1578,7 @@ termes. | |||
.subscription-update .subscription-form .products .no-day { | |||
display: none; | |||
} | |||
/* line 52, ../sass/subscription/_form.scss */ | |||
/* line 63, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .products .monday-active .monday, | |||
.subscription-create .subscription-form .products .tuesday-active .tuesday, | |||
.subscription-create .subscription-form .products .wednesday-active .wednesday, | |||
@@ -1532,47 +1595,46 @@ termes. | |||
.subscription-update .subscription-form .products .sunday-active .sunday { | |||
display: block; | |||
} | |||
/* line 62, ../sass/subscription/_form.scss */ | |||
/* line 73, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .products td.quantity, | |||
.subscription-update .subscription-form .products td.quantity { | |||
width: 150px; | |||
} | |||
/* line 65, ../sass/subscription/_form.scss */ | |||
/* line 76, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .products td.quantity input, | |||
.subscription-update .subscription-form .products td.quantity input { | |||
text-align: center; | |||
} | |||
/* line 68, ../sass/subscription/_form.scss */ | |||
/* line 79, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .products td.quantity input.has-quantity, | |||
.subscription-update .subscription-form .products td.quantity input.has-quantity { | |||
font-weight: bold; | |||
} | |||
/* line 74, ../sass/subscription/_form.scss */ | |||
/* line 85, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .products .name, | |||
.subscription-update .subscription-form .products .name { | |||
font-family: "comfortaalight"; | |||
font-weight: bold; | |||
text-transform: uppercase; | |||
font-size: 18px; | |||
font-family: "capsuularegular"; | |||
font-size: 20px; | |||
color: black; | |||
} | |||
/* line 81, ../sass/subscription/_form.scss */ | |||
/* line 91, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .products .description, | |||
.subscription-update .subscription-form .products .description { | |||
font-style: italic; | |||
} | |||
/* line 85, ../sass/subscription/_form.scss */ | |||
/* line 95, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .products .recipe, | |||
.subscription-update .subscription-form .products .recipe { | |||
font-size: 12px; | |||
} | |||
/* line 89, ../sass/subscription/_form.scss */ | |||
/* line 99, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .products .price-unit, .subscription-create .subscription-form .products .price-total, | |||
.subscription-update .subscription-form .products .price-unit, | |||
.subscription-update .subscription-form .products .price-total { | |||
text-align: center; | |||
width: 150px; | |||
} | |||
/* line 94, ../sass/subscription/_form.scss */ | |||
/* line 104, ../sass/subscription/_form.scss */ | |||
.subscription-create .subscription-form .products tr.total .price-total, | |||
.subscription-update .subscription-form .products tr.total .price-total { | |||
text-align: center; |
@@ -8,6 +8,7 @@ var app = new Vue({ | |||
producer: null, | |||
date: null, | |||
dateFormat: null, | |||
distributions: [], | |||
distribution: null, | |||
pointsSale: [], | |||
pointSaleActive: null, | |||
@@ -16,7 +17,8 @@ var app = new Vue({ | |||
comment: '', | |||
creditCheckbox: false, | |||
credit: 0, | |||
orderSuccess: false, | |||
errors: [], | |||
disableConfirmButton: false, | |||
calendar: { | |||
mode: 'single', | |||
attrs: [], | |||
@@ -105,6 +107,7 @@ var app = new Vue({ | |||
this.calendar.availableDates = [] ; | |||
var distributions = response.data.distributions ; | |||
if(distributions.length) { | |||
this.distributions = distributions ; | |||
var arrayDate ; | |||
for(var i= 0; i < distributions.length; i++) { | |||
this.calendar.attrs.push({ | |||
@@ -178,12 +181,20 @@ var app = new Vue({ | |||
}); | |||
}, | |||
changeStep: function(step) { | |||
this.errors = [] ; | |||
var oldStep = this.step ; | |||
this.step = step ; | |||
window.scroll(0, $('#page-title').position().top - 25) ; | |||
if(oldStep == 'date' && step == 'point-sale') { | |||
this.init() ; | |||
if(oldStep == 'products' && step == 'payment') { | |||
this.checkProducts() ; | |||
} | |||
if(!this.errors.length) { | |||
this.step = step ; | |||
window.scroll(0, $('#page-title').position().top - 25) ; | |||
if(oldStep == 'date' && step == 'point-sale') { | |||
this.init() ; | |||
} | |||
} | |||
}, | |||
dayClick: function(day) { | |||
if(this.isAvailableDate(day.date)) { | |||
@@ -271,6 +282,8 @@ var app = new Vue({ | |||
} | |||
}, | |||
confirmClick: function() { | |||
this.disableConfirmButton = true ; | |||
var productsArray = {} ; | |||
for(var key in this.products) { | |||
if( this.products[key].quantity_form != null && | |||
@@ -289,9 +302,14 @@ var app = new Vue({ | |||
products: productsArray | |||
}).then(response => { | |||
if(response.data.status == 'success') { | |||
this.orderSuccess = true ; | |||
window.location.href = chat_base_url(true)+'order/confirm?idOrder='+response.data.idOrder ; | |||
} | |||
}); | |||
}, | |||
checkProducts: function() { | |||
if(!this.oneProductOrdered()) { | |||
this.errors.push('Veuillez sélectionner au moins un produit.') ; | |||
} | |||
} | |||
} | |||
}); |
@@ -262,7 +262,12 @@ ul.pagination { | |||
color: black; | |||
border-right: solid 1px #e0e0e0 ; | |||
font-family: 'capsuularegular' ; | |||
text-transform: uppercase ; | |||
font-size: 18px ; | |||
.glyphicon { | |||
font-size: 15px ; | |||
margin-right: 3px ; | |||
} | |||
span.label { | |||
padding-bottom: 3px ; | |||
@@ -409,12 +414,18 @@ ul.pagination { | |||
.content { | |||
padding-top: 20px ; | |||
color: white ; | |||
color: black ; | |||
a { | |||
color: $courant ; | |||
text-decoration: underline ; | |||
margin-right: 10px ; | |||
color: black ; | |||
font-family: 'capsuularegular' ; | |||
font-size: 18px ; | |||
padding-left: 10px ; | |||
padding-right: 10px ; | |||
&:hover { | |||
text-decoration: underline ; | |||
} | |||
} | |||
} | |||
@@ -0,0 +1,57 @@ | |||
.order-confirm #main { | |||
#order-success { | |||
.alert.alert-success { | |||
.glyphicon-big { | |||
background-color: #00A65A ; | |||
} | |||
} | |||
.alert.alert-info { | |||
.glyphicon-big { | |||
background-color: #0097BC ; | |||
padding: 55px 30px ; | |||
} | |||
.content { | |||
.glyphicon { | |||
margin-right: 5px ; | |||
} | |||
} | |||
} | |||
.alert { | |||
padding: 0px ; | |||
.glyphicon-big { | |||
font-size: 90px ; | |||
color: white ; | |||
padding: 30px ; | |||
float: left ; | |||
} | |||
div.content { | |||
color: #333 ; | |||
padding: 20px ; | |||
margin-left: 151px ; | |||
h3 { | |||
font-family: 'capsuularegular' ; | |||
font-size: 30px ; | |||
color: #333 ; | |||
margin-bottom: 20px ; | |||
margin-top: 0px ; | |||
margin-left: 0px ; | |||
text-align: left ; | |||
padding-left: 0px ; | |||
line-height: 35px ; | |||
text-transform: none ; | |||
} | |||
.locality { | |||
color: gray ; | |||
} | |||
} | |||
} | |||
} | |||
} |
@@ -52,7 +52,13 @@ termes. | |||
&.active a { | |||
color: #333 ; | |||
} | |||
} | |||
} | |||
} | |||
table { | |||
.locality { | |||
color: gray ; | |||
} | |||
} | |||
} |
@@ -169,7 +169,6 @@ | |||
table#points-sale { | |||
td.name { | |||
.the-name { | |||
text-transform: uppercase ; | |||
font-family: 'capsuularegular' ; | |||
color: black ; | |||
font-size: 20px ; | |||
@@ -192,9 +191,14 @@ | |||
} | |||
table#products { | |||
td.photo { | |||
img { | |||
width: 100px ; | |||
} | |||
} | |||
td.name { | |||
.name { | |||
text-transform: uppercase ; | |||
font-family: 'capsuularegular' ; | |||
color: black ; | |||
font-size: 20px ; | |||
@@ -244,54 +248,6 @@ | |||
white-space: pre-line ; | |||
} | |||
} | |||
#order-success { | |||
.alert.alert-success { | |||
.glyphicon-big { | |||
background-color: #00A65A ; | |||
} | |||
} | |||
.alert.alert-info { | |||
.glyphicon-big { | |||
background-color: #0097BC ; | |||
padding: 55px 30px ; | |||
} | |||
} | |||
.alert { | |||
padding: 0px ; | |||
.glyphicon-big { | |||
font-size: 90px ; | |||
color: white ; | |||
padding: 30px ; | |||
float: left ; | |||
} | |||
div.content { | |||
color: #333 ; | |||
padding: 20px ; | |||
margin-left: 151px ; | |||
h3 { | |||
font-family: 'capsuularegular' ; | |||
font-size: 30px ; | |||
color: #333 ; | |||
margin-bottom: 20px ; | |||
margin-top: 0px ; | |||
margin-left: 0px ; | |||
text-align: left ; | |||
padding-left: 0px ; | |||
line-height: 35px ; | |||
text-transform: none ; | |||
} | |||
.locality { | |||
color: gray ; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
@@ -42,6 +42,7 @@ termes. | |||
@import "order/_form.scss"; | |||
@import "order/_history.scss"; | |||
@import "order/_order.scss"; | |||
@import "order/_confirm.scss"; | |||
@import "credit/_add.scss"; | |||
@import "subscription/_form.scss"; | |||
@import "_responsive.scss"; |
@@ -50,10 +50,40 @@ termes. | |||
} | |||
} | |||
} | |||
#points-sale { | |||
.name { | |||
color: #333 ; | |||
.the-name { | |||
font-family: 'capsuularegular' ; | |||
font-size: 20px ; | |||
color: black ; | |||
} | |||
} | |||
} | |||
#products { | |||
img.photo-product { | |||
td.photo { | |||
width: 100px ; | |||
height: auto ; | |||
img.photo-product { | |||
width: 120px ; | |||
height: auto ; | |||
} | |||
} | |||
.name { | |||
color: #333 ; | |||
.the-name { | |||
font-family: 'capsuularegular' ; | |||
font-size: 20px ; | |||
color: black ; | |||
} | |||
.recipe { | |||
} | |||
} | |||
} | |||
} |
@@ -3,6 +3,12 @@ | |||
.subscription-update { | |||
.subscription-form { | |||
display: none ; | |||
&.loaded { | |||
display: block ; | |||
} | |||
.points-sale { | |||
.locality { | |||
color: gray ; | |||
@@ -21,13 +27,18 @@ | |||
.points-sale { | |||
table { | |||
tr.selected { | |||
td { | |||
background-color: $color2 ; | |||
} | |||
} | |||
.the-name { | |||
font-family: 'capsuularegular' ; | |||
font-size: 20px ; | |||
color: black ; | |||
} | |||
.block-code { | |||
width: 150px ; | |||
} | |||
@@ -72,10 +83,9 @@ | |||
} | |||
.name { | |||
font-family: "comfortaalight" ; | |||
font-weight: bold ; | |||
text-transform: uppercase ; | |||
font-size: 18px ; | |||
font-family: "capsuularegular" ; | |||
font-size: 20px ; | |||
color: black ; | |||
} | |||
.description { |