Просмотр исходного кода

Intégration Souke

feature/souke
Guillaume Bourgeois 7 месяцев назад
Родитель
Сommit
aa183f73b7
26 измененных файлов: 268 добавлений и 212 удалений
  1. +5
    -5
      backend/controllers/OrderController.php
  2. +3
    -3
      backend/controllers/UserController.php
  3. +6
    -6
      backend/views/distribution/index.php
  4. +3
    -3
      backend/views/point-sale/_form.php
  5. +7
    -7
      backend/views/producer/update.php
  6. +1
    -1
      backend/views/subscription/_form.php
  7. +1
    -1
      backend/views/user/view.php
  8. +1
    -2
      common/mail/layouts/html.php
  9. +1
    -1
      common/mail/layouts/text.php
  10. +46
    -41
      common/web/css/screen.css
  11. +4
    -2
      common/web/sass/_common.scss
  12. +1
    -1
      domain/Producer/Producer/Producer.php
  13. +2
    -1
      frontend/controllers/SiteController.php
  14. +1
    -2
      frontend/views/site/_button_producer_signup.php
  15. +2
    -2
      frontend/views/site/_cgv_content.php
  16. +2
    -2
      frontend/views/site/credit.php
  17. +11
    -13
      frontend/views/site/requestPasswordResetToken.php
  18. +2
    -2
      frontend/views/site/service.php
  19. +119
    -106
      frontend/web/css/screen.css
  20. +14
    -0
      frontend/web/sass/screen.scss
  21. +1
    -1
      producer/views/credit/history.php
  22. +1
    -1
      producer/views/order/confirm.php
  23. +4
    -4
      producer/views/order/order.php
  24. +17
    -1
      producer/views/site/contact.php
  25. +9
    -4
      producer/web/css/screen.css
  26. +4
    -0
      producer/web/sass/subscription/_form.scss

+ 5
- 5
backend/controllers/OrderController.php Просмотреть файл

@@ -1011,7 +1011,7 @@ class OrderController extends BackendController
}

/**
* Retourne l'état du paiement (historique, crédit) d'une commande donnée.
* Retourne l'état du paiement (historique, cagnotte) d'une commande donnée.
*/
public function actionPaymentStatus(int $idOrder)
{
@@ -1035,19 +1035,19 @@ class OrderController extends BackendController

if (abs($order->amount - $amountPaid) < 0.0001) {
$html .= '<span class="label label-success">Payé</span>';
$buttonsCredit = Html::a('Recréditer ' . $orderModule->getOrderAmountWithTax($order, Order::AMOUNT_TOTAL, true), 'javascript:void(0);', ['class' => 'btn btn-default btn-xs rembourser', 'data-montant' => $order->amount, 'data-type' => 'refund']);
$buttonsCredit = Html::a('Rembourser ' . $orderModule->getOrderAmountWithTax($order, Order::AMOUNT_TOTAL, true), 'javascript:void(0);', ['class' => 'btn btn-default btn-xs rembourser', 'data-montant' => $order->amount, 'data-type' => 'refund']);
} elseif ($order->amount > $amountPaid) {
$amountToPay = $order->amount - $amountPaid;
$html .= '<span class="label label-danger">Non payé</span> reste <strong>' . number_format($amountToPay, 2) . ' €</strong> à débiter';
$buttonsCredit = Html::a('Débiter ' . number_format($amountToPay, 2) . ' €', 'javascript:void(0);', ['class' => 'btn btn-default btn-xs payer', 'data-montant' => $amountToPay, 'data-type' => 'payment']);
} elseif ($order->amount < $amountPaid) {
$amountToRefund = $amountPaid - $order->amount;
$html .= ' <span class="label label-success">Payé</span> <strong>' . number_format($amountToRefund, 2) . ' €</strong> à recréditer';
$buttonsCredit = Html::a('Recréditer ' . number_format($amountToRefund, 2) . ' €', 'javascript:void(0);', ['class' => 'btn btn-default btn-xs rembourser', 'data-montant' => $amountToRefund, 'data-type' => 'refund']);
$html .= ' <span class="label label-success">Payé</span> <strong>' . number_format($amountToRefund, 2) . ' €</strong> à rembourser';
$buttonsCredit = Html::a('Rembourser ' . number_format($amountToRefund, 2) . ' €', 'javascript:void(0);', ['class' => 'btn btn-default btn-xs rembourser', 'data-montant' => $amountToRefund, 'data-type' => 'refund']);
}

$html .= '<span class="buttons-credit">'
. 'Crédit : <strong>' . number_format($userProducer->credit, 2) . ' €</strong><br />'
. 'Cagnotte : <strong>' . number_format($userProducer->credit, 2) . ' €</strong><br />'
. $buttonsCredit
. '</span>';


+ 3
- 3
backend/controllers/UserController.php Просмотреть файл

@@ -372,7 +372,7 @@ class UserController extends BackendController

if ($userProducer) {
if ($userProducerModule->hasOutstandingCredit($userProducer)) {
$this->setFlash('error', "Vous ne pouvez pas supprimer cet utilisateur car il a toujours du crédit en cours.");
$this->setFlash('error', "Vous ne pouvez pas supprimer cet utilisateur car il a toujours de l'argent dans sa cagnotte.");
} else {
$userProducerModule->unlinkUserProducer($userProducer);
$this->setFlash('success', 'L\'utilisateur a bien été supprimé de votre établissement.');
@@ -388,7 +388,7 @@ class UserController extends BackendController
}

/**
* Affiche les données liées au crédit d'un utilisateur (formulaire, historique).
* Affiche les données liées à la cagnotte d'un utilisateur (formulaire, historique).
*/
public function actionCredit(int $id)
{
@@ -434,7 +434,7 @@ class UserController extends BackendController
}
}

$this->addFlash('success', 'Crédit mis à jour.');
$this->addFlash('success', 'Cagnotte mise à jour.');

return $this->refresh();
}

+ 6
- 6
backend/views/distribution/index.php Просмотреть файл

@@ -340,7 +340,7 @@ $this->setPageTitle('Distributions') ;
CA TTC : <strong>{{ totalActivePointSale() }} €</strong> / Poids : <strong>{{ weightActivePointSale() }} kg</strong>
</div>
<div v-if="producer.credit && pointSaleActive">
<span class="title">Crédit</span>
<span class="title">Cagnotte</span>
<template v-if="pointSaleActive.credit && pointSaleActive.credit == 1">
<template v-if="pointSaleActive.credit_functioning == 'mandatory'">Obligatoire</template>
<template v-else-if="pointSaleActive.credit_functioning == 'user'">Basé sur l'utilisateur</template>
@@ -362,7 +362,7 @@ $this->setPageTitle('Distributions') ;
<th class="column-point-sale" v-if="idActivePointSale == 0">Point de vente</th>
<th class="column-amount">Montant</th>
<th class="column-state-payment">Paiement</th>
<th class="column-credit" v-if="!idActivePointSale || (pointSaleActive && pointSaleActive.credit == 1)">Crédit</th>
<th class="column-credit" v-if="!idActivePointSale || (pointSaleActive && pointSaleActive.credit == 1)">Cagnotte</th>
<th class="column-actions">Actions</th>
<th class="column-tiller" v-if="producer && producer.tiller">Tiller</th>
</tr>
@@ -417,7 +417,7 @@ $this->setPageTitle('Distributions') ;
<a href="javascript:void(0);" @click="orderPaymentModalClick" :data-id-order="order.id">
<order-state-payment :order="order" :producer="producer"></order-state-payment>
</a>
<span class="glyphicon glyphicon-time" title="Débit automatique du crédit la veille de la distribution" v-if="order.amount != 0 && order.isCreditAutoPayment && (order.amount_paid == 0 || order.amount_paid < order.amount)"></span>
<span class="glyphicon glyphicon-time" title="Débit automatique de la cagnotte la veille de la distribution" v-if="order.amount != 0 && order.isCreditAutoPayment && (order.amount_paid == 0 || order.amount_paid < order.amount)"></span>
</template>
</td>
<td class="column-credit" v-if="!idActivePointSale || (pointSaleActive && pointSaleActive.credit == 1)">
@@ -441,7 +441,7 @@ $this->setPageTitle('Distributions') ;
<template v-if="!order.isPaidViaInvoice">
<li v-if="order.isCreditContext">
<a href="javascript:void(0);" @click="orderPaymentClick" :data-id-order="order.id" :data-type="getTypePayment(order)" data-mean-payment="credit">
<span class="glyphicon glyphicon-piggy-bank"></span> {{ getLabelPaymentRefund(order, 'Débiter', 'Recréditer', 'le crédit') }}
<span class="glyphicon glyphicon-piggy-bank"></span> {{ getLabelPaymentRefund(order, 'Débiter', 'Recréditer', 'la cagnotte') }}
</a>
</li>
<template v-if="(!order.isCreditFunctioningMandatory && !order.isCreditFunctioningUser) || !order.id_user">
@@ -559,7 +559,7 @@ $this->setPageTitle('Distributions') ;
<div class="info-box">
<span :class="'info-box-icon ' +((order.user.credit > 0) ? 'bg-green' : 'bg-red')"><i class="fa fa-user"></i></span>
<div class="info-box-content">
<span class="info-box-text">Crédit utilisateur</span>
<span class="info-box-text">Cagnotte</span>
<span class="info-box-number">
{{ order.user.credit.toFixed(2).replace(/(\d)(?=(\d{3})+(?:\.\d+)?$)/g, "$1,")+' €' }}
</span>
@@ -693,7 +693,7 @@ $this->setPageTitle('Distributions') ;
</div>
<div class="form-group" v-if="isPointSaleCreditFunctioningOptional(order.id_point_sale)">
<input type="checkbox" id="debit-credit" v-model="order.debitCredit" />
<label class="control-label" for="debit-credit">Débiter le crédit</label>
<label class="control-label" for="debit-credit">Débiter la cagnotte</label>
</div>
</div>
<div class="col-md-8">

+ 3
- 3
backend/views/point-sale/_form.php Просмотреть файл

@@ -79,7 +79,7 @@ $distributionModule = DistributionModule::getInstance();
<div class="panel-heading">
<h3 class="panel-title">
<span class="glyphicon glyphicon-piggy-bank"></span>
Crédit
Cagnotte
</h3>
</div>
<div class="panel-body">
@@ -87,7 +87,7 @@ $distributionModule = DistributionModule::getInstance();
<?php
$addHintCredit = '';
if (!$producerModule->getConfig('credit')):
$addHintCredit = '<br /><strong>Attention, le système de Crédit est désactivé au niveau des ' . Html::a('paramètres globaux', ['producer/update']) . '.</strong>';
$addHintCredit = '<br /><strong>Attention, le système de cagnotte est désactivé au niveau des ' . Html::a('paramètres globaux', ['producer/update']) . '.</strong>';
endif;

echo $form->field($model, 'credit')->widget(Toggle::class,
@@ -98,7 +98,7 @@ $distributionModule = DistributionModule::getInstance();
'data-off' => 'Non',
],
]
)->hint('Activez cette option si vous souhaitez que vos clients puissent régler leurs commandes via leur compte <strong>Crédit</strong> pour ce point de vente.'
)->hint('Activez cette option si vous souhaitez que vos clients puissent régler leurs commandes via leur cagnotte pour ce point de vente.'
. $addHintCredit); ?>

<?= $form->field($model, 'credit_functioning')

+ 7
- 7
backend/views/producer/update.php Просмотреть файл

@@ -347,10 +347,10 @@ $this->addBreadcrumb($this->getTitle());
<h4>Cagnotte</h4>
<?= $form->field($model, 'credit')
->dropDownList(Dropdown::noYesChoices())
->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>distrib</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.'); ?>
->label('Activer le système de cagnotte')
->hint('Le système de cagnotte permet à vos clients d\'avoir un compte prépayé sur le site <em>Souke</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 cagnotte en ligne.<br />'
. 'Ceci fait, les clients paient leur commande directement via leur cagnotte.'); ?>

<?= $form->field($model, 'credit_functioning')
->dropDownList([
@@ -361,7 +361,7 @@ $this->addBreadcrumb($this->getTitle());

<?= $form->field($model, 'use_credit_checked_default')
->dropDownList(Dropdown::noYesChoices())
->hint('Utilisation optionnelle du Crédit.'); ?>
->hint('Utilisation optionnelle de la cagnotte.'); ?>

<?= $form->field($model, 'credit_limit_reminder', [
'template' => '{label}<div class="input-group">{input}<span class="input-group-addon"><span class="glyphicon glyphicon-euro"></span></span></div>{hint}',
@@ -370,7 +370,7 @@ $this->addBreadcrumb($this->getTitle());

<?= $form->field($model, 'credit_limit', [
'template' => '{label}<div class="input-group">{input}<span class="input-group-addon"><span class="glyphicon glyphicon-euro"></span></span></div>{hint}',
])->hint('Limite de crédit que l\'utilisateur ne pourra pas dépasser. Laisser vide pour permettre un crédit négatif et infini.'); ?>
])->hint('Limite de cagnotte que l\'utilisateur ne pourra pas dépasser. Laisser vide pour permettre un montant de cagnotte négatif et infini.'); ?>

<?= $form->field($model, 'option_check_by_default_prevent_user_credit')
->dropDownList(Dropdown::noYesChoices()); ?>
@@ -384,7 +384,7 @@ $this->addBreadcrumb($this->getTitle());
<?= $form->field($model, 'option_stripe_mode_test')->dropDownList(Dropdown::noYesChoices()); ?>
<?= $form->field($model, 'option_online_payment_type')
->dropDownList([
'credit' => 'Alimentation du crédit',
'credit' => 'Alimentation de la cagnotte',
'order' => 'Paiement à la commande',
], []); ?>
<?= $form->field($model, 'option_stripe_public_key')->textInput(); ?>

+ 1
- 1
backend/views/subscription/_form.php Просмотреть файл

@@ -106,7 +106,7 @@ $pointSaleModule = $this->getPointSaleModule();
<div class="panel-heading">
<h3 class="panel-title">
<span class="glyphicon glyphicon-piggy-bank"></span>
Crédit
Cagnotte
</h3>
</div>
<div class="panel-body">

+ 1
- 1
backend/views/user/view.php Просмотреть файл

@@ -242,7 +242,7 @@ $this->addBreadcrumb('Récapitulatif') ;
<div class="panel-heading">
<h3 class="panel-title">
<i class="glyphicon glyphicon-piggy-bank"></i>
Crédit
Cagnotte
<a class="btn btn-default btn-xs" href="<?= Yii::$app->urlManager->createUrl(['user/credit','id' => $model->id]) ?>">
<span class="glyphicon glyphicon-euro"></span>
Voir / créditer

+ 1
- 2
common/mail/layouts/html.php Просмотреть файл

@@ -73,7 +73,7 @@ use yii\helpers\Html;
padding: 5px 15px ;
color: gray ;
border-top: dotted 1px #e0e0e0 ;
text-align: center ;
text-align: left;
}
#link-distrib img {
@@ -92,7 +92,6 @@ use yii\helpers\Html;
</div>
<div id="footer">
<a href="https://www.souke.fr/">Souke</a>
<div class="baseline">Plateforme de gestion de commandes</div>
</div>
<?php $this->endBody() ?>
</body>

+ 1
- 1
common/mail/layouts/text.php Просмотреть файл

@@ -47,7 +47,7 @@ use yii\helpers\Html;
<?= $content ?>

--
Souke | Plateforme de gestion de commandes
Souke
https://www.souke.fr/
<?php $this->endBody() ?>
<?php $this->endPage() ?>

+ 46
- 41
common/web/css/screen.css Просмотреть файл

@@ -294,60 +294,65 @@ termes.
border: solid 1px #b7ab9b;
}
/* line 156, ../sass/_common.scss */
#main form .form-control {
-moz-appearance: auto;
-webkit-appearance: auto;
}
/* line 160, ../sass/_common.scss */
#main form .form-control:hover {
border: solid 1px gray;
}
/* line 160, ../sass/_common.scss */
/* line 164, ../sass/_common.scss */
#main form .form-control:focus {
-moz-box-shadow: 0px 0px 0px 1px #ee6f42;
-webkit-box-shadow: 0px 0px 0px 1px #ee6f42;
box-shadow: 0px 0px 0px 1px #ee6f42;
border: solid 1px #ee6f42;
}
/* line 166, ../sass/_common.scss */
/* line 170, ../sass/_common.scss */
#main form .has-error .control-label {
color: black;
}
/* line 170, ../sass/_common.scss */
/* line 174, ../sass/_common.scss */
#main form .has-error .form-control:focus, #main form .has-error .form-control {
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
border-color: #a94442;
}
/* line 175, ../sass/_common.scss */
/* line 179, ../sass/_common.scss */
#main form .has-error .help-block-error {
color: #a94442;
}
/* line 180, ../sass/_common.scss */
/* line 184, ../sass/_common.scss */
#main form .form-buttons {
text-align: right;
}

/* Divers */
/* line 187, ../sass/_common.scss */
/* line 191, ../sass/_common.scss */
.float-left {
float: left;
}

/* line 191, ../sass/_common.scss */
/* line 195, ../sass/_common.scss */
.float-right {
float: right;
}

/* line 195, ../sass/_common.scss */
/* line 199, ../sass/_common.scss */
.clr {
clear: both;
}

/* Navigation utilisateur en haut du site */
/* line 200, ../sass/_common.scss */
/* line 204, ../sass/_common.scss */
.container-nav-user-top {
position: relative;
z-index: 999;
background-color: white;
}
/* line 205, ../sass/_common.scss */
/* line 209, ../sass/_common.scss */
.container-nav-user-top .nav-user-top {
position: absolute;
top: 0px;
@@ -355,7 +360,7 @@ termes.
background-color: white;
z-index: 100;
}
/* line 212, ../sass/_common.scss */
/* line 216, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar {
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
@@ -365,16 +370,16 @@ termes.
margin: 0px;
min-height: 0px;
}
/* line 219, ../sass/_common.scss */
/* line 223, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul {
position: relative;
left: -10px;
}
/* line 223, ../sass/_common.scss */
/* line 227, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li {
padding-left: 5px;
}
/* line 226, ../sass/_common.scss */
/* line 230, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li a.nav-link {
padding-left: 10px;
padding-right: 10px;
@@ -384,12 +389,12 @@ termes.
color: black;
font-size: 16px;
}
/* line 235, ../sass/_common.scss */
/* line 239, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li a.nav-link:hover, .container-nav-user-top .nav-user-top .navbar ul li a.nav-link:focus, .container-nav-user-top .nav-user-top .navbar ul li a.nav-link.active {
background: none;
color: #ee6f42;
}
/* line 240, ../sass/_common.scss */
/* line 244, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li a.nav-link .bi {
color: #ee6f42;
font-size: 16px;
@@ -397,48 +402,48 @@ termes.
position: relative;
top: 1px;
}
/* line 250, ../sass/_common.scss */
/* line 254, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li .dropdown-menu a {
padding: 2px 20px;
}
/* line 253, ../sass/_common.scss */
/* line 257, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li .dropdown-menu a:hover, .container-nav-user-top .nav-user-top .navbar ul li .dropdown-menu a:focus {
background-color: #ece4d8;
}
/* line 262, ../sass/_common.scss */
/* line 266, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .dropdown-menu {
z-index: 9999;
}
/* line 264, ../sass/_common.scss */
/* line 268, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .dropdown-menu .divider.dropdown-header {
padding: 0px;
}

@media screen and (max-width: 991px) {
/* line 277, ../sass/_common.scss */
/* line 279, ../sass/_common.scss */
.container-nav-user-top .nav-user-top {
position: relative;
}
/* line 281, ../sass/_common.scss */
/* line 283, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul {
width: 100%;
display: block;
margin-right: 0px;
text-align: center;
}
/* line 287, ../sass/_common.scss */
/* line 289, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li {
display: inline-block;
}
/* line 291, ../sass/_common.scss */
/* line 293, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar ul li.nav-item-producers .dropdown-menu {
right: -95px;
}
/* line 298, ../sass/_common.scss */
/* line 300, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar .link-text {
display: none;
}
/* line 302, ../sass/_common.scss */
/* line 304, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar .dropdown-menu {
position: absolute;
right: 5%;
@@ -449,32 +454,32 @@ termes.
-webkit-box-shadow: 0px 0px 4px gray;
box-shadow: 0px 0px 4px gray;
}
/* line 311, ../sass/_common.scss */
/* line 313, ../sass/_common.scss */
.container-nav-user-top .nav-user-top .navbar .dropdown-menu li a {
padding-left: 15px;
}
}
/* Block de date */
/* line 324, ../sass/_common.scss */
/* line 326, ../sass/_common.scss */
.block-date {
margin: 0px auto;
padding-top: 0px;
text-align: center;
}
/* line 329, ../sass/_common.scss */
/* line 331, ../sass/_common.scss */
.block-date .day {
text-transform: capitalize;
line-height: 15px;
font-size: 15px;
text-transform: uppercase;
}
/* line 336, ../sass/_common.scss */
/* line 338, ../sass/_common.scss */
.block-date .num {
font-size: 30px;
line-height: 35px;
font-weight: bold;
}
/* line 342, ../sass/_common.scss */
/* line 344, ../sass/_common.scss */
.block-date .month {
text-transform: uppercase;
line-height: 15px;
@@ -483,52 +488,52 @@ termes.
}

/* Page d'erreur */
/* line 352, ../sass/_common.scss */
/* line 354, ../sass/_common.scss */
#main #content .site-error .col-lg-6 {
margin: 0px auto;
float: none;
}
/* line 362, ../sass/_common.scss */
/* line 364, ../sass/_common.scss */
#main #content .site-error .panel h2 {
text-transform: none;
font-size: 25px;
margin-top: 0px;
margin-bottom: 20px;
}
/* line 369, ../sass/_common.scss */
/* line 371, ../sass/_common.scss */
#main #content .site-error .panel p:last-child {
margin-bottom: 0px;
padding-bottom: 0px;
}
/* line 375, ../sass/_common.scss */
/* line 377, ../sass/_common.scss */
#main #content .site-error .alert {
padding-bottom: 5px;
}
/* line 378, ../sass/_common.scss */
/* line 380, ../sass/_common.scss */
#main #content .site-error .alert h3 {
margin-top: 5px;
margin-bottom: 18px;
}
/* line 383, ../sass/_common.scss */
/* line 385, ../sass/_common.scss */
#main #content .site-error .alert p {
margin-bottom: 15px;
}
/* line 387, ../sass/_common.scss */
/* line 389, ../sass/_common.scss */
#main #content .site-error .alert .btn {
text-decoration: none;
}
/* line 392, ../sass/_common.scss */
/* line 394, ../sass/_common.scss */
#main #content .site-error p.error-message {
font-weight: bold;
}

/* Paiement */
/* line 398, ../sass/_common.scss */
/* line 400, ../sass/_common.scss */
.payment-detail-remaining-surplus {
font-size: 13px;
color: gray;
}
/* line 402, ../sass/_common.scss */
/* line 404, ../sass/_common.scss */
.payment-detail-remaining-surplus strong {
font-weight: bold;
}

+ 4
- 2
common/web/sass/_common.scss Просмотреть файл

@@ -153,6 +153,10 @@
border: solid 1px $color-gray-dark;
}

.form-control {
@include appearance(auto);
}

.form-control:hover {
border: solid 1px gray;
}
@@ -272,8 +276,6 @@
@media screen and (max-width: 991px) {

.container-nav-user-top {


.nav-user-top {
position: relative;


+ 1
- 1
domain/Producer/Producer/Producer.php Просмотреть файл

@@ -518,7 +518,7 @@ class Producer extends ActiveRecordCommon
'export_shopping_cart_labels_format' => 'Étiquettes (PDF) : format',
'option_document_display_price_unit_reference' => "Afficher les prix au kilogramme",
'id_user_group_default' => "Groupe utilisateur par défaut attribué à l'inscription",
'option_check_by_default_prevent_user_credit' => "Par défaut, prévenir l'utilisateur quand on crédite son compte",
'option_check_by_default_prevent_user_credit' => "Par défaut, prévenir l'utilisateur quand on crédite sa cagnotte",
'delivery_note_automatic_validation' => 'Validation automatique des bons de livraison',
'website' => 'Site web',
'option_leave_period_start' => 'Prochains congés : date de début',

+ 2
- 1
frontend/controllers/SiteController.php Просмотреть файл

@@ -324,9 +324,10 @@ class SiteController extends FrontendController
/**
* Affiche la page d'inscription et traite son formulaire.
*/
public function actionSignup()
public function actionSignup(string $type = 'user')
{
$model = new SignupForm();
$model->option_user_producer = $type;
$producerModule = $this->getProducerModule();

if ($model->load(Yii::$app->request->post())) {

+ 1
- 2
frontend/views/site/_button_producer_signup.php Просмотреть файл

@@ -9,14 +9,13 @@ $userCurrent = $this->getUserCurrent();
<?php if($producerManager->isProducerSignupOpen()): ?>
<?php if(Yii::$app->user->isGuest || $userModule->getSolver()->isStatusUser($userCurrent)): ?>
<a class="btn btn-primary"
href="<?= Yii::$app->user->isGuest ? \Yii::$app->urlManagerFrontend->createUrl(['site/signup']) : \Yii::$app->urlManagerFrontend->createUrl(['site/signup-producer']); ?>">
href="<?= Yii::$app->user->isGuest ? \Yii::$app->urlManagerFrontend->createUrl(['site/signup', 'type' => 'producer']) : \Yii::$app->urlManagerFrontend->createUrl(['site/signup-producer']); ?>">
<i class="bi bi-shop"></i> Je crée mon espace producteur
</a><br />
<?php if($producerManager->getMaximumNumberProducers()): ?>
<strong><?= ($producerSignupRemainingPlaces); ?></strong>
place<?php if($producerSignupRemainingPlaces > 1): ?>s<?php endif; ?> restante<?php if($producerSignupRemainingPlaces > 1): ?>s<?php endif; ?>
<?php endif; ?>

<br />
<br />
<?php endif; ?>

+ 2
- 2
frontend/views/site/_cgv_content.php Просмотреть файл

@@ -96,9 +96,9 @@ termes.
<h2>7. Paiement des commandes</h2>
<p>Le Site permet, si le Producteur active cette option, de réaliser des transactions
monétaires entre les utilisateurs et les Producteurs. Cette transaction vient
alimenter un crédit disponible sur le Site qui sera ensuite débité à chaque
alimenter une cagnotte disponible sur le Site qui sera ensuite débité à chaque
commande.<br>
Pour toutes les commandes non payées via le système de crédit, elles seront à
Pour toutes les commandes non payées via le système de cagnotte, elles seront à
régler directement auprès du Producteur lors de la réception des produits commandés
par l’Utilisateur.
</p>

+ 2
- 2
frontend/views/site/credit.php Просмотреть файл

@@ -36,8 +36,8 @@ pris connaissance de la licence CeCILL, et que vous en avez accepté les
termes.
*/

$this->setTitle('Crédit') ;
$this->setMeta('description','Présentation de la fonctionnalité "Crédit" de la plateforme.') ;
$this->setTitle('Cagnotte') ;
$this->setMeta('description','Présentation de la fonctionnalité "Cagnotte" de la plateforme.') ;

?>


+ 11
- 13
frontend/views/site/requestPasswordResetToken.php Просмотреть файл

@@ -44,24 +44,22 @@ use yii\bootstrap\ActiveForm;
/* @var $model \frontend\models\PasswordResetRequestForm */

$this->setTitle('Mot de passe oublié') ;
$this->setIcon('question-sign');
$this->setMeta('description', 'Vous avez oublié votre mot de passe ?');

$this->params['breadcrumbs'][] = $this->title;
?>
<div class="site-request-password-reset">

<div class="panel panel-default">
<div class="panel-body">
<div class="alert alert-warning">Renseignez votre adresse email, nous vous transmettrons un lien vous permettant de réinitialiser votre mot de passe.</div>
<div class="row">
<div class="col-lg-5">
<?php $form = ActiveForm::begin(['id' => 'request-password-reset-form']); ?>
<?= $form->field($model, 'email') ?>
<div class="form-group">
<?= Html::submitButton('Envoyer', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
<div class="row">
<div class="col-lg-6">
<div class="panel panel-default">
<div class="panel-body">
<div class="alert alert-warning">Renseignez votre adresse email, nous vous transmettrons un lien vous permettant de réinitialiser votre mot de passe.</div>
<?php $form = ActiveForm::begin(['id' => 'request-password-reset-form']); ?>
<?= $form->field($model, 'email') ?>
<div class="form-group form-buttons">
<?= Html::submitButton('Envoyer', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>

+ 2
- 2
frontend/views/site/service.php Просмотреть файл

@@ -71,8 +71,8 @@ $this->setIcon('console');
<?= block_feature("people", "Gestion des clients."); ?>
</div>
<div class="row">
<?= block_feature("currency-euro", "Système de crédit (ou cagnotte) permettant la comptabilisation des paiements."); ?>
<?= block_feature("credit-card", "Paiement en ligne possible via la plateforme <strong>Stripe</strong> pour que les clients puissent alimenter leur crédit de manière autonome."); ?>
<?= block_feature("piggy-bank", "Système de cagnotte permettant la comptabilisation des paiements."); ?>
<?= block_feature("credit-card", "Paiement en ligne possible via la plateforme <strong>Stripe</strong> pour que les clients puissent alimenter leur cagnotte de manière autonome."); ?>
</div>
<div class="row">
<?= block_feature("megaphone", "Communication facilitée avec les clients via l'envoi d'emails en masse."); ?>

+ 119
- 106
frontend/web/css/screen.css Просмотреть файл

@@ -750,61 +750,69 @@ section#header-title h1 .glyphicon {
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
line-height: 1.2rem;
font-size: 1.2rem;
padding: 10px 20px;
color: black;
}
/* line 745, ../sass/screen.scss */
/* line 749, ../sass/screen.scss */
.site-producers #producers-list #producer-search .form-control:focus {
-moz-box-shadow: none !important;
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
/* line 751, ../sass/screen.scss */
/* line 753, ../sass/screen.scss */
.site-producers #producers-list #producer-search .form-control::placeholder {
color: gray;
}
/* line 759, ../sass/screen.scss */
.site-producers #producers-list .alert-no-results {
display: none;
}
/* line 755, ../sass/screen.scss */
/* line 763, ../sass/screen.scss */
.site-producers #producers-list .panel {
margin-bottom: 40px;
}
/* line 758, ../sass/screen.scss */
/* line 766, ../sass/screen.scss */
.site-producers #producers-list .panel .panel-body {
border: 0px none;
overflow: hidden;
}
/* line 762, ../sass/screen.scss */
/* line 770, ../sass/screen.scss */
.site-producers #producers-list .panel .panel-body h2 {
margin-top: 0px;
margin-bottom: 10px;
padding-bottom: 0px;
}
/* line 767, ../sass/screen.scss */
/* line 775, ../sass/screen.scss */
.site-producers #producers-list .panel .panel-body h2 a.producer-link {
color: #e4ac07;
text-decoration: none;
}
/* line 772, ../sass/screen.scss */
/* line 780, ../sass/screen.scss */
.site-producers #producers-list .panel .panel-body h2 .btn-bookmark {
position: relative;
top: 0px;
font-size: 1.3rem;
color: gray;
}
/* line 780, ../sass/screen.scss */
/* line 788, ../sass/screen.scss */
.site-producers #producers-list .panel .panel-body p {
padding-bottom: 0px;
}
/* line 784, ../sass/screen.scss */
/* line 792, ../sass/screen.scss */
.site-producers #producers-list .panel .panel-body .producer-type {
font-family: 'worksans_regular';
font-size: 1.05rem;
text-transform: uppercase;
margin-bottom: 10px;
}
/* line 792, ../sass/screen.scss */
/* line 800, ../sass/screen.scss */
.site-producers #producers-list .panel .panel-footer {
border: 0px none;
padding: 0px;
}
/* line 796, ../sass/screen.scss */
/* line 804, ../sass/screen.scss */
.site-producers #producers-list .panel .panel-footer a {
display: block;
width: 100%;
@@ -815,7 +823,7 @@ section#header-title h1 .glyphicon {
padding-bottom: 0px;
margin: 0px;
}
/* line 806, ../sass/screen.scss */
/* line 814, ../sass/screen.scss */
.site-producers #producers-list .panel .panel-footer a.btn-secondary {
color: #e4ac07;
background-color: white;
@@ -824,7 +832,7 @@ section#header-title h1 .glyphicon {
-webkit-box-shadow: -30px 0px 15px -15px #ece4d8 inset;
box-shadow: -30px 0px 15px -15px #ece4d8 inset;
}
/* line 812, ../sass/screen.scss */
/* line 820, ../sass/screen.scss */
.site-producers #producers-list .panel .panel-footer a.btn-secondary:hover {
background-color: #f4efe8;
border: solid 1px #f4efe8;
@@ -832,7 +840,7 @@ section#header-title h1 .glyphicon {
-webkit-box-shadow: none;
box-shadow: none;
}
/* line 828, ../sass/screen.scss */
/* line 836, ../sass/screen.scss */
.site-producers #producers-list .panel .logo {
float: right;
position: relative;
@@ -846,7 +854,7 @@ section#header-title h1 .glyphicon {
text-align: right;
overflow: hidden;
}
/* line 839, ../sass/screen.scss */
/* line 847, ../sass/screen.scss */
.site-producers #producers-list .panel .logo .img-logo {
position: absolute;
top: 50%;
@@ -855,91 +863,91 @@ section#header-title h1 .glyphicon {
max-width: 90px;
max-height: 90px;
}
/* line 851, ../sass/screen.scss */
/* line 859, ../sass/screen.scss */
.site-producers #wrapper-producers-map {
z-index: 10;
}
/* line 854, ../sass/screen.scss */
/* line 862, ../sass/screen.scss */
.site-producers #wrapper-producers-map #producers-map {
height: 750px;
border: solid 1px #e0e0e0;
}
/* line 858, ../sass/screen.scss */
/* line 866, ../sass/screen.scss */
.site-producers #wrapper-producers-map #producers-map.fixed {
position: fixed !important;
top: 20px;
width: 300px;
height: 750px;
}
/* line 866, ../sass/screen.scss */
/* line 874, ../sass/screen.scss */
.site-producers #wrapper-producers-map #producers-map a {
text-decoration: none;
}
/* line 870, ../sass/screen.scss */
/* line 878, ../sass/screen.scss */
.site-producers #wrapper-producers-map #producers-map .popup-producer {
font-size: 14px;
color: #505050;
}
/* line 874, ../sass/screen.scss */
/* line 882, ../sass/screen.scss */
.site-producers #wrapper-producers-map #producers-map .popup-producer .name {
font-family: 'worksans_bold';
color: #e4ac07;
font-size: 23px;
margin-bottom: 2px;
}
/* line 881, ../sass/screen.scss */
/* line 889, ../sass/screen.scss */
.site-producers #wrapper-producers-map #producers-map .popup-producer .type {
font-family: 'worksans_regular';
text-transform: uppercase;
font-size: 16px;
margin-bottom: 5px;
}
/* line 888, ../sass/screen.scss */
/* line 896, ../sass/screen.scss */
.site-producers #wrapper-producers-map #producers-map .popup-producer .address {
font-family: 'worksans_regular';
margin-bottom: 14px;
color: gray;
}
/* line 894, ../sass/screen.scss */
/* line 902, ../sass/screen.scss */
.site-producers #wrapper-producers-map #producers-map .popup-producer .link {
color: white;
text-align: right;
}

/* line 906, ../sass/screen.scss */
/* line 914, ../sass/screen.scss */
#content .site-about .panel .panel-heading h2 {
margin: 0px;
padding: 0px;
}
/* line 913, ../sass/screen.scss */
/* line 921, ../sass/screen.scss */
#content .site-about .panel .panel-body h2 {
margin-bottom: 20px;
padding-bottom: 0px;
margin-top: 0px;
}
/* line 919, ../sass/screen.scss */
/* line 927, ../sass/screen.scss */
#content .site-about .panel .panel-body p:last-child {
margin-bottom: 0px;
padding-bottom: 5px;
}
/* line 928, ../sass/screen.scss */
/* line 936, ../sass/screen.scss */
#content .site-about #few-numbers .panel-body {
padding: 0px 20px 20px 20px;
}
/* line 932, ../sass/screen.scss */
/* line 940, ../sass/screen.scss */
#content .site-about #few-numbers .item {
text-align: center;
padding-top: 20px;
padding-bottom: 10px;
}
/* line 937, ../sass/screen.scss */
/* line 945, ../sass/screen.scss */
#content .site-about #few-numbers .item .number {
font-family: 'worksans_bold';
font-weight: bold;
font-size: 35px;
color: #ee6f42;
}
/* line 944, ../sass/screen.scss */
/* line 952, ../sass/screen.scss */
#content .site-about #few-numbers .item .description {
font-size: 16px;
line-height: 20px;
@@ -947,28 +955,28 @@ section#header-title h1 .glyphicon {
font-family: 'worksans_medium';
text-transform: uppercase;
}
/* line 952, ../sass/screen.scss */
/* line 960, ../sass/screen.scss */
#content .site-about #few-numbers .item .detail {
color: gray;
}
/* line 958, ../sass/screen.scss */
/* line 966, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials {
transition: all 0.4s;
}
/* line 961, ../sass/screen.scss */
/* line 969, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .item, #content .site-about #carousel-producers-testimonials .carousel-caption {
transition: all 0.4s;
}
/* line 965, ../sass/screen.scss */
/* line 973, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .carousel-indicators {
display: none;
}
/* line 969, ../sass/screen.scss */
/* line 977, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .carousel-control-next,
#content .site-about #carousel-producers-testimonials .carousel-control-prev {
background: none;
}
/* line 974, ../sass/screen.scss */
/* line 982, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .carousel-control-next .bi,
#content .site-about #carousel-producers-testimonials .carousel-control-prev .bi {
position: absolute;
@@ -976,63 +984,63 @@ section#header-title h1 .glyphicon {
font-size: 35px;
color: black;
}
/* line 981, ../sass/screen.scss */
/* line 989, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .carousel-control-next.carousel-control-next .bi,
#content .site-about #carousel-producers-testimonials .carousel-control-prev.carousel-control-next .bi {
right: 0px;
}
/* line 985, ../sass/screen.scss */
/* line 993, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .carousel-control-next.carousel-control-prev .bi,
#content .site-about #carousel-producers-testimonials .carousel-control-prev.carousel-control-prev .bi {
left: 0px;
}
/* line 991, ../sass/screen.scss */
/* line 999, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .carousel-item .carousel-caption {
top: 20px;
color: black;
text-shadow: none;
padding: 0px;
}
/* line 997, ../sass/screen.scss */
/* line 1005, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .carousel-item .carousel-caption img {
display: block;
width: 150px;
height: auto;
margin: 0px auto 15px auto;
}
/* line 1005, ../sass/screen.scss */
/* line 1013, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .carousel-item .carousel-caption .producer-testimony {
margin-bottom: 12px;
}
/* line 1009, ../sass/screen.scss */
/* line 1017, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .carousel-item .carousel-caption .producer-details {
font-style: italic;
color: gray;
}
/* line 1013, ../sass/screen.scss */
/* line 1021, ../sass/screen.scss */
#content .site-about #carousel-producers-testimonials .carousel-item .carousel-caption .producer-details .producer-name {
color: #ee6f42;
}

/* line 1023, ../sass/screen.scss */
/* line 1031, ../sass/screen.scss */
#content .site-service #panel-go-further {
text-align: center;
}

/* line 1028, ../sass/screen.scss */
/* line 1036, ../sass/screen.scss */
#content #mentions {
padding-top: 20px;
}
/* line 1031, ../sass/screen.scss */
/* line 1039, ../sass/screen.scss */
#content #mentions div.content {
width: 60%;
font-size: 90%;
}
/* line 1036, ../sass/screen.scss */
/* line 1044, ../sass/screen.scss */
#content #mentions p {
padding-bottom: 15px;
}
/* line 1040, ../sass/screen.scss */
/* line 1048, ../sass/screen.scss */
#content #mentions h2 {
color: black;
padding-bottom: 40px;
@@ -1040,7 +1048,7 @@ section#header-title h1 .glyphicon {
line-height: 35px;
font-family: 'highvoltageregular';
}
/* line 1048, ../sass/screen.scss */
/* line 1056, ../sass/screen.scss */
#content #mentions h3 {
font-family: "highvoltageregular";
font-size: 18px;
@@ -1049,44 +1057,44 @@ section#header-title h1 .glyphicon {
color: black;
}

/* line 1063, ../sass/screen.scss */
/* line 1071, ../sass/screen.scss */
.vegas-loading {
display: none;
}

/* line 1070, ../sass/screen.scss */
/* line 1078, ../sass/screen.scss */
#profil-user .form-group.field-user-no_mail label {
font-weight: normal;
}
/* line 1074, ../sass/screen.scss */
/* line 1082, ../sass/screen.scss */
#profil-user .form-group label {
cursor: pointer;
}
/* line 1079, ../sass/screen.scss */
/* line 1087, ../sass/screen.scss */
#profil-user #mails-days-distribution .form-group {
float: left;
margin-right: 15px;
}
/* line 1083, ../sass/screen.scss */
/* line 1091, ../sass/screen.scss */
#profil-user #mails-days-distribution .form-group label {
font-weight: normal;
}
/* line 1089, ../sass/screen.scss */
/* line 1097, ../sass/screen.scss */
#profil-user p.strong {
font-weight: bold;
}
/* line 1093, ../sass/screen.scss */
/* line 1101, ../sass/screen.scss */
#profil-user h2 {
text-transform: none;
font-size: 25px;
}
/* line 1097, ../sass/screen.scss */
/* line 1105, ../sass/screen.scss */
#profil-user h2:first-child {
margin-top: 0px;
}

/* login */
/* line 1108, ../sass/screen.scss */
/* line 1116, ../sass/screen.scss */
.back-white, .site-login .col-lg-5, .site-signup .col-lg-5 {
background-color: white;
padding: 30px;
@@ -1095,7 +1103,7 @@ section#header-title h1 .glyphicon {
border-radius: 5px;
}

/* line 1115, ../sass/screen.scss */
/* line 1123, ../sass/screen.scss */
.site-login .col-lg-5 {
margin: 0px auto;
float: none;
@@ -1103,53 +1111,53 @@ section#header-title h1 .glyphicon {
}

/* signup */
/* line 1125, ../sass/screen.scss */
/* line 1133, ../sass/screen.scss */
.modal-backdrop {
z-index: 999;
}

/* line 1130, ../sass/screen.scss */
/* line 1138, ../sass/screen.scss */
.site-signup .col-lg-5 {
margin: 0px auto;
float: none;
max-width: 500px;
}

/* line 1143, ../sass/screen.scss */
/* line 1151, ../sass/screen.scss */
#form-signup #user-producer {
margin-bottom: 30px;
}
/* line 1148, ../sass/screen.scss */
/* line 1156, ../sass/screen.scss */
#form-signup #signupform-id_producer option:disabled {
font-weight: bold;
color: black;
}
/* line 1154, ../sass/screen.scss */
/* line 1162, ../sass/screen.scss */
#form-signup #champs-producer {
display: none;
}
/* line 1158, ../sass/screen.scss */
/* line 1166, ../sass/screen.scss */
#form-signup #buttons-signup {
margin-top: 30px;
}
/* line 1162, ../sass/screen.scss */
/* line 1170, ../sass/screen.scss */
#form-signup .field-signupform-is_test {
display: none;
}

/* line 1167, ../sass/screen.scss */
/* line 1175, ../sass/screen.scss */
#col-left {
padding: 0px;
z-index: 15;
}
/* line 1171, ../sass/screen.scss */
/* line 1179, ../sass/screen.scss */
#col-left .affix {
width: 25%;
border-right: solid 1px #e0e0e0;
background-color: #FAFAFA;
height: 100%;
}
/* line 1178, ../sass/screen.scss */
/* line 1186, ../sass/screen.scss */
#col-left #link-home {
text-decoration: none;
font-size: 22px;
@@ -1158,28 +1166,28 @@ section#header-title h1 .glyphicon {
padding: 10px;
background-color: #e4ac07;
}
/* line 1186, ../sass/screen.scss */
/* line 1194, ../sass/screen.scss */
#col-left #link-home img {
height: 50px;
margin-bottom: 5px;
float: left;
}
/* line 1192, ../sass/screen.scss */
/* line 1200, ../sass/screen.scss */
#col-left #link-home .text {
padding-left: 62px;
}
/* line 1195, ../sass/screen.scss */
/* line 1203, ../sass/screen.scss */
#col-left #link-home .text .bap {
font-family: "comfortaalight";
font-size: 24px;
}
/* line 1200, ../sass/screen.scss */
/* line 1208, ../sass/screen.scss */
#col-left #link-home .text .plateforme {
font-size: 17px;
font-family: "myriadpro-light";
color: #ee6f42;
}
/* line 1208, ../sass/screen.scss */
/* line 1216, ../sass/screen.scss */
#col-left h2 {
font-family: 'myriadpro-regular';
color: black;
@@ -1187,37 +1195,37 @@ section#header-title h1 .glyphicon {
margin-bottom: 10px;
padding: 15px 0px 5px 15px;
}
/* line 1216, ../sass/screen.scss */
/* line 1224, ../sass/screen.scss */
#col-left #links {
background-color: white;
margin-bottom: 20px;
}
/* line 1222, ../sass/screen.scss */
/* line 1230, ../sass/screen.scss */
#col-left #links ul li a {
text-align: center;
border-right: solid 1px #e0e0e0;
}
/* line 1226, ../sass/screen.scss */
/* line 1234, ../sass/screen.scss */
#col-left #links ul li a:hover {
background-color: #ee6f42;
color: white;
}
/* line 1232, ../sass/screen.scss */
/* line 1240, ../sass/screen.scss */
#col-left #links ul li:last-child a {
border-right: 0px none;
}
/* line 1242, ../sass/screen.scss */
/* line 1250, ../sass/screen.scss */
#col-left #producers nav.nav-producers ul li a {
padding-left: 50px;
height: 40px;
}
/* line 1248, ../sass/screen.scss */
/* line 1256, ../sass/screen.scss */
#col-left #producers nav.nav-producers ul li.active a {
background-color: #ee6f42;
position: relative;
color: white;
}
/* line 1253, ../sass/screen.scss */
/* line 1261, ../sass/screen.scss */
#col-left #producers nav.nav-producers ul li.active a:after {
right: -40px;
top: 50%;
@@ -1232,18 +1240,18 @@ section#header-title h1 .glyphicon {
border-width: 20px;
margin-top: -20px;
}
/* line 1272, ../sass/screen.scss */
/* line 1280, ../sass/screen.scss */
#col-left ul {
list-style-type: none;
margin: 0px;
padding: 0px;
}
/* line 1277, ../sass/screen.scss */
/* line 1285, ../sass/screen.scss */
#col-left ul li {
margin: 0px;
padding: 0px;
}
/* line 1281, ../sass/screen.scss */
/* line 1289, ../sass/screen.scss */
#col-left ul li a {
text-decoration: none;
font-family: 'comfortaaregular';
@@ -1254,18 +1262,18 @@ section#header-title h1 .glyphicon {
display: block;
color: black;
}
/* line 1291, ../sass/screen.scss */
/* line 1299, ../sass/screen.scss */
#col-left ul li a span.name, #col-left ul li a span.wording {
display: none;
}
/* line 1298, ../sass/screen.scss */
/* line 1306, ../sass/screen.scss */
#col-left p {
padding: 20px;
padding-top: 0px;
color: gray;
}

/* line 1306, ../sass/screen.scss */
/* line 1314, ../sass/screen.scss */
#content .header-title {
height: 79px;
padding: 20px 20px;
@@ -1280,7 +1288,7 @@ section#header-title h1 .glyphicon {
-webkit-box-shadow: 0px 0px 8px #e0e0e0;
box-shadow: 0px 0px 8px #e0e0e0;
}
/* line 1318, ../sass/screen.scss */
/* line 1326, ../sass/screen.scss */
#content .header-title h1 {
color: black;
font-family: 'myriadpro-regular';
@@ -1288,7 +1296,7 @@ section#header-title h1 .glyphicon {
font-size: 25px;
text-transform: uppercase;
}
/* line 1326, ../sass/screen.scss */
/* line 1334, ../sass/screen.scss */
#content .header-title h2 {
color: gray;
text-transform: none;
@@ -1297,16 +1305,16 @@ section#header-title h1 .glyphicon {
line-height: 20px;
}

/* line 1337, ../sass/screen.scss */
/* line 1345, ../sass/screen.scss */
.header-producer {
z-index: 1;
}
/* line 1340, ../sass/screen.scss */
/* line 1348, ../sass/screen.scss */
.header-producer #block-main-img {
height: 144px;
overflow: hidden;
}
/* line 1344, ../sass/screen.scss */
/* line 1352, ../sass/screen.scss */
.header-producer #block-main-img #main-img {
width: 100%;
height: auto;
@@ -1316,7 +1324,7 @@ section#header-title h1 .glyphicon {
-webkit-border-radius: 0px;
border-radius: 0px;
}
/* line 1353, ../sass/screen.scss */
/* line 1361, ../sass/screen.scss */
.header-producer h1 {
font-family: 'comfortaaregular';
text-align: center;
@@ -1324,23 +1332,23 @@ section#header-title h1 .glyphicon {
top: 30px;
left: 40px;
}
/* line 1360, ../sass/screen.scss */
/* line 1368, ../sass/screen.scss */
.header-producer h1 span {
background-color: rgba(255, 255, 255, 0.8);
padding: 10px 30px;
border: dotted 1px black;
}

/* line 1371, ../sass/screen.scss */
/* line 1379, ../sass/screen.scss */
nav#menu-producer {
border-bottom: solid 1px #e0e0e0;
}
/* line 1375, ../sass/screen.scss */
/* line 1383, ../sass/screen.scss */
nav#menu-producer ul li {
padding: 0px;
margin: 0px;
}
/* line 1379, ../sass/screen.scss */
/* line 1387, ../sass/screen.scss */
nav#menu-producer ul li a {
border-right: solid 1px #e0e0e0;
text-decoration: none;
@@ -1348,46 +1356,51 @@ nav#menu-producer ul li a {
-webkit-border-radius: 0px;
border-radius: 0px;
}
/* line 1384, ../sass/screen.scss */
/* line 1392, ../sass/screen.scss */
nav#menu-producer ul li a:hover {
background-color: #ee6f42;
color: white;
}

/* line 1394, ../sass/screen.scss */
/* line 1402, ../sass/screen.scss */
.site-contact .col-lg-6 {
margin: 0px auto;
float: none;
}
/* line 1399, ../sass/screen.scss */
/* line 1407, ../sass/screen.scss */
.site-contact .form-group.submit {
text-align: right;
}

/* line 1405, ../sass/screen.scss */
/* line 1413, ../sass/screen.scss */
.site-opinion .col-lg-6 {
margin: 0px auto;
float: none;
}
/* line 1410, ../sass/screen.scss */
/* line 1418, ../sass/screen.scss */
.site-opinion .field-opinionform-istest {
display: none;
}
/* line 1414, ../sass/screen.scss */
/* line 1422, ../sass/screen.scss */
.site-opinion .form-group.submit {
text-align: center;
}

/* line 1421, ../sass/screen.scss */
/* line 1429, ../sass/screen.scss */
#site-prices .panel p {
padding-bottom: 0px;
}

/* line 1428, ../sass/screen.scss */
/* line 1436, ../sass/screen.scss */
#contact-form .field-contactform-istest {
display: none;
}

/* line 1442, ../sass/screen.scss */
.site-request-password-reset .col-lg-6 {
margin: 0px auto;
}

/**
Copyright Souke (2018)


+ 14
- 0
frontend/web/sass/screen.scss Просмотреть файл

@@ -741,10 +741,18 @@ section#header-title {
.form-control {
border: 0px none;
@include border-radius(0px);
line-height: 1.2rem;
font-size: 1.2rem;
padding: 10px 20px;
color: black;

&:focus {
@include box-shadow(none !important);
}

&::placeholder {
color: gray;
}
}
}

@@ -1430,6 +1438,12 @@ nav#menu-producer {
}
}

.site-request-password-reset {
.col-lg-6 {
margin: 0px auto;
}
}

@import "_order_system.scss";
@import "_responsive.scss";


+ 1
- 1
producer/views/credit/history.php Просмотреть файл

@@ -45,7 +45,7 @@ $paymentManager = PaymentModule::getInstance();
$featureChecker = FeatureModule::getInstance()->getChecker();
$producer = $this->context->getProducerCurrent();
$this->setTitle('Cagnotte <div id="credit-user">' . number_format($creditUser, 2, ',', ' ') . ' €</div>');
$this->setPageTitle('Crédit');
$this->setPageTitle('Cagnotte');

if ($featureChecker->isEnabled(Feature::ALIAS_ONLINE_PAYMENT) && $this->context->getProducerCurrent()->online_payment) {
$this->addButton(

+ 1
- 1
producer/views/order/confirm.php Просмотреть файл

@@ -48,7 +48,7 @@ $orderModule = OrderModule::getInstance();
$pointSaleModule = PointSaleModule::getInstance();
$producer = GlobalParam::getCurrentProducer() ;

$this->setTitle('Confirmation de commande') ;
//$this->setTitle('Confirmation de commande') ;

?>


+ 4
- 4
producer/views/order/order.php Просмотреть файл

@@ -485,8 +485,8 @@ $this->setTitle('Commander');
Vous devez
<template v-if="producer.online_payment == 1"><a
href="<?= \Yii::$app->urlManager->createUrl(['credit/add']) ?>">recharger
votre crédit</a></template>
<template v-else>recharger votre crédit</template>
votre cagnotte</a></template>
<template v-else>recharger votre cagnotte</template>
auprès de votre producteur ou supprimer des produits.</span>
Votre producteur n'autorise pas une cagnotte avec un montant inférieur
à <strong>{{ formatPrice(producer.credit_limit) }}</strong>.
@@ -517,7 +517,7 @@ $this->setTitle('Commander');
<template v-if="order == null || order.amount_paid == 0">
<span v-if="checkCreditLimit(order)">{{ priceTotal(true) }} seront débités</span>
<span v-else>
{{ formatPrice(user.credit) }} seront débités. (Limite de crédit à {{ formatPrice(producer.credit_limit) }})<br/>
{{ formatPrice(user.credit) }} seront débités. (Limite de cagnotte à {{ formatPrice(producer.credit_limit) }})<br/>
Restera {{ formatPrice(priceTotal() - user.credit) }} à régler.
</span>
</template>
@@ -525,7 +525,7 @@ $this->setTitle('Commander');
v-else-if="order != null && order.amount_paid > 0 && order.amount_paid < priceTotal()">
<span v-if="checkCreditLimit(order)">{{ formatPrice(priceTotal() - order.amount_paid) }} seront débités</span>
<span v-else>
{{ formatPrice(user.credit) }} seront débités. (Limite de crédit à {{ formatPrice(producer.credit_limit) }})<br/>
{{ formatPrice(user.credit) }} seront débités. (Limite de cagnotte à {{ formatPrice(producer.credit_limit) }})<br/>
Restera {{ formatPrice(priceTotal() - order.amount_paid - user.credit) }} à régler.
</span>
</template>

+ 17
- 1
producer/views/site/contact.php Просмотреть файл

@@ -61,9 +61,25 @@ $this->setTitle('Contact');
<?php ActiveForm::end(); ?>
</div>
<div class="col-lg-6">
<br />
<div class="card">
<div class="card-body">
<h5 class="card-title">
<i class="bi bi-geo-alt"></i>
Adresse
</h5>
<div class="card-text">
<strong><?= Html::encode($producer->name); ?></strong><br />
<?= nl2br(Html::encode($producer->address)); ?><br />
<?= Html::encode($producer->postcode); ?> <?= Html::encode($producer->city); ?><br />
</div>
</div>
</div>

<?php if($producer->website): ?>
<br />
<a href="<?= Html::encode($producer->website); ?>" target="_blank" class="btn btn-default">
<br />
<a href="<?= Html::encode($producer->website); ?>" target="_blank" class="btn btn-secondary">
<i class="bi bi-globe"></i>
Site web
</a>

+ 9
- 4
producer/web/css/screen.css Просмотреть файл

@@ -1888,18 +1888,23 @@ termes.
width: 150px;
}
/* line 147, ../sass/subscription/_form.scss */
.subscription-create .subscription-form .products .price-total,
.subscription-update .subscription-form .products .price-total {
font-family: 'worksans_bold';
}
/* line 151, ../sass/subscription/_form.scss */
.subscription-create .subscription-form .products .unit,
.subscription-update .subscription-form .products .unit {
color: gray;
font-size: 13px;
}
/* line 152, ../sass/subscription/_form.scss */
/* line 156, ../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;
font-size: 20px;
}
/* line 156, ../sass/subscription/_form.scss */
/* line 160, ../sass/subscription/_form.scss */
.subscription-create .subscription-form .products tr.total .price-total span,
.subscription-update .subscription-form .products tr.total .price-total span {
font-family: 'worksans_bold';
@@ -1911,12 +1916,12 @@ termes.
color: white;
font-size: 1.2rem;
}
/* line 167, ../sass/subscription/_form.scss */
/* line 171, ../sass/subscription/_form.scss */
.subscription-create .subscription-form .form-buttons,
.subscription-update .subscription-form .form-buttons {
text-align: center !important;
}
/* line 170, ../sass/subscription/_form.scss */
/* line 174, ../sass/subscription/_form.scss */
.subscription-create .subscription-form .form-buttons button,
.subscription-update .subscription-form .form-buttons button {
display: inline-block;

+ 4
- 0
producer/web/sass/subscription/_form.scss Просмотреть файл

@@ -143,6 +143,10 @@
text-align: center ;
width: 150px ;
}

.price-total {
font-family: 'worksans_bold';
}
.unit {
color: gray ;

Загрузка…
Отмена
Сохранить