Browse Source

Intégration Souke

feature/souke
Guillaume Bourgeois 7 months ago
parent
commit
f73ef51911
19 changed files with 662 additions and 673 deletions
  1. +1
    -0
      backend/views/producer/update.php
  2. +1
    -1
      common/web/sass/screen.scss
  3. +26
    -0
      console/migrations/m240402_120257_add_column_producer_main_color.php
  4. +1
    -1
      domain/Producer/Producer/DolibarrProducerUtils.php
  5. +4
    -2
      domain/Producer/Producer/Producer.php
  6. +39
    -39
      frontend/web/css/screen.css
  7. +1
    -1
      frontend/web/sass/screen.scss
  8. +198
    -155
      producer/views/layouts/main.php
  9. +4
    -2
      producer/views/site/index.php
  10. +226
    -293
      producer/web/css/screen.css
  11. +124
    -145
      producer/web/sass/_layout.scss
  12. +5
    -5
      producer/web/sass/_responsive.scss
  13. +9
    -10
      producer/web/sass/order/_form.scss
  14. +1
    -1
      producer/web/sass/order/_history.scss
  15. +12
    -12
      producer/web/sass/order/_order.scss
  16. +7
    -2
      producer/web/sass/screen.scss
  17. +1
    -2
      producer/web/sass/site/_credit_history.scss
  18. +1
    -1
      producer/web/sass/site/_index.scss
  19. +1
    -1
      producer/web/sass/subscription/_form.scss

+ 1
- 0
backend/views/producer/update.php View File

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


<h4>Apparence</h4> <h4>Apparence</h4>
<?= $form->field($model, 'option_main_color') ?>
<?= $form->field($model, 'background_color_logo') ?> <?= $form->field($model, 'background_color_logo') ?>
<?= $form->field($model, 'logoFile')->fileInput() ?> <?= $form->field($model, 'logoFile')->fileInput() ?>
<?php <?php

+ 1
- 1
common/web/sass/screen.scss View File



$color-primary: #ee6f42; $color-primary: #ee6f42;
$color-secondary: #e4ac07; $color-secondary: #e4ac07;
$color-gray-light: #f4efe8;
$color-gray: #ece4d8; $color-gray: #ece4d8;
$color-gray-light: #f4efe8;


$dir-fonts: '../fonts/' ; $dir-fonts: '../fonts/' ;



+ 26
- 0
console/migrations/m240402_120257_add_column_producer_main_color.php View File

<?php

use yii\db\Migration;
use yii\db\Schema;

/**
* Class m240402_120257_add_column_producer_main_color
*/
class m240402_120257_add_column_producer_main_color extends Migration
{
/**
* {@inheritdoc}
*/
public function safeUp()
{
$this->addColumn('producer', 'option_main_color', Schema::TYPE_STRING);
}

/**
* {@inheritdoc}
*/
public function safeDown()
{
$this->dropColumn('producer', 'option_main_color');
}
}

+ 1
- 1
domain/Producer/Producer/DolibarrProducerUtils.php View File

$invoicesArray = $this->getDolibarrProducerInvoices($producer); $invoicesArray = $this->getDolibarrProducerInvoices($producer);


foreach($invoicesArray as $invoice) { foreach($invoicesArray as $invoice) {
if($invoice['remaintopay'] > 0) {
if(isset($invoice['remaintopay']) && $invoice['remaintopay'] > 0) {
$unpaidInvoicesArray[] = $invoice; $unpaidInvoicesArray[] = $invoice;
} }
} }

+ 4
- 2
domain/Producer/Producer/Producer.php View File

'tiller_access_token', 'tiller_access_token',
'tiller_refresh_token', 'tiller_refresh_token',
'tiller_redirect_uri', 'tiller_redirect_uri',
'tiller_store_id'
'tiller_store_id',
'option_main_color'
], ],
'string' 'string'
], ],
'tiller_redirect_uri' => 'Tiller : callback URL', 'tiller_redirect_uri' => 'Tiller : callback URL',
'tiller_store_id' => 'Tiller : store ID', 'tiller_store_id' => 'Tiller : store ID',
'is_new' => 'Nouveau', 'is_new' => 'Nouveau',
'agree_contact_about_software_development' => "J'accepte d'être contacté dans le cadre de l'amélioration du logiciel"
'agree_contact_about_software_development' => "J'accepte d'être contacté dans le cadre de l'amélioration du logiciel",
'option_main_color' => 'Couleur principale'
]; ];
} }



+ 39
- 39
frontend/web/css/screen.css View File

-moz-border-radius: 110px; -moz-border-radius: 110px;
-webkit-border-radius: 110px; -webkit-border-radius: 110px;
border-radius: 110px; border-radius: 110px;
border: solid 2px #ece4d8;
border: solid 3px #ece4d8;
text-align: right; text-align: right;
overflow: hidden; overflow: hidden;
} }
text-align: center; text-align: center;
padding: 10px 0px; padding: 10px 0px;
} }
/* line 49, ../sass/_responsive.scss */
/* line 48, ../sass/_responsive.scss */
#header #the-header { #header #the-header {
width: 100%; width: 100%;
} }
/* line 53, ../sass/_responsive.scss */
/* line 52, ../sass/_responsive.scss */
#header #link-home { #header #link-home {
position: relative; position: relative;
top: 0px; top: 0px;
display: inline-block; display: inline-block;
} }
/* line 58, ../sass/_responsive.scss */
/* line 57, ../sass/_responsive.scss */
#header #link-home img { #header #link-home img {
margin-bottom: 0px; margin-bottom: 0px;
} }
/* line 63, ../sass/_responsive.scss */
/* line 62, ../sass/_responsive.scss */
#header .navbar-toggler { #header .navbar-toggler {
position: absolute; position: absolute;
top: 25px; top: 25px;
right: 0px; right: 0px;
background-color: white; background-color: white;
} }
/* line 70, ../sass/_responsive.scss */
/* line 69, ../sass/_responsive.scss */
#header nav { #header nav {
width: 100%; width: 100%;
height: auto; height: auto;
} }
/* line 74, ../sass/_responsive.scss */
/* line 73, ../sass/_responsive.scss */
#header nav .navbar-collapse { #header nav .navbar-collapse {
border: 0px none; border: 0px none;
} }
/* line 78, ../sass/_responsive.scss */
/* line 77, ../sass/_responsive.scss */
#header nav .collapse { #header nav .collapse {
position: relative; position: relative;
top: 0px; top: 0px;
left: 0px; left: 0px;
} }
/* line 83, ../sass/_responsive.scss */
/* line 82, ../sass/_responsive.scss */
#header nav .collapse ul { #header nav .collapse ul {
position: relative; position: relative;
display: block; display: block;
margin-top: 20px; margin-top: 20px;
border: 0px none; border: 0px none;
} }
/* line 90, ../sass/_responsive.scss */
/* line 89, ../sass/_responsive.scss */
#header nav .collapse ul li { #header nav .collapse ul li {
display: block; display: block;
float: none; float: none;
} }
/* line 94, ../sass/_responsive.scss */
/* line 93, ../sass/_responsive.scss */
#header nav .collapse ul li a { #header nav .collapse ul li a {
font-family: 'worksans_regular'; font-family: 'worksans_regular';
display: block; display: block;
margin: 0px; margin: 0px;
border-bottom: 0px none; border-bottom: 0px none;
} }
/* line 101, ../sass/_responsive.scss */
/* line 100, ../sass/_responsive.scss */
#header nav .collapse ul li a.active { #header nav .collapse ul li a.active {
border-bottom: 0px none; border-bottom: 0px none;
background-color: #e4ac07; background-color: #e4ac07;
color: white; color: white;
} }


/* line 113, ../sass/_responsive.scss */
/* line 112, ../sass/_responsive.scss */
#content { #content {
padding-top: 20px; padding-top: 20px;
padding-bottom: 20px; padding-bottom: 20px;
} }
/* line 118, ../sass/_responsive.scss */
/* line 117, ../sass/_responsive.scss */
#content .panel.panel-padding-large .panel-body { #content .panel.panel-padding-large .panel-body {
padding: 20px; padding: 20px;
} }


/* line 124, ../sass/_responsive.scss */
/* line 123, ../sass/_responsive.scss */
#footer a { #footer a {
padding: 0px 5px; padding: 0px 5px;
} }


/* line 129, ../sass/_responsive.scss */
/* line 128, ../sass/_responsive.scss */
.site-producers #wrapper-producers-map { .site-producers #wrapper-producers-map {
display: none; display: none;
} }
} }
@media screen and (max-width: 768px) { @media screen and (max-width: 768px) {
/* line 137, ../sass/_responsive.scss */
/* line 136, ../sass/_responsive.scss */
#main { #main {
padding-bottom: 0px; padding-bottom: 0px;
min-height: 550px; min-height: 550px;
} }
/* line 141, ../sass/_responsive.scss */
/* line 140, ../sass/_responsive.scss */
#main .container { #main .container {
padding-left: 15px; padding-left: 15px;
padding-right: 15px; padding-right: 15px;
} }


/* line 147, ../sass/_responsive.scss */
/* line 146, ../sass/_responsive.scss */
#footer { #footer {
position: relative; position: relative;
} }
/* line 150, ../sass/_responsive.scss */
/* line 149, ../sass/_responsive.scss */
#footer .bull { #footer .bull {
display: none; display: none;
} }
/* line 154, ../sass/_responsive.scss */
/* line 153, ../sass/_responsive.scss */
#footer a { #footer a {
display: block; display: block;
text-align: center; text-align: center;
} }


/* line 162, ../sass/_responsive.scss */
/* line 161, ../sass/_responsive.scss */
.site-iamproducer .panel .hook { .site-iamproducer .panel .hook {
margin-bottom: 25px; margin-bottom: 25px;
} }
/* line 165, ../sass/_responsive.scss */
/* line 164, ../sass/_responsive.scss */
.site-iamproducer .panel .hook br { .site-iamproducer .panel .hook br {
display: none; display: none;
} }
/* line 169, ../sass/_responsive.scss */
/* line 168, ../sass/_responsive.scss */
.site-iamproducer .panel .hook .word-animate { .site-iamproducer .panel .hook .word-animate {
font-size: 20px; font-size: 20px;
} }
/* line 175, ../sass/_responsive.scss */
/* line 174, ../sass/_responsive.scss */
.site-iamproducer .panel .links a { .site-iamproducer .panel .links a {
display: block; display: block;
margin-bottom: 5px; margin-bottom: 5px;
} }
/* line 182, ../sass/_responsive.scss */
/* line 181, ../sass/_responsive.scss */
.site-iamproducer .producer, .site-iamproducer .users { .site-iamproducer .producer, .site-iamproducer .users {
padding-right: 0px; padding-right: 0px;
} }
/* line 186, ../sass/_responsive.scss */
/* line 185, ../sass/_responsive.scss */
.site-iamproducer .users { .site-iamproducer .users {
padding-left: 0px; padding-left: 0px;
} }
/* line 189, ../sass/_responsive.scss */
/* line 188, ../sass/_responsive.scss */
.site-iamproducer .users .panel { .site-iamproducer .users .panel {
margin-bottom: 0px; margin-bottom: 0px;
} }


/* line 196, ../sass/_responsive.scss */
/* line 195, ../sass/_responsive.scss */
.site-producers #wrapper-producers-list { .site-producers #wrapper-producers-list {
padding: 0px; padding: 0px;
} }
/* line 201, ../sass/_responsive.scss */
/* line 200, ../sass/_responsive.scss */
.site-producers #wrapper-producers-list #producers-list .panel .panel-body { .site-producers #wrapper-producers-list #producers-list .panel .panel-body {
text-align: center; text-align: center;
} }
/* line 204, ../sass/_responsive.scss */
/* line 203, ../sass/_responsive.scss */
.site-producers #wrapper-producers-list #producers-list .panel .panel-body .logo { .site-producers #wrapper-producers-list #producers-list .panel .panel-body .logo {
display: none; display: none;
} }
/* line 212, ../sass/_responsive.scss */
/* line 211, ../sass/_responsive.scss */
.site-producers #producers-map { .site-producers #producers-map {
display: none; display: none;
} }


/* line 218, ../sass/_responsive.scss */
/* line 217, ../sass/_responsive.scss */
.site-about .col-md-8, .site-about .col-md-4 { .site-about .col-md-8, .site-about .col-md-4 {
padding: 0px; padding: 0px;
} }


/* line 224, ../sass/_responsive.scss */
/* line 223, ../sass/_responsive.scss */
.site-contact .col-lg-5 { .site-contact .col-lg-5 {
padding: 0px; padding: 0px;
} }
/* line 228, ../sass/_responsive.scss */
/* line 227, ../sass/_responsive.scss */
.site-contact .alert-information { .site-contact .alert-information {
margin-top: 20px; margin-top: 20px;
} }


/* line 234, ../sass/_responsive.scss */
/* line 233, ../sass/_responsive.scss */
#content .site-service #panel-go-further { #content .site-service #panel-go-further {
margin-bottom: 0px; margin-bottom: 0px;
} }
/* line 237, ../sass/_responsive.scss */
/* line 236, ../sass/_responsive.scss */
#content .site-service #panel-go-further a { #content .site-service #panel-go-further a {
display: block; display: block;
margin-bottom: 5px; margin-bottom: 5px;
} }


/* line 245, ../sass/_responsive.scss */
/* line 244, ../sass/_responsive.scss */
#page-producer .buttons-login-signup { #page-producer .buttons-login-signup {
display: block; display: block;
margin-bottom: 20px; margin-bottom: 20px;
text-align: center; text-align: center;
} }
/* line 250, ../sass/_responsive.scss */
/* line 249, ../sass/_responsive.scss */
#page-producer .buttons-login-signup a { #page-producer .buttons-login-signup a {
float: none; float: none;
} }

+ 1
- 1
frontend/web/sass/screen.scss View File

width: 110px; width: 110px;
height: 110px; height: 110px;
@include border-radius(110px); @include border-radius(110px);
border: solid 2px $color-gray;
border: solid 3px $color-gray;
text-align: right; text-align: right;
overflow: hidden; overflow: hidden;



+ 198
- 155
producer/views/layouts/main.php View File

$userProducer = UserProducer::findOne(['id_user' => GlobalParam::getCurrentUserId(), 'id_producer' => $producer->id]); $userProducer = UserProducer::findOne(['id_user' => GlobalParam::getCurrentUserId(), 'id_producer' => $producer->id]);
} }


$mainColor = $producer->option_main_color ?: '#ee6f42' ;

?> ?>
<?php $this->beginPage() ?> <?php $this->beginPage() ?>
<!DOCTYPE html> <!DOCTYPE html>
href="<?php echo \Yii::$app->urlManager->getBaseUrl(); ?>/img/favicon-souke-1.png"/> href="<?php echo \Yii::$app->urlManager->getBaseUrl(); ?>/img/favicon-souke-1.png"/>
<?php $this->head() ?> <?php $this->head() ?>
<?= $this->render('@common/views/matomo.php') ?> <?= $this->render('@common/views/matomo.php') ?>
<style>
#header #title h1,
#header #title h2 .location .bi {
color: <?= $mainColor ?>
}
#header nav#main-nav ul li.active a,
#header nav#main-nav ul li a:hover,
#header nav#main-nav ul li a span.label-success {
background-color: <?= $mainColor ?>
}
#header nav#main-nav {
border-top: solid 5px <?= $mainColor ?>;
}
</style>
</head> </head>
<body class="<?= \Yii::$app->controller->id . '-' . \Yii::$app->controller->action->id ?>"> <body class="<?= \Yii::$app->controller->id . '-' . \Yii::$app->controller->action->id ?>">
<?php $this->beginBody() ?> <?php $this->beginBody() ?>
'context' => 'producer' 'context' => 'producer'
]); ?> ]); ?>


<div class="container">
<div id="main">
<div id="header">
<?php if (strlen($producer->photo)): ?>
<div id="img-big">
<img class="img-photo"
src="<?= \Yii::$app->urlManager->baseUrl; ?>/uploads/<?= $producer->photo; ?>"
alt="Photo <?= Html::encode($producer->name) ?>"/>
</div>
<?php endif; ?>

<?php if (strlen($producer->logo) && Image::isPhotoExist($producer->logo)): ?>
<div id="logo"<?php if (!is_null($producer->background_color_logo) && strlen($producer->background_color_logo)): ?> style="background-color:<?= Html::encode($producer->background_color_logo); ?>"<?php endif; ?>>
<a href="<?= \Yii::$app->urlManager->createUrl(['site/index']) ?>">
<img class="img-logo"
src="<?= \Yii::$app->urlManager->baseUrl; ?>/uploads/<?= $producer->logo; ?>"
alt="Logo <?= Html::encode($producer->name) ?>"/>
</a>
</div>
<?php endif; ?>
<h1><?= Html::encode($producer->name); ?></h1>
<h2><?= Html::encode($producer->type) ?> à <?= Html::encode($producer->city); ?>
(<?= Html::encode($producer->postcode); ?>)</h2>
<div id="main" class="container">
<div id="header">
<?php if (strlen($producer->photo) || strlen($producer->logo)): ?>
<div id="banner" style="background-color: <?= $mainColor ?>;<?php if(strlen($producer->photo)): ?>background-image:url(<?= \Yii::$app->urlManager->baseUrl; ?>/uploads/<?= $producer->photo; ?>);<?php endif; ?>">
</div>
<?php endif; ?>
<?php if (strlen($producer->logo) && Image::isPhotoExist($producer->logo)): ?>
<div id="logo"<?php if (!is_null($producer->background_color_logo) && strlen($producer->background_color_logo)): ?> style="background-color:<?= Html::encode($producer->background_color_logo); ?>"<?php endif; ?>>
<a href="<?= \Yii::$app->urlManager->createUrl(['site/index']) ?>">
<img class="img-logo"
src="<?= \Yii::$app->urlManager->baseUrl; ?>/uploads/<?= $producer->logo; ?>"
alt="Logo <?= Html::encode($producer->name) ?>"/>
</a>
</div>
<?php endif; ?>
<div id="title">
<h1>
<?= Html::encode($producer->name); ?>
<?php if (!Yii::$app->user->isGuest): ?>
<?php if ($userProducer && $userProducer->bookmark): ?>
<a class="bookmark"
href="<?= \Yii::$app->urlManagerProducer->createUrl(['site/bookmarks', 'action' => 'delete']); ?>"
data-bs-toggle="tooltip" data-bs-placement="top" title="Supprimer de ma liste de producteurs">
<i class="bi bi-bookmark-heart-fill"></i>
</a>
<?php else: ?>
<a class="bookmark"
href="<?= \Yii::$app->urlManagerProducer->createUrl(['site/bookmarks', 'action' => 'add']); ?>"
data-bs-toggle="tooltip" data-bs-placement="top"
title="Ajouter à ma liste de producteurs">
<i class="bi bi-bookmark-heart"></i>
</a>
<?php endif; ?>
<?php endif; ?>
</h1>
<h2>
<?= Html::encode($producer->type) ?>
<span class="location">
<i class="bi bi-geo-alt-fill"></i>
<?= Html::encode($producer->postcode); ?> <?= Html::encode($producer->city); ?>
</span>
</h2>
</div>
<nav id="main-nav">
<?php
$credit = '';
if (isset($userProducer) && $userProducer) {
$labelType = $userProducer->credit > 0 ? 'success' : 'danger';
$credit = ' <span class="label label-' . $labelType . '">' . number_format($userProducer->credit, 2) . ' €</span>';
}


<nav id="main-nav">
<?php
$countSubcriptions = 0;
if ($userCurrent) {
$countSubcriptions = $this->getSubscriptionModule()->countSubscriptionsByUser(
$userCurrent
);
}


$credit = '';
if (isset($userProducer) && $userProducer) {
$labelType = $userProducer->credit > 0 ? 'success' : 'danger';
$credit = ' <span class="label label-' . $labelType . '">' . number_format($userProducer->credit, 2) . ' €</span>';
}
$labelSubscription = $countSubcriptions > 0 ? 'success' : 'default';


$countSubcriptions = 0;
if ($userCurrent) {
$countSubcriptions = $this->getSubscriptionModule()->countSubscriptionsByUser(
$userCurrent
);
}
$countOrders = Order::find()
->joinWith(['distribution'])
->where([
'id_user' => GlobalParam::getCurrentUserId(),
'distribution.id_producer' => GlobalParam::getCurrentProducerId()
])
->params([':date_today' => date('Y-m-d')])
->andWhere('distribution.date >= :date_today')
->count();
$labelOrders = $countOrders > 0 ? 'success' : 'default';


$labelSubscription = $countSubcriptions > 0 ? 'success' : 'default';
$isUserSubscribedNewsletter = $userModule->isUserSubscribedNewsletter($userCurrent);


$countOrders = Order::find()
->joinWith(['distribution'])
->where([
'id_user' => GlobalParam::getCurrentUserId(),
'distribution.id_producer' => GlobalParam::getCurrentProducerId()
])
->params([':date_today' => date('Y-m-d')])
->andWhere('distribution.date >= :date_today')
->count();
$labelOrders = $countOrders > 0 ? 'success' : 'default';
echo Nav::widget([
'encodeLabels' => false,
'options' => ['class' => ''],
'items' => [
[
'url' => $this->getUrlManagerProducer()->createUrl(['site/index']),
'label' => '<i class="bi bi-house-door"></i>',
'active' => $this->getControllerAction() == 'site/index',
],
[
'label' => '<i class="bi bi-pencil-square"></i> Commander',
'url' => $this->getUrlManagerProducer()->createUrl(['order/order']),
'visible' => $producer->option_allow_order_guest || !Yii::$app->user->isGuest,
'active' => $this->getControllerAction() == 'order/order',
],
[
'label' => '<i class="bi bi-pencil-square"></i> Commander',
'url' => $this->getUrlManagerFrontend()->createAbsoluteUrl(['site/producer', 'id' => $this->context->getProducerCurrent()->id, 'return_url' => \Yii::$app->urlManagerProducer->createAbsoluteUrl(['order/order', 'slug_producer' => $this->context->getProducerCurrent()->slug])]),
'visible' => !$producer->option_allow_order_guest && \Yii::$app->user->isGuest,
'active' => $this->getControllerAction() == 'order/order',
],
[
'label' => '<i class="bi bi-folder2-open"></i> Mes commandes <span class="label label-' . $labelOrders . '">' . $countOrders . '</span>',
'url' => $this->getUrlManagerProducer()->createUrl(['order/history']),
'visible' => !Yii::$app->user->isGuest,
'active' => $this->getControllerAction() == 'order/history',
],
[
'label' => '<i class="bi bi-arrow-repeat"></i> Abonnements <span class="label label-' . $labelSubscription . '">' . $countSubcriptions . '</span>',
'url' => $this->getUrlManagerProducer()->createUrl(['subscription/index']),
'visible' => !Yii::$app->user->isGuest && $producer->user_manage_subscription,
'active' => $this->getControllerAction() == 'subscription/index',
],
[
'label' => '<i class="bi bi-piggy-bank"></i> Cagnotte' . $credit,
'url' => $this->getUrlManagerProducer()->createUrl(['credit/history']),
'visible' => !Yii::$app->user->isGuest && $producer->credit,
'active' => $this->getControllerAction() == 'credit/history',
],
[
'label' => '<i class="bi bi-megaphone"></i> Infolettre <span class="label label-' . ($isUserSubscribedNewsletter ? 'success' : 'danger') . '">' . ($isUserSubscribedNewsletter ? 'Oui' : 'Non') . '</span>',
'url' => $this->getUrlManagerProducer()->createUrl(['newsletter/index']),
'visible' => !Yii::$app->user->isGuest,
'active' => $this->getControllerAction() == 'newsletter/index',
],
[
'label' => '<i class="bi bi-envelope"></i> Contact',
'url' => $this->getUrlManagerProducer()->createUrl(['site/contact']),
'active' => $this->getControllerAction() == 'site/contact',
'visible' => $featureModule->getChecker()->isEnabled(Feature::ALIAS_CONTACT)
],
],
]);


$isUserSubscribedNewsletter = $userModule->isUserSubscribedNewsletter($userCurrent);


echo Nav::widget([
'encodeLabels' => false,
'options' => ['class' => 'nav'],
'items' => [
[
'url' => $this->getUrlManagerProducer()->createUrl(['site/index']),
'label' => '<span class="glyphicon glyphicon-home"></span> Accueil',
'active' => $this->getControllerAction() == 'site/index',
],
[
'label' => '<span class="glyphicon glyphicon-plus"></span> Commander',
'url' => $this->getUrlManagerProducer()->createUrl(['order/order']),
'visible' => $producer->option_allow_order_guest || !Yii::$app->user->isGuest,
'active' => $this->getControllerAction() == 'order/order',
],
[
'label' => '<span class="glyphicon glyphicon-plus"></span> Commander',
'url' => $this->getUrlManagerFrontend()->createAbsoluteUrl(['site/producer', 'id' => $this->context->getProducerCurrent()->id, 'return_url' => \Yii::$app->urlManagerProducer->createAbsoluteUrl(['order/order', 'slug_producer' => $this->context->getProducerCurrent()->slug])]),
'visible' => !$producer->option_allow_order_guest && \Yii::$app->user->isGuest,
'active' => $this->getControllerAction() == 'order/order',
],
[
'label' => '<span class="glyphicon glyphicon-folder-open"></span> Mes commandes <span class="label label-' . $labelOrders . '">' . $countOrders . '</span>',
'url' => $this->getUrlManagerProducer()->createUrl(['order/history']),
'visible' => !Yii::$app->user->isGuest,
'active' => $this->getControllerAction() == 'order/history',
],
[
'label' => '<span class="glyphicon glyphicon-repeat"></span> Abonnements <span class="label label-' . $labelSubscription . '">' . $countSubcriptions . '</span>',
'url' => $this->getUrlManagerProducer()->createUrl(['subscription/index']),
'visible' => !Yii::$app->user->isGuest && $producer->user_manage_subscription,
'active' => $this->getControllerAction() == 'subscription/index',
],
[
'label' => '<span class="glyphicon glyphicon-euro"></span> Crédit' . $credit,
'url' => $this->getUrlManagerProducer()->createUrl(['credit/history']),
'visible' => !Yii::$app->user->isGuest && $producer->credit,
'active' => $this->getControllerAction() == 'credit/history',
],
[
'label' => '<span class="glyphicon glyphicon-bullhorn"></span> Bulletin d\'information <span class="label label-' . ($isUserSubscribedNewsletter ? 'success' : 'danger') . '">' . ($isUserSubscribedNewsletter ? 'Oui' : 'Non') . '</span>',
'url' => $this->getUrlManagerProducer()->createUrl(['newsletter/index']),
'visible' => !Yii::$app->user->isGuest,
'active' => $this->getControllerAction() == 'newsletter/index',
],
[
'label' => '<span class="glyphicon glyphicon-envelope"></span> Contact',
'url' => $this->getUrlManagerProducer()->createUrl(['site/contact']),
'active' => $this->getControllerAction() == 'site/contact',
'visible' => $featureModule->getChecker()->isEnabled(Feature::ALIAS_CONTACT)
],
echo Nav::widget([
'encodeLabels' => false,
'options' => ['class' => 'submenu'],
'items' => [
[
'url' => $this->getUrlManagerProducer()->createUrl(['site/index']),
'label' => 'Présentation',
'active' => $this->getControllerAction() == 'site/index',
], ],
]);
?>
</nav>
[
'url' => $this->getUrlManagerProducer()->createUrl(['site/index']),
'label' => 'Produits',
'active' => $this->getControllerAction() == 'site/products',
],
[
'url' => $this->getUrlManagerProducer()->createUrl(['site/index']),
'label' => 'Points de vente',
'active' => $this->getControllerAction() == 'site/points-sale',
],
]
]);
?>

</nav>


<div id="infos-producer">
<?php if (!$this->getProducerModule()->hasSpecificDelays($producer) && $producer->order_deadline && $producer->order_delay): ?>
<span data-toggle="tooltip" data-placement="bottom" title="Heure limite de commande">

<div id="infos-producer">
<?php if (!$this->getProducerModule()->hasSpecificDelays($producer) && $producer->order_deadline && $producer->order_delay): ?>
<span data-toggle="tooltip" data-placement="bottom" title="Heure limite de commande">
<span class="glyphicon glyphicon-time"></span> Commande avant <span class="glyphicon glyphicon-time"></span> Commande avant
<strong><?php echo Html::encode($producer->order_deadline) ?> h</strong></span>, <strong><?php echo Html::encode($producer->order_deadline) ?> h</strong></span>,
<span data-toggle="tooltip" data-placement="bottom"
title="Exemple : commande le lundi pour le
<span data-toggle="tooltip" data-placement="bottom"
title="Exemple : commande le lundi pour le
<?php if ($producer->order_delay == 1): ?>mardi<?php elseif ($producer->order_delay == 2): ?>mercredi <?php if ($producer->order_delay == 1): ?>mardi<?php elseif ($producer->order_delay == 2): ?>mercredi
<?php elseif ($producer->order_delay == 3): ?>jeudi<?php elseif ($producer->order_delay == 4): ?>vendredi <?php elseif ($producer->order_delay == 3): ?>jeudi<?php elseif ($producer->order_delay == 4): ?>vendredi
<?php elseif ($producer->order_delay == 5): ?>samedi<?php elseif ($producer->order_delay == 6): ?>dimanche <?php elseif ($producer->order_delay == 5): ?>samedi<?php elseif ($producer->order_delay == 6): ?>dimanche
<?php elseif ($producer->order_delay == 7): ?>lundi d'après<?php endif; ?>"><strong><?= Html::encode($producer->order_delay) ?> jour<?php if ($producer->order_delay > 1): ?>s<?php endif; ?></strong> à l'avance</span> <?php elseif ($producer->order_delay == 7): ?>lundi d'après<?php endif; ?>"><strong><?= Html::encode($producer->order_delay) ?> jour<?php if ($producer->order_delay > 1): ?>s<?php endif; ?></strong> à l'avance</span>
<?php endif; ?>

<?php if (!Yii::$app->user->isGuest): ?>
<span class="favorite">
<?php if ($userProducer && $userProducer->bookmark): ?>
<span class="glyphicon glyphicon-star"></span> <a
href="<?= \Yii::$app->urlManagerProducer->createUrl(['site/bookmarks', 'action' => 'delete']); ?>"
data-toggle="tooltip" data-placement="bottom" title="Supprimer de mes favoris">Favoris</a>
<?php else: ?>
<span class="glyphicon glyphicon glyphicon-star-empty"></span> <a
href="<?= \Yii::$app->urlManagerProducer->createUrl(['site/bookmarks', 'action' => 'add']); ?>"
data-toggle="tooltip" data-placement="bottom"
title="Ajouter à mes favoris">Favoris</a>
<?php endif; ?>
</span>
<?php endif; ?>

<div class="clr"></div>
</div>
<?php endif; ?>
<div class="clr"></div>
</div> </div>
</div>

<section id="content">


<?php if (strlen($this->getTitle())): ?> <?php if (strlen($this->getTitle())): ?>
<h2 id="page-title"> <h2 id="page-title">
</h2> </h2>
<?php endif; ?> <?php endif; ?>


<section id="content">
<?php if (Yii::$app->session->hasFlash('error')): ?>
<div class="alert alert-danger" role="alert">
<?= \Yii::$app->session->getFlash('error') ?>
</div>
<?php if (Yii::$app->session->hasFlash('error')): ?>
<div class="alert alert-danger" role="alert">
<?= \Yii::$app->session->getFlash('error') ?>
</div>
<?php endif; ?>
<?php if (Yii::$app->session->hasFlash('success')): ?>
<div class="alert alert-success" role="alert">
<?= \Yii::$app->session->getFlash('success') ?>
</div>
<?php endif; ?>

<?= $content ?>
</section>

<?php if (strlen($producer->mentions) || strlen($producer->gcs)): ?>
<section id="footer-producer">
<?= Html::encode($producer->name) ?> :
<?php if (strlen($producer->mentions)): ?>
<a href="<?php echo \Yii::$app->urlManager->createUrl(['site/mentions']); ?>">Mentions
légales</a>
<?php endif; ?> <?php endif; ?>
<?php if (Yii::$app->session->hasFlash('success')): ?>
<div class="alert alert-success" role="alert">
<?= \Yii::$app->session->getFlash('success') ?>
</div>
<?php if (strlen($producer->mentions) && strlen($producer->gcs)): ?>
&bull;
<?php endif; ?>
<?php if (strlen($producer->gcs)): ?>
<a href="<?php echo \Yii::$app->urlManager->createUrl(['site/gcs']); ?>">Conditions générales
de vente</a>
<?php endif; ?> <?php endif; ?>

<?= $content ?>
</section> </section>

<?php if (strlen($producer->mentions) || strlen($producer->gcs)): ?>
<section id="footer-producer">
<?= Html::encode($producer->name) ?> :
<?php if (strlen($producer->mentions)): ?>
<a href="<?php echo \Yii::$app->urlManager->createUrl(['site/mentions']); ?>">Mentions
légales</a>
<?php endif; ?>
<?php if (strlen($producer->mentions) && strlen($producer->gcs)): ?>
&bull;
<?php endif; ?>
<?php if (strlen($producer->gcs)): ?>
<a href="<?php echo \Yii::$app->urlManager->createUrl(['site/gcs']); ?>">Conditions générales
de vente</a>
<?php endif; ?>
</section>
<?php endif; ?>
</div>
<?php endif; ?>
</div> </div>


<footer id="footer" class="container"> <footer id="footer" class="container">

+ 4
- 2
producer/views/site/index.php View File



$producer = $this->context->getProducerCurrent(); $producer = $this->context->getProducerCurrent();


$this->setTitle('Accueil');
$this->setPageTitle(Html::encode($producer->type . ' à ' . $producer->city)); $this->setPageTitle(Html::encode($producer->type . ' à ' . $producer->city));


?> ?>
<div class="clr"></div> <div class="clr"></div>
</section> </section>


<!--
<section id="points-sale"> <section id="points-sale">
<h3><span><?= $producerModule->getPointSaleWording($producer); ?></span></h3> <h3><span><?= $producerModule->getPointSaleWording($producer); ?></span></h3>
<?= GridView::widget([ <?= GridView::widget([
]); ?> ]); ?>
<?php endif; ?> <?php endif; ?>
<?php endforeach; ?> <?php endforeach; ?>
</section>
</section>

-->

+ 226
- 293
producer/web/css/screen.css
File diff suppressed because it is too large
View File


+ 124
- 145
producer/web/sass/_layout.scss View File

termes. termes.
*/ */


//$color1: #FF7F00 ;
$color1: #F39C12;
$color2: white ;
$courant: #323232 ;
$color-back: #E9EBEE ;
//$color-back: #FFEBCD ;
$color-back: #FFF8DC ;

body { body {
font-family: 'Arial' ;
background-color: $color-back ;
background-color: $color-gray-light !important;
font-family: 'worksans_regular' ;
color: #333 ; color: #333 ;
line-height: 20px ; line-height: 20px ;
font-size: 14px ; font-size: 14px ;
} }


.panel { .panel {
a {
//color: $color1;
}

strong { strong {
font-weight: bold; font-weight: bold;
} }


#main { #main {
position: relative ; position: relative ;

.btn {
@include border-radius(0px);
}

.btn-primary { .btn-primary {
background-color: $color1 ;
border: solid 1px $color1 ;
background-color: $color-primary ;
border: solid 1px $color-primary ;
color: white ; color: white ;


&:hover, &:active, &:focus { &:hover, &:active, &:focus {
background-color: darken($color1, 5) ;
border: solid 1px $color1 ;
background-color: darken($color-primary, 5) ;
border: solid 1px $color-primary;
color: white ; color: white ;
} }
} }
li { li {
&.active { &.active {
a { a {
background-color: $color1 ;
border: solid 1px $color1 ;
background-color: $color-primary ;
border: solid 1px $color-primary ;
&:hover { &:hover {
background-color: $color2 ;
border: solid 1px $color2 ;
color: $color1 ;
background-color: white ;
border: solid 1px white ;
color: $color-primary ;
} }
} }
} }
a { a {
color: $color1 ;
color: $color-primary ;
&:hover, &:focus, &:active { &:hover, &:focus, &:active {
background-color: $color2 ;
border: solid 1px $color2 ;
color: $color1 ;
background-color: white ;
border: solid 1px white ;
color: $color-primary ;
} }
} }
} }


.description-long { .description-long {
a { a {
color: $color1;
color: $color-primary;
} }
.content { .content {
display: none; display: none;


#header { #header {
text-align: center ; text-align: center ;
margin-top: 15px ;
padding: 0px ; padding: 0px ;
position: relative ; position: relative ;
$width-logo: 110px ;
$width-logo: 180px ;
#logo { #logo {
position: relative ;
position: absolute ;
top: 90px;
left: 30px;
background-color: white ; background-color: white ;
width: $width-logo ; width: $width-logo ;
height: $width-logo ;
margin: 0px auto ;
margin-bottom: 20px ;
height: $width-logo ;
@include border-radius($width-logo) ; @include border-radius($width-logo) ;
border: solid 1px gray ;
border: solid 3px $color-gray ;
text-align: center; text-align: center;
overflow: hidden ; overflow: hidden ;


max-height: $width-logo - 20 ; max-height: $width-logo - 20 ;
} }
} }
h1, h2, #infos, #infos a {
color: $courant ;
}
h1 {
text-transform: uppercase ;
font-family: 'highvoltageregular' ;
font-size: 25px ;
line-height: 25px ;
font-weight: bold ;
padding-bottom: 5px ;
text-align: center ;
font-weight: normal ;
}
h2 {
font-family: 'capsuularegular' ;
font-size: 15px ;
font-weight: normal ;
text-align: center ;
.favorite {
padding-left: 0px ;
.glyphicon {
font-size: 14px ;

#title {
text-align: left;
padding-left: 246px;
padding-top: 20px;
padding-bottom: 20px;

h1 {
font-family: 'worksans_extrabold';
font-size: 2.2rem;
margin-bottom: 2px;

.bookmark {
color: $color-gray-dark;
font-size: 0.7em;
} }
} }
a {


color: $courant ;
h2 {
font-family: 'worksans_regular';
text-transform: uppercase;
font-size: 1.1rem;

.location {
text-transform: none;
font-family: 'worksans_bold';

.bi {
position: relative;
left: 1px;
}
}
} }
} }
nav#main-nav { nav#main-nav {
background-color: white ;
border: solid 1px #e0e0e0 ;
border-bottom: 0px none ;
margin-top: 20px;
background-color: $color-gray ;
margin-top: 0px;
ul { ul {
li { li {
display: block ;
a { a {
color: $courant ;
color: black;
border-bottom: solid 1px #e0e0e0 ;
font-family: 'capsuularegular' ;
font-size: 18px ;
display: block ;
text-align: left ;
display: inline-block;
padding: 8px 15px;
text-decoration: none;
background-color: $color-gray-light;
color: black;
@include box-shadow(-20px 0px 20px 0px #ece4d8 inset);
.glyphicon {
font-size: 15px ;
.bi {
margin-right: 3px ; margin-right: 3px ;
} }
span.label {
padding-bottom: 3px ;
font-family: 'Arial' ;
float: right ;
}
}
&.active, a:hover {

span.label { span.label {
background-color: darken($color1, 5) ;
color: white ;
display: inline-block;
position: relative;
top: -2px;
background-color: $color-gray-dark;
color: white;
font-family: 'worksans_bold';
@include border-radius(15px);
padding: 4px 10px 3px 10px;
margin-left: 3px;
font-size: 0.8em;
line-height: 0.8em;
text-transform: uppercase;
border: solid 1px transparent;


&.label-success {
border: solid 1px white;
}
} }
} }
a:hover,
&.active a {
background: $color1 ;
color: white ;
@include border-radius(0px) ;

&.active a,
a:hover {
color: white;
@include box-shadow(none);
} }
&#btn-administration {
}

&.submenu {
background-color: white;

li {
a { a {
color: $color1 ;
&:hover {
color: white ;
}
background-color: white;
font-size: 0.9em;
@include box-shadow(none);
border-bottom: solid 2px $color-gray-light;
}

&.active a,
a:hover {
color: black;
background-color: white;
border-bottom: solid 2px $color-gray-dark;
} }
} }
} }
} }
#user { #user {
color: $color1 ;
color: $color-primary;
float: right ; float: right ;
padding: 10px ; padding: 10px ;
} }
} }


#main { #main {
background-color: $color-back ;
border: solid 1px #e0e0e0 ;
margin-top: 15px ;
padding: 0px ; padding: 0px ;
padding-top: 38px;
margin-bottom: 50px;
background-color: white ; background-color: white ;
#img-big {
height: 130px ;
#banner {
height: 180px ;
overflow: hidden ; overflow: hidden ;
position: relative ; position: relative ;
img.img-photo {
width: 100% ;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
background-size: cover;
background-position: center;
} }
#infos-producer { #infos-producer {
display: none;
padding: 5px 10px ; padding: 5px 10px ;
margin-bottom: 0px ; margin-bottom: 0px ;
font-size: 16px ; font-size: 16px ;
} }
h2#page-title { h2#page-title {
padding-left: 15px ;
padding-right: 15px ;
padding-bottom: 15px ;
padding-top: 30px ;
border-bottom: solid 1px #e0e0e0 ;
margin-bottom: 10px ;
font-family: 'highvoltageregular' ;
margin-top: 0px;
font-family: 'worksans_bold' ;
font-size: 30px ; font-size: 30px ;
line-height: 40px; line-height: 40px;
position: relative ;
top: -10px ;
text-align: left ;
#buttons { #buttons {
//float: right ;
margin-bottom: 15px ;
font-family: 'Arial' ;
//float: right;
} }
} }
#content { #content {
padding: 0px 20px 20px 20px ;
padding-bottom: 40px ;
padding: 40px;
min-height: 300px ; min-height: 300px ;
h1, h2, h3, h4, h5, h6 { h1, h2, h3, h4, h5, h6 {
font-family: 'highvoltageregular' ;
margin-top: 30px ;
font-family: 'worksans_bold' ;
margin-bottom: 20px ; margin-bottom: 20px ;
&.first { &.first {
h2 { h2 {
font-size: 25px ; font-size: 25px ;
} }
h3 { h3 {
font-family: 'capsuularegular' ;
text-transform: uppercase ;
font-size: 23px ; font-size: 23px ;
text-align: left ; text-align: left ;
margin-bottom: 30px ; margin-bottom: 30px ;
span { span {
padding-top: 14px ; padding-top: 14px ;
color: $courant ;
color: $color-text ;
} }
} }
width: 100% ; width: 100% ;
a { a {
color: $color1 ;
color: $color-primary;
&:active { &:active {
text-decoration: underline ; text-decoration: underline ;
} }
} }


#footer { #footer {
background-color: $color-back ;
display: none;
height: 100px ; height: 100px ;
float: right ; float: right ;
text-align: center ; text-align: center ;

+ 5
- 5
producer/web/sass/_responsive.scss View File

float: none ; float: none ;
&.active a { &.active a {
border-bottom: solid 1px $color2 ;
background-color: $color1 ;
border-bottom: solid 1px white ;
background-color: $color-primary ;
color: white ; color: white ;
&:hover { &:hover {
background-color: $color1 ;
background-color: $color-primary ;
color: white ; color: white ;
} }
} }
&:hover { &:hover {
background-color: white ; background-color: white ;
color: $color1 ;
color: $color-primary ;
} }
} }
} }
float: none ; float: none ;
a:hover { a:hover {
background-color: white ; background-color: white ;
color: $color1 ;
color: $color-primary ;
} }
} }
} }

+ 9
- 10
producer/web/sass/order/_form.scss View File

} }


.ui-datepicker-header { .ui-datepicker-header {
background-color: $color1 ;
background-color: $color-primary ;
} }


.ui-datepicker-title { .ui-datepicker-title {
.ui-datepicker-calendar { .ui-datepicker-calendar {
a { a {
text-decoration: none ; text-decoration: none ;
background-color: $color2 ;
background-color: white ;
&.ui-state-hover, &.ui-state-active { &.ui-state-hover, &.ui-state-active {
background-color: $color1 ;
background-color: $color-primary ;
color: white ; color: white ;
border-color: #cdc3b7 ; border-color: #cdc3b7 ;
} }
.date-order { .date-order {
margin-bottom: 53px ; margin-bottom: 53px ;
span { span {
background-color: $color1 ;
background-color: $color-primary ;
color: white ; color: white ;
@include border-radius(10px) ; @include border-radius(10px) ;
padding: 10px ; padding: 10px ;
} }


&.selected { &.selected {
border-left: solid 5px $color1 ;
border-left: solid 5px $color-primary ;
.contenu { .contenu {
position: relative ; position: relative ;
left: -4px ; left: -4px ;
.comment { .comment {
margin-top: 5px ; margin-top: 5px ;
span { span {
background-color: $color1 ;
background-color: $color-primary ;
@include border-radius(5px) ; @include border-radius(5px) ;
color: white ; color: white ;
font-weight: bold ; font-weight: bold ;
margin-bottom: 0px ; margin-bottom: 0px ;
@include box-shadow(0 0 5px gray) ; @include box-shadow(0 0 5px gray) ;
border-top: solid 1px #e0e0e0 ; border-top: solid 1px #e0e0e0 ;
background-color: #F9F9F9 ;
background-color: $color2 ;
background-color: white ;
text-align: center ; text-align: center ;


.container { .container {
} }


.the-credit { .the-credit {
background-color: $color1 ;
background-color: $color-primary ;
color: white ; color: white ;
padding: 2px 8px; padding: 2px 8px;
@include border-radius(5px) ; @include border-radius(5px) ;
} }


.amount-paid { .amount-paid {
color: $color1 ;
color: $color-primary ;
} }


#info-credit-empty { #info-credit-empty {

+ 1
- 1
producer/web/sass/order/_history.scss View File

li { li {
a { a {
color: $color1 ;
color: $color-primary ;
} }


&.active a { &.active a {

+ 12
- 12
producer/web/sass/order/_order.scss View File

} }


h3 { h3 {
font-family: "highvoltageregular" ;
font-family: "worksans_bold" ;
} }
#distribution-date, #order-distribution-date { #distribution-date, #order-distribution-date {
left: 0px ; left: 0px ;
width: 100% ; width: 100% ;
text-transform: normal ; text-transform: normal ;
color: $color1 ;
color: $color-primary ;
font-family: 'capsuularegular' ; font-family: 'capsuularegular' ;
font-size: 17px ; font-size: 17px ;
font-weight: bold ; font-weight: bold ;
} }
&.btn-primary { &.btn-primary {
background-color: $color1 ;
background-color: $color-primary ;
} }
&::after, &::before { &::after, &::before {
} }
&.btn-primary::after { &.btn-primary::after {
border-left:17px solid $color1;
border-left:17px solid $color-primary;
} }
&:hover { &:hover {
//background-color: lighten($color1, 5) ;
//background-color: lighten($color-primary, 5) ;
} }
&:hover::after { &:hover::after {
} }
#order-date-color { #order-date-color {
background-color: $color1 ;
background-color: $color-primary ;
} }
#distribution-date-color { #distribution-date-color {
background-color: #5cb85c ; background-color: #5cb85c ;
.c-day:hover { .c-day:hover {
.c-day-background { .c-day-background {
background-color: $color1 !important ;
background-color: $color-primary !important ;
color: white !important ; color: white !important ;
} }
} }
color: gray; color: gray;


a { a {
color: $color1;
color: $color-primary;
} }
} }
} }
tr.selected { tr.selected {
td { td {
background-color: $color2 ;
background-color: white ;
} }
} }
} }
table#products { table#products {


td.category-name { td.category-name {
font-family: "highvoltageregular" ;
font-family: "worksans_bold" ;
font-size: 22px ; font-size: 22px ;
line-height: 30px; line-height: 30px;
text-transform: uppercase; text-transform: uppercase;


&:hover { &:hover {
cursor: pointer ; cursor: pointer ;
background-color: $color1 ;
background-color: $color-primary ;
color: white ; color: white ;
} }
} }
#main #content { #main #content {
.panel { .panel {
h3 { h3 {
font-family: "highvoltageregular" ;
font-family: "worksans_bold" ;
margin: 0px ; margin: 0px ;
padding-top: 10px ; padding-top: 10px ;
padding-bottom: 4px ; padding-bottom: 4px ;

+ 7
- 2
producer/web/sass/screen.scss View File

termes. termes.
*/ */


@import "compass";
@import "compass/reset";
$color-primary: #ee6f42;
$color-secondary: #e4ac07;
$color-gray-light: #f4efe8;
$color-gray: #ece4d8;
$color-gray-dark: #b7ab9b;
$color-text: black;


@import "compass";
@import "_layout.scss"; @import "_layout.scss";
@import "site/_index.scss"; @import "site/_index.scss";
@import "site/_credit_history.scss"; @import "site/_credit_history.scss";

+ 1
- 2
producer/web/sass/site/_credit_history.scss View File



.site-credit-history { .site-credit-history {
#credit-user { #credit-user {
color: $color1 ;
color: $color-primary;
font-size: 29px ; font-size: 29px ;
font-weight: bold ; font-weight: bold ;
} }

+ 1
- 1
producer/web/sass/site/_index.scss View File

#products { #products {


h4 { h4 {
font-family: "highvoltageregular" ;
font-family: "worksans_bold" ;
font-size: 22px ; font-size: 22px ;
line-height: 30px ; line-height: 30px ;
padding-top: 13px ; padding-top: 13px ;

+ 1
- 1
producer/web/sass/subscription/_form.scss View File

table { table {
tr.selected { tr.selected {
td { td {
background-color: $color2 ;
background-color: white ;
} }
} }

Loading…
Cancel
Save