Browse Source

Tableau de bord backend

Mise en place d'un tableau de bord pour la partie admin avec les jours de production à venir, les derniers produits/points de vente/clients ajoutés, un récap des paramètres et de la facturation.

Maj du script de changement d'établissement pour qu'il pointe sur cette page ainsi que la route par défaut.

Ajout de deux messages d'aide dans la page des commandes pour guider l'utilisateur.

Changement de "Commission" en "Participation" pour la facturation.
master
keun 7 years ago
parent
commit
231cd6a904
22 changed files with 646 additions and 185 deletions
  1. +1
    -1
      backend/config/main.php
  2. +5
    -0
      backend/controllers/CommandeController.php
  3. +63
    -2
      backend/controllers/SiteController.php
  4. +1
    -16
      backend/controllers/UserController.php
  5. +14
    -1
      backend/views/commande/index.php
  6. +1
    -1
      backend/views/etablissement/facturation.php
  7. +6
    -1
      backend/views/layouts/main.php
  8. +249
    -9
      backend/views/site/index.php
  9. +2
    -2
      backend/views/user/commandes.php
  10. +3
    -3
      backend/views/user/create.php
  11. +1
    -1
      backend/views/user/credit.php
  12. +6
    -5
      backend/views/user/index.php
  13. +2
    -2
      backend/views/user/liste_mails.php
  14. +2
    -2
      backend/views/user/update.php
  15. +1
    -1
      backend/views/user/view.php
  16. BIN
      backend/web/.sass-cache/c8fef7d48da4dc7f024edc2b0fada9d8d6de5dac/screen.scssc
  17. +185
    -138
      backend/web/css/screen.css
  18. +54
    -0
      backend/web/sass/screen.scss
  19. +9
    -0
      common/models/PointVente.php
  20. +6
    -0
      common/models/Production.php
  21. +10
    -0
      common/models/Produit.php
  22. +25
    -0
      common/models/User.php

+ 1
- 1
backend/config/main.php View File

'id' => 'app-backend', 'id' => 'app-backend',
'basePath' => dirname(__DIR__), 'basePath' => dirname(__DIR__),
'controllerNamespace' => 'backend\controllers', 'controllerNamespace' => 'backend\controllers',
'defaultRoute' => 'commande/index',
'defaultRoute' => 'site/index',
'bootstrap' => ['log'], 'bootstrap' => ['log'],
'modules' => [], 'modules' => [],
'components' => [ 'components' => [

+ 5
- 0
backend/controllers/CommandeController.php View File



public function actionIndex($date = '', $return_data = false) { public function actionIndex($date = '', $return_data = false) {


if(!Produit::count() && !PointVente::count())
{
$this->redirect(['site/index','erreur_produits_points_vente' => 1]) ;
}
$commandes = []; $commandes = [];


// users // users

+ 63
- 2
backend/controllers/SiteController.php View File

use common\models\LoginForm; use common\models\LoginForm;
use common\models\User; use common\models\User;
use yii\filters\VerbFilter; use yii\filters\VerbFilter;
use common\models\Produit;
use common\models\PointVente;
use common\models\Etablissement;
use common\models\Production;


/** /**
* Site controller * Site controller


public function actionIndex() public function actionIndex()
{ {
return $this->render('index');
// commandes
$productions = Production::find()
->with('commande')
->where(['>=','production.date',date('Y-m-d')])
->andWhere([
'production.id_etablissement' => Yii::$app->user->identity->id_etablissement,
'production.actif' => 1
])
->orderBy('date ASC')
->limit(5)
->all() ;
// produits
$nb_produits = Produit::count() ;
$produits = Produit::find()
->where([
'id_etablissement' => Yii::$app->user->identity->id_etablissement
])
->orderBy('id DESC')
->limit(5)
->all() ;
// points de vente
$nb_points_vente = PointVente::count() ;
$points_vente = PointVente::find()
->where([
'id_etablissement' => Yii::$app->user->identity->id_etablissement
])
->orderBy('id DESC')
->limit(5)
->all() ;
// clients
$nb_clients = User::findBy()->count();
$clients = User::findBy()
->orderBy('created_at DESC')
->limit(5)
->all();

// paramètres
$etablissement = Etablissement::findOne(Yii::$app->user->identity->id_etablissement) ;
return $this->render('index',[
'productions' => $productions,
'nb_produits' => $nb_produits,
'produits' => $produits,
'nb_points_vente' => $nb_points_vente,
'points_vente' => $points_vente,
'clients' => $clients,
'nb_clients' => $nb_clients,
'etablissement' => $etablissement,
]);
} }


public function actionLogin() public function actionLogin()
{ {
Yii::$app->user->identity->id_etablissement = $id ; Yii::$app->user->identity->id_etablissement = $id ;
Yii::$app->user->identity->save() ; Yii::$app->user->identity->save() ;
$this->redirect(['commande/index']) ;
$this->redirect(['site/index']) ;
} }
} }

+ 1
- 16
backend/controllers/UserController.php View File

*/ */
public function actionIndex() public function actionIndex()
{ {
$params = Yii::$app->request->queryParams; $params = Yii::$app->request->queryParams;
$query = (new \yii\db\Query())
->select(['user.id AS user_id', 'user.prenom','user.nom','user.telephone','user.email','user.created_at','user.date_derniere_connexion'])
->from('user, user_etablissement')
->where('user.id = user_etablissement.id_user')
->andWhere('user_etablissement.actif = 1')
->andWhere('user_etablissement.id_etablissement = '.Yii::$app->user->identity->id_etablissement) ;
if(isset($params['nom']))
$query->andFilterWhere(['like', 'nom', $params['nom']]);
if(isset($params['prenom']))
$query->andFilterWhere(['like', 'prenom', $params['prenom']]) ;
if(isset($params['email']))
$query->andFilterWhere(['like', 'email', $params['email']]) ;
if(isset($params['telephone']))
$query->andFilterWhere(['like', 'telephone', $params['telephone']]) ;
$query = User::findBy($params) ;
$dataProvider = new ActiveDataProvider([ $dataProvider = new ActiveDataProvider([
'query' => $query 'query' => $query

+ 14
- 1
backend/views/commande/index.php View File

// --> lancement du js en manuel (via lechatdesnoisettes.js) // --> lancement du js en manuel (via lechatdesnoisettes.js)
?> ?>
<div id="calendar"></div> <div id="calendar"></div>
<?php if (!$date): ?>
<br />
<div class="alert alert-info">
<span class="glyphicon glyphicon-share-alt"></span> Choisissez une date pour initier ou
éditer un jour de production.
</div>
<?php endif; ?>
</div> </div>
</div> </div>
<?php if ($date != ''): ?> <?php if ($date != ''): ?>
</div> </div>
<br /> <br />
<br /> <br />
<?php if (!$production->actif): ?>
<div class="alert alert-info">
<span class="glyphicon glyphicon-share-alt"></span> Activez ici la production pour qu'elle soit visible au client.
</div>
<?php endif; ?>


<?php if ($production->actif): ?> <?php if ($production->actif): ?>
<?php if($production->livraison && count($arr_productions_point_vente)): ?> <?php if($production->livraison && count($arr_productions_point_vente)): ?>

+ 1
- 1
backend/views/etablissement/facturation.php View File



<div class="col-md-6"> <div class="col-md-6">
<?php $montant = $etablissement->getMontantFacturer(date('Y-m'), 0); ?> <?php $montant = $etablissement->getMontantFacturer(date('Y-m'), 0); ?>
<h2>Commission<br /><em>La boîte à pain</em> (2%)</h2>
<h2>Participation<br /><em>La boîte à pain</em> (2%)</h2>
<div class="montant"><span><?php if($montant): echo number_format($montant,2).' €' ; else: echo 'Gratuit' ; endif; ?></span></div> <div class="montant"><span><?php if($montant): echo number_format($montant,2).' €' ; else: echo 'Gratuit' ; endif; ?></span></div>
</div> </div>
<div class="clr"></div> <div class="clr"></div>

+ 6
- 1
backend/views/layouts/main.php View File

]); ]);
$menuItems = [ $menuItems = [
[
'label' => '<span class="glyphicon glyphicon-home"></span> Tableau de bord',
'url' => ['/site/index'],
'visible'=> !Yii::$app->user->isGuest
],
[ [
'label' => '<span class="glyphicon glyphicon-calendar"></span> Commandes', 'label' => '<span class="glyphicon glyphicon-calendar"></span> Commandes',
'url' => ['/commande/index'], 'url' => ['/commande/index'],
'visible'=> !Yii::$app->user->isGuest 'visible'=> !Yii::$app->user->isGuest
], ],
[ [
'label' => '<span class="glyphicon glyphicon-user"></span> Utilisateurs',
'label' => '<span class="glyphicon glyphicon-user"></span> Clients',
'url' => ['/user/index'], 'url' => ['/user/index'],
'visible'=> !Yii::$app->user->isGuest 'visible'=> !Yii::$app->user->isGuest
], ],

+ 249
- 9
backend/views/site/index.php View File

<?php <?php
/* @var $this yii\web\View */ /* @var $this yii\web\View */


$this->title = 'Administration';
use yii\helpers\Html ;

$this->title = 'Tableau de bord';
?> ?>
<div class="site-index"> <div class="site-index">
<?php
// chargement assets
common\components\fullcalendar\FullcalendarWidget::widget() ;
// --> lancement du js en manuel (via lechatdesnoisettes.js)
?>
<div id="calendar"></div>
<?php if(Yii::$app->request->get('erreur_produits_points_vente')): ?>
<div class="alert alert-danger">Vous devez saisir vos produits et vos points de vente
avant d'initialiser vos jours de production.</div>
<?php endif; ?>
<!-- commandes -->
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
Commandes
<?= Html::a('Voir', ['commande/index'], ['class' => 'btn btn-default btn-xs']) ; ?>
</h3>
</div>
<div class="panel-body">
<?php if(count($productions)): ?>
<p>Prochaines productions : </p>
<table class="table table-bordered table-condensed">
<thead>
<tr>
<th>Date</th>
<th>Commandes</th>
<th></th>
</tr>
</thead>
<tbody>
<?php foreach($productions as $p): ?>
<tr>
<td><?= date('d/m/Y',strtotime($p['date'])); ?></td>
<td><?= count($p->commande); ?></td>
<td>
<?= Html::a('<span class="glyphicon glyphicon-eye-open"></span>', ['commande/index','date' => $p['date']], ['class' => 'btn btn-default btn-xs']) ; ?>
<?php if(count($p->commande)): ?><?= Html::a('<span class="glyphicon glyphicon-download-alt"></span>', ['commande/report','date' => $p['date'],'global' => 1], ['class' => 'btn btn-default btn-xs']) ; ?><?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php else: ?>
<div class="alert alert-warning">Aucune production de programmée.</div>
<?php endif; ?>
</div>
</div>
</div>
<!-- produits -->
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
<?= $nb_produits ?> produit<?php if($nb_produits > 1): ?>s<?php endif; ?>
<?= Html::a('Ajouter',['produit/create'],['class' => 'btn btn-success btn-xs margin-left']) ; ?>
<?= Html::a('Liste', ['produit/index'], ['class' => 'btn btn-default btn-xs']) ; ?>
</h3>
</div>
<div class="panel-body">
<?php if($nb_points_vente): ?>
<p>Derniers produits ajoutés :</p>
<table class="table table-bordered table-condensed">
<thead>
<tr>
<th>Nom</th>
<th>Description</th>
<th></th>
</tr>
</thead>
<tbody>
<?php foreach($produits as $p): ?>
<tr>
<td><?= Html::encode($p['nom']) ?></td>
<td><?= Html::encode($p['description']) ?></td>
<td><?= Html::a('<span class="glyphicon glyphicon-pencil"></span>', ['produit/update','id' => $p['id']], ['class' => 'btn btn-default btn-xs']) ; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php else: ?>
<div class="alert alert-warning">Aucun produit.</div>
<?php endif; ?>
</div>
</div>
</div>
<!-- Points de vente -->
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
<?= $nb_points_vente ?> point<?php if($nb_points_vente > 1): ?>s<?php endif; ?> de vente
<?= Html::a('Ajouter',['point-vente/create'],['class' => 'btn btn-success btn-xs margin-left']) ; ?>
<?= Html::a('Liste', ['point-vente/index'], ['class' => 'btn btn-default btn-xs']) ; ?>
</h3>
</div>
<div class="panel-body">
<?php if($nb_points_vente): ?>
<p>Derniers points de vente ajoutés :</p>
<table class="table table-bordered table-condensed">
<thead>
<tr>
<th>Nom</th>
<th>Localisation</th>
<th></th>
</tr>
</thead>
<tbody>
<?php foreach($points_vente as $pv): ?>
<tr>
<td><?= Html::encode($pv['nom']) ?></td>
<td><?= Html::encode($pv['localite']) ?></td>
<td><?= Html::a('<span class="glyphicon glyphicon-pencil"></span>', ['point-vente/update','id' => $pv['id']], ['class' => 'btn btn-default btn-xs']) ; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php else: ?>
<div class="alert alert-warning">Aucun point de vente.</div>
<?php endif; ?>
</div>
</div>
</div>
<!-- Clients -->
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
<?= $nb_clients; ?> client<?php if($nb_clients > 1): ?>s<?php endif; ?>
<?= Html::a('Ajouter',['user/create'],['class' => 'btn btn-success btn-xs margin-left']) ; ?>
<?= Html::a('Liste', ['user/index'], ['class' => 'btn btn-default btn-xs']) ; ?>
</h3>
</div>
<div class="panel-body">
<?php if($nb_clients): ?>
<p>Dernières inscriptions :</p>
<table class="table table-bordered table-condensed">
<thead>
<tr>
<th>Prénom, nom</th>
<th>Inscription</th>
<th></th>
</tr>
</thead>
<tbody>
<?php foreach($clients as $c): ?>
<tr>
<td><?= Html::encode($c['prenom'].' '.$c['nom']) ?></td>
<td><?= date('d/m/Y', $c['created_at']); ?></td>
<td><?= Html::a('<span class="glyphicon glyphicon-pencil"></span>', ['user/update','id' => $c['user_id']], ['class' => 'btn btn-default btn-xs']) ; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php else: ?>
<div class="alert alert-warning">Aucun client.</div>
<?php endif; ?>
</div>
</div>
</div>
<!-- Paramètres -->
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
Paramètres
<?= Html::a('Configurer',['etablissement/update'],['class' => 'btn btn-default btn-xs']) ; ?>
</h3>
</div>
<div class="panel-body">
<table class="table table-bordered table-condensed">
<thead>
<tr>
<th>Configuration</th>
<th>Valeur</th>
</tr>
</thead>
<tbody>
<tr>
<td>Boulangerie activée</td>
<td>
<?php if($etablissement->actif): ?>
<span class="label label-success">Active</span>
<?php else: ?>
<span class="label label-danger">Hors-ligne</span>
<?php endif; ?>
</td>
</tr>
<tr>
<td>Boulangerie protégée par un code</td>
<td>
<?php if(strlen($etablissement->code)): ?>
<span class="label label-success">Oui</span><br />
<strong><?= Html::encode($etablissement->code) ?></strong>
<?php else: ?>
<span class="label label-danger">Non</span>
<?php endif; ?>
</td>
</tr>
<tr>
<td>Délai de commande</td>
<td><?= $etablissement->delai_commande ?> jour<?php if($etablissement->delai_commande > 1): ?>s<?php endif; ?></td>
</tr>
<tr>
<td>Heure limite de commande</td>
<td><?= $etablissement->heure_limite_commande ?>h</td>
</tr>
<tr>
<td>Système de Crédit Pain activé</td>
<td>
<?php if($etablissement->credit_pain): ?>
<span class="label label-success">Oui</span><br />
<?php else: ?>
<span class="label label-danger">Non</span>
<?php endif; ?>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!-- Facturation -->
<div class="col-md-4" id="facturation">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
Facturation
<?= Html::a('Voir',['etablissement/facturation'],['class' => 'btn btn-default btn-xs']) ; ?>
</h3>
</div>
<div class="panel-body">
<div class="col-md-6 mois-en-cours">
<h2>Chiffre d'affaire<br />du mois en cours</h2>
<div class="montant"><span><?= number_format($etablissement->getCA(date('Y-m')), 2); ?> €</span></div>
</div>


<div class="col-md-6">
<?php $montant = $etablissement->getMontantFacturer(date('Y-m'), 0); ?>
<h2>Participation<br /><em>La boîte à pain</em> (2%)</h2>
<div class="montant"><span><?php if($montant): echo number_format($montant,2).' €' ; else: echo 'Gratuit' ; endif; ?></span></div>
</div>
<div class="clr"></div>
</div>
</div>
</div>
</div> </div>

+ 2
- 2
backend/views/user/commandes.php View File

use common\models\Commande; use common\models\Commande;


$this->title = 'Commandes <small>'.Html::encode($user->nom.' '.$user->prenom).'</small>'; $this->title = 'Commandes <small>'.Html::encode($user->nom.' '.$user->prenom).'</small>';
$this->params['breadcrumbs'][] = ['label' => 'Utilisateurs', 'url' => ['index']];
$this->params['breadcrumbs'][] = ['label' => 'Clients', 'url' => ['index']];
$this->params['breadcrumbs'][] = ['label' => Html::encode($user->nom.' '.$user->prenom)]; $this->params['breadcrumbs'][] = ['label' => Html::encode($user->nom.' '.$user->prenom)];
$this->params['breadcrumbs'][] = 'Créditer'; $this->params['breadcrumbs'][] = 'Créditer';


</tbody> </tbody>
</table> </table>
<?php else: ?> <?php else: ?>
<div class="alert alert-warning">Aucune commande passée par cet utilisateur</div>
<div class="alert alert-warning">Aucune commande passée par ce client.</div>
<?php endif; ?> <?php endif; ?>
</div> </div>

+ 3
- 3
backend/views/user/create.php View File

/* @var $this yii\web\View */ /* @var $this yii\web\View */
/* @var $model common\models\User */ /* @var $model common\models\User */


$this->title = 'Ajouter un utilisateur';
$this->params['breadcrumbs'][] = ['label' => 'Utilisateurs', 'url' => ['index']];
$this->title = 'Ajouter un client';
$this->params['breadcrumbs'][] = ['label' => 'Clients', 'url' => ['index']];
$this->params['breadcrumbs'][] = 'Ajouter' ; $this->params['breadcrumbs'][] = 'Ajouter' ;
?> ?>
<div class="user-create"> <div class="user-create">
<?php if(YII_ENV == 'demo'): ?> <?php if(YII_ENV == 'demo'): ?>
<div class="alert alert-warning">Vous ne pouvez pas ajouter d'utilisateur dans l'espace Démo.</div>
<div class="alert alert-warning">Vous ne pouvez pas ajouter de client dans l'espace Démo.</div>
<?php else: ?> <?php else: ?>
<h1><?= Html::encode($this->title) ?></h1> <h1><?= Html::encode($this->title) ?></h1>
<?= $this->render('_form', [ <?= $this->render('_form', [

+ 1
- 1
backend/views/user/credit.php View File

use common\models\Etablissement; use common\models\Etablissement;


$this->title = 'Créditer <small>'.Html::encode($user->nom.' '.$user->prenom).'</small>'; $this->title = 'Créditer <small>'.Html::encode($user->nom.' '.$user->prenom).'</small>';
$this->params['breadcrumbs'][] = ['label' => 'Utilisateurs', 'url' => ['index']];
$this->params['breadcrumbs'][] = ['label' => 'Clients', 'url' => ['index']];
$this->params['breadcrumbs'][] = ['label' => Html::encode($user->nom.' '.$user->prenom)]; $this->params['breadcrumbs'][] = ['label' => Html::encode($user->nom.' '.$user->prenom)];
$this->params['breadcrumbs'][] = 'Créditer'; $this->params['breadcrumbs'][] = 'Créditer';



+ 6
- 5
backend/views/user/index.php View File

/* @var $this yii\web\View */ /* @var $this yii\web\View */
/* @var $dataProvider yii\data\ActiveDataProvider */ /* @var $dataProvider yii\data\ActiveDataProvider */


$this->title = 'Utilisateurs';
$this->title = 'Clients';
$this->params['breadcrumbs'][] = $this->title; $this->params['breadcrumbs'][] = $this->title;
?> ?>


'attribute' => 'credit', 'attribute' => 'credit',
'format' => 'raw', 'format' => 'raw',
'value' => function($model) use($etablissement) { 'value' => function($model) use($etablissement) {
if(!isset($model['credit'])) $model['credit'] = 0 ;
$html = '<div class="input-group"> $html = '<div class="input-group">
<input type="text" class="form-control input-credit" readonly="readonly" value="'.number_format($model['credit'],2).' €" placeholder=""> <input type="text" class="form-control input-credit" readonly="readonly" value="'.number_format($model['credit'],2).' €" placeholder="">
<span class="input-group-btn"> <span class="input-group-btn">
'.Html::a( '.Html::a(
'<span class="glyphicon glyphicon-euro"></span> Crédit', '<span class="glyphicon glyphicon-euro"></span> Crédit',
Yii::$app->urlManager->createUrl(['user/credit','id' => $model['id']]),
Yii::$app->urlManager->createUrl(['user/credit','id' => $model['user_id']]),
[ [
'title' => 'Crédit', 'title' => 'Crédit',
'class' => 'btn btn-default' 'class' => 'btn btn-default'
'headerOptions' => ['class' => 'actions'], 'headerOptions' => ['class' => 'actions'],
'buttons' => [ 'buttons' => [
'update' => function ($url, $model) { 'update' => function ($url, $model) {
$url = Yii::$app->urlManager->createUrl(['user/update','id' => $model['id']]) ;
$user = User::find()->with('userEtablissement')->where(['id' => $model['id']])->one() ;
$url = Yii::$app->urlManager->createUrl(['user/update','id' => $model['user_id']]) ;
$user = User::find()->with('userEtablissement')->where(['id' => $model['user_id']])->one() ;
if(count($user->userEtablissement) <= 1) if(count($user->userEtablissement) <= 1)
{ {
return Html::a('<span class="glyphicon glyphicon-pencil"></span> Modifier', $url, [ return Html::a('<span class="glyphicon glyphicon-pencil"></span> Modifier', $url, [
]); ]);
} }
else { else {
return '<span data-toggle="tooltip" data-placement="top" title="Vous ne pouvez pas modifier les utilisateurs qui appartiennent à plusieurs boulangeries."><span class="glyphicon glyphicon-remove-sign"></span> Non modifiable</span>' ;
return '<span data-toggle="tooltip" data-placement="top" title="Vous ne pouvez pas modifier les clients qui appartiennent à plusieurs boulangeries."><span class="glyphicon glyphicon-remove-sign"></span> Non modifiable</span>' ;
} }
}, },
], ],

+ 2
- 2
backend/views/user/liste_mails.php View File

use yii\helpers\Html ; use yii\helpers\Html ;


$this->title = 'Liste des emails'; $this->title = 'Liste des emails';
$this->params['breadcrumbs'][] = ['label' => 'Utilisateurs',
$this->params['breadcrumbs'][] = ['label' => 'Clients',
'url' => ['user/index']] ; 'url' => ['user/index']] ;
$this->params['breadcrumbs'][] = $this->title; $this->params['breadcrumbs'][] = $this->title;


?> ?>


<h1><?= count($users); ?> utilisateurs</h1>
<h1><?= count($users); ?> clients</h1>


<?= implode(', ', $users); ?> <?= implode(', ', $users); ?>



+ 2
- 2
backend/views/user/update.php View File

/* @var $this yii\web\View */ /* @var $this yii\web\View */
/* @var $model common\models\User */ /* @var $model common\models\User */


$this->title = 'Modifier un utilisateur' ;
$this->params['breadcrumbs'][] = ['label' => 'Utilisateurs', 'url' => ['index']];
$this->title = 'Modifier un client' ;
$this->params['breadcrumbs'][] = ['label' => 'Clients', 'url' => ['index']];
$this->params['breadcrumbs'][] = ['label' => Html::encode($model->nom.' '.$model->prenom)]; $this->params['breadcrumbs'][] = ['label' => Html::encode($model->nom.' '.$model->prenom)];
$this->params['breadcrumbs'][] = 'Modifier'; $this->params['breadcrumbs'][] = 'Modifier';
?> ?>

+ 1
- 1
backend/views/user/view.php View File

/* @var $model common\models\User */ /* @var $model common\models\User */


$this->title = $model->id; $this->title = $model->id;
$this->params['breadcrumbs'][] = ['label' => 'Users', 'url' => ['index']];
$this->params['breadcrumbs'][] = ['label' => 'Clients', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title; $this->params['breadcrumbs'][] = $this->title;
?> ?>
<div class="user-view"> <div class="user-view">

BIN
backend/web/.sass-cache/c8fef7d48da4dc7f024edc2b0fada9d8d6de5dac/screen.scssc View File


+ 185
- 138
backend/web/css/screen.css View File

text-align: center; text-align: center;
} }


/* line 258, ../sass/screen.scss */
/* line 255, ../sass/screen.scss */
.site-index .panel .panel-title .btn {
float: right;
font-family: "myriadpro-regular";
}
/* line 259, ../sass/screen.scss */
.site-index .panel .panel-title .btn.btn-success {
background-color: #5cb85c;
color: white;
border-color: #5cb85c;
}
/* line 265, ../sass/screen.scss */
.site-index .panel .panel-title .btn.margin-left {
margin-left: 5px;
}
/* line 270, ../sass/screen.scss */
.site-index .panel .panel-body {
height: 250px;
}
/* line 276, ../sass/screen.scss */
.site-index #facturation h2 {
font-size: 25px;
text-align: center;
}
/* line 282, ../sass/screen.scss */
.site-index #facturation .mois-en-cours .montant span {
background-color: white;
color: #333;
border: solid 1px gray;
}
/* line 289, ../sass/screen.scss */
.site-index #facturation .montant {
margin-top: 35px;
text-align: center;
}
/* line 292, ../sass/screen.scss */
.site-index #facturation .montant span {
font-size: 22px;
color: white;
background-color: #BB8757;
padding: 7px 10px 3px;
font-family: "myriadpro-regular";
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}

/* line 312, ../sass/screen.scss */
#page-commande h1 .btn-group { #page-commande h1 .btn-group {
float: right; float: right;
} }
/* line 263, ../sass/screen.scss */
/* line 317, ../sass/screen.scss */
#page-commande #col-left, #page-commande #col-right { #page-commande #col-left, #page-commande #col-right {
padding-left: 0px; padding-left: 0px;
padding-right: 0px; padding-right: 0px;
} }
/* line 267, ../sass/screen.scss */
/* line 321, ../sass/screen.scss */
#page-commande #col-right { #page-commande #col-right {
padding-left: 20px; padding-left: 20px;
} }
/* line 271, ../sass/screen.scss */
/* line 325, ../sass/screen.scss */
#page-commande #jours-production { #page-commande #jours-production {
display: none; display: none;
} }
/* line 277, ../sass/screen.scss */
/* line 331, ../sass/screen.scss */
#page-commande #calendar h2 { #page-commande #calendar h2 {
font-size: 20px; font-size: 20px;
position: relative; position: relative;
top: 3px; top: 3px;
} }
/* line 283, ../sass/screen.scss */
/* line 337, ../sass/screen.scss */
#page-commande #calendar .fc-header-title { #page-commande #calendar .fc-header-title {
margin-left: 10px; margin-left: 10px;
} }
/* line 289, ../sass/screen.scss */
/* line 343, ../sass/screen.scss */
#page-commande #calendar .dayWithEvent { #page-commande #calendar .dayWithEvent {
background-color: #fee48d; background-color: #fee48d;
cursor: pointer; cursor: pointer;
} }
/* line 293, ../sass/screen.scss */
/* line 347, ../sass/screen.scss */
#page-commande #calendar .fc-event-container { #page-commande #calendar .fc-event-container {
display: none; display: none;
} }
/* line 294, ../sass/screen.scss */
/* line 348, ../sass/screen.scss */
#page-commande #calendar .fc-today { #page-commande #calendar .fc-today {
border-bottom: solid 1px #C9302C; border-bottom: solid 1px #C9302C;
background-color: white; background-color: white;
} }
/* line 298, ../sass/screen.scss */
/* line 352, ../sass/screen.scss */
#page-commande #calendar .fc-today.dayWithEvent { #page-commande #calendar .fc-today.dayWithEvent {
background-color: #fee48d; background-color: #fee48d;
} }
/* line 303, ../sass/screen.scss */
/* line 357, ../sass/screen.scss */
#page-commande #calendar .fc-day { #page-commande #calendar .fc-day {
cursor: pointer; cursor: pointer;
text-align: center; text-align: center;
} }
/* line 306, ../sass/screen.scss */
/* line 360, ../sass/screen.scss */
#page-commande #calendar .fc-day:hover { #page-commande #calendar .fc-day:hover {
-moz-box-shadow: 0px 0px 2px black inset; -moz-box-shadow: 0px 0px 2px black inset;
-webkit-box-shadow: 0px 0px 2px black inset; -webkit-box-shadow: 0px 0px 2px black inset;
box-shadow: 0px 0px 2px black inset; box-shadow: 0px 0px 2px black inset;
} }
/* line 311, ../sass/screen.scss */
/* line 365, ../sass/screen.scss */
#page-commande #calendar .current-date { #page-commande #calendar .current-date {
-moz-box-shadow: 0px 0px 2px black inset; -moz-box-shadow: 0px 0px 2px black inset;
-webkit-box-shadow: 0px 0px 2px black inset; -webkit-box-shadow: 0px 0px 2px black inset;
box-shadow: 0px 0px 2px black inset; box-shadow: 0px 0px 2px black inset;
} }
/* line 315, ../sass/screen.scss */
/* line 369, ../sass/screen.scss */
#page-commande #calendar .fc-day-number { #page-commande #calendar .fc-day-number {
float: none; float: none;
padding-top: 2px; padding-top: 2px;
} }
/* line 323, ../sass/screen.scss */
/* line 377, ../sass/screen.scss */
#page-commande #bloc-production .label { #page-commande #bloc-production .label {
float: right; float: right;
font-size: 13px; font-size: 13px;
} }
/* line 328, ../sass/screen.scss */
/* line 382, ../sass/screen.scss */
#page-commande #bloc-production .btn-success { #page-commande #bloc-production .btn-success {
background-color: #5cb85c; background-color: #5cb85c;
border-color: #4cae4c; border-color: #4cae4c;
} }
/* line 333, ../sass/screen.scss */
/* line 387, ../sass/screen.scss */
#page-commande #bloc-production #productions-point-vente { #page-commande #bloc-production #productions-point-vente {
margin-top: 15px; margin-top: 15px;
padding: 10px; padding: 10px;
-webkit-border-radius: 5px; -webkit-border-radius: 5px;
border-radius: 5px; border-radius: 5px;
} }
/* line 339, ../sass/screen.scss */
/* line 393, ../sass/screen.scss */
#page-commande #bloc-production #productions-point-vente label { #page-commande #bloc-production #productions-point-vente label {
display: block; display: block;
font-weight: normal; font-weight: normal;
} }
/* line 344, ../sass/screen.scss */
/* line 398, ../sass/screen.scss */
#page-commande #bloc-production #productions-point-vente .checkbox-list { #page-commande #bloc-production #productions-point-vente .checkbox-list {
margin-left: 10px; margin-left: 10px;
margin-top: 10px; margin-top: 10px;
} }
/* line 357, ../sass/screen.scss */
/* line 411, ../sass/screen.scss */
#page-commande #produits-production .overflow table { #page-commande #produits-production .overflow table {
width: 100%; width: 100%;
} }
/* line 361, ../sass/screen.scss */
/* line 415, ../sass/screen.scss */
#page-commande #produits-production .overflow thead, #page-commande #produits-production .overflow tbody, #page-commande #produits-production .overflow tr, #page-commande #produits-production .overflow td, #page-commande #produits-production .overflow th { #page-commande #produits-production .overflow thead, #page-commande #produits-production .overflow tbody, #page-commande #produits-production .overflow tr, #page-commande #produits-production .overflow td, #page-commande #produits-production .overflow th {
display: block; display: block;
} }
/* line 363, ../sass/screen.scss */
/* line 417, ../sass/screen.scss */
#page-commande #produits-production .overflow tr:after { #page-commande #produits-production .overflow tr:after {
content: ' '; content: ' ';
display: block; display: block;
visibility: hidden; visibility: hidden;
clear: both; clear: both;
} }
/* line 370, ../sass/screen.scss */
/* line 424, ../sass/screen.scss */
#page-commande #produits-production .overflow thead th { #page-commande #produits-production .overflow thead th {
height: 30px; height: 30px;
/*text-align: left;*/ /*text-align: left;*/
} }
/* line 376, ../sass/screen.scss */
/* line 430, ../sass/screen.scss */
#page-commande #produits-production .overflow tbody { #page-commande #produits-production .overflow tbody {
height: 500px; height: 500px;
overflow-y: auto; overflow-y: auto;
} }
/* line 384, ../sass/screen.scss */
/* line 438, ../sass/screen.scss */
#page-commande #produits-production .overflow thead th { #page-commande #produits-production .overflow thead th {
width: 32%; width: 32%;
float: left; float: left;
} }
/* line 389, ../sass/screen.scss */
/* line 443, ../sass/screen.scss */
#page-commande #produits-production .overflow tbody td { #page-commande #produits-production .overflow tbody td {
width: 33%; width: 33%;
float: left; float: left;
} }
/* line 394, ../sass/screen.scss */
/* line 448, ../sass/screen.scss */
#page-commande #produits-production .overflow .td-produit { #page-commande #produits-production .overflow .td-produit {
width: 60%; width: 60%;
} }
/* line 397, ../sass/screen.scss */
/* line 451, ../sass/screen.scss */
#page-commande #produits-production .overflow .td-actif, #page-commande #produits-production .overflow .td-max { #page-commande #produits-production .overflow .td-actif, #page-commande #produits-production .overflow .td-max {
width: 20%; width: 20%;
text-align: center; text-align: center;
} }
/* line 403, ../sass/screen.scss */
/* line 457, ../sass/screen.scss */
#page-commande #produits-production .overflow thead .td-produit { #page-commande #produits-production .overflow thead .td-produit {
width: 57%; width: 57%;
} }
/* line 409, ../sass/screen.scss */
/* line 463, ../sass/screen.scss */
#page-commande #produits-production input.quantite-max { #page-commande #produits-production input.quantite-max {
background-color: white; background-color: white;
border: 1px solid #e0e0e0; border: 1px solid #e0e0e0;
text-align: center; text-align: center;
width: 50px; width: 50px;
} }
/* line 417, ../sass/screen.scss */
/* line 471, ../sass/screen.scss */
#page-commande #produits-production td label { #page-commande #produits-production td label {
font-weight: normal; font-weight: normal;
} }
/* line 423, ../sass/screen.scss */
/* line 477, ../sass/screen.scss */
#page-commande #btn-export-commandes, #page-commande #btn-export-commandes,
#page-commande #btn-commande-auto { #page-commande #btn-commande-auto {
float: right; float: right;
right: -7px; right: -7px;
padding: 2px 5px; padding: 2px 5px;
} }
/* line 432, ../sass/screen.scss */
/* line 486, ../sass/screen.scss */
#page-commande #btn-export-commandes { #page-commande #btn-export-commandes {
color: white; color: white;
margin-left: 10px; margin-left: 10px;
padding: 1px 5px; padding: 1px 5px;
} }
/* line 440, ../sass/screen.scss */
/* line 494, ../sass/screen.scss */
#page-commande #bloc-totaux .table-produits .depasse { #page-commande #bloc-totaux .table-produits .depasse {
color: #b32815; color: #b32815;
} }
/* line 444, ../sass/screen.scss */
/* line 498, ../sass/screen.scss */
#page-commande #bloc-totaux .table-produits .total strong span { #page-commande #bloc-totaux .table-produits .total strong span {
font-weight: normal; font-weight: normal;
font-size: 13px; font-size: 13px;
} }
/* line 453, ../sass/screen.scss */
/* line 507, ../sass/screen.scss */
#page-commande #commandes-points-vente .tab-pane { #page-commande #commandes-points-vente .tab-pane {
padding-top: 20px; padding-top: 20px;
} }
/* line 460, ../sass/screen.scss */
/* line 514, ../sass/screen.scss */
#page-commande #commandes-points-vente .recap-pv.no-commande .recettes { #page-commande #commandes-points-vente .recap-pv.no-commande .recettes {
display: none; display: none;
} }
/* line 464, ../sass/screen.scss */
/* line 518, ../sass/screen.scss */
#page-commande #commandes-points-vente .recap-pv .recettes { #page-commande #commandes-points-vente .recap-pv .recettes {
float: right; float: right;
color: #BB8757; color: #BB8757;
position: relative; position: relative;
top: -3px; top: -3px;
} }
/* line 478, ../sass/screen.scss */
/* line 532, ../sass/screen.scss */
#page-commande #commandes-points-vente .alert.commentaire { #page-commande #commandes-points-vente .alert.commentaire {
display: none; display: none;
} }
/* line 482, ../sass/screen.scss */
/* line 536, ../sass/screen.scss */
#page-commande #commandes-points-vente ul.liste-commandes { #page-commande #commandes-points-vente ul.liste-commandes {
margin-top: 10px; margin-top: 10px;
list-style-type: none; list-style-type: none;
width: 100%; width: 100%;
overflow-y: scroll; overflow-y: scroll;
} }
/* line 494, ../sass/screen.scss */
/* line 548, ../sass/screen.scss */
#page-commande #commandes-points-vente ul.liste-commandes.no-commande { #page-commande #commandes-points-vente ul.liste-commandes.no-commande {
display: none; display: none;
} }
/* line 498, ../sass/screen.scss */
/* line 552, ../sass/screen.scss */
#page-commande #commandes-points-vente ul.liste-commandes li { #page-commande #commandes-points-vente ul.liste-commandes li {
padding: 0; padding: 0;
margin: 0; margin: 0;
} }
/* line 501, ../sass/screen.scss */
/* line 555, ../sass/screen.scss */
#page-commande #commandes-points-vente ul.liste-commandes li a { #page-commande #commandes-points-vente ul.liste-commandes li a {
text-align: left; text-align: left;
-moz-border-radius: 0px; -moz-border-radius: 0px;
padding: 7px; padding: 7px;
color: #333; color: #333;
} }
/* line 509, ../sass/screen.scss */
/* line 563, ../sass/screen.scss */
#page-commande #commandes-points-vente ul.liste-commandes li a .montant { #page-commande #commandes-points-vente ul.liste-commandes li a .montant {
float: right; float: right;
color: #BB8757; color: #BB8757;
font-weight: bold; font-weight: bold;
} }
/* line 514, ../sass/screen.scss */
/* line 568, ../sass/screen.scss */
#page-commande #commandes-points-vente ul.liste-commandes li a .montant.paye { #page-commande #commandes-points-vente ul.liste-commandes li a .montant.paye {
color: #5cb85c; color: #5cb85c;
color: #519951; color: #519951;
} }
/* line 520, ../sass/screen.scss */
/* line 574, ../sass/screen.scss */
#page-commande #commandes-points-vente ul.liste-commandes li a .glyphicon-comment { #page-commande #commandes-points-vente ul.liste-commandes li a .glyphicon-comment {
color: #BB8757; color: #BB8757;
} }
/* line 524, ../sass/screen.scss */
/* line 578, ../sass/screen.scss */
#page-commande #commandes-points-vente ul.liste-commandes li a:hover, #page-commande #commandes-points-vente ul.liste-commandes li a:active, #page-commande #commandes-points-vente ul.liste-commandes li a.active { #page-commande #commandes-points-vente ul.liste-commandes li a:hover, #page-commande #commandes-points-vente ul.liste-commandes li a:active, #page-commande #commandes-points-vente ul.liste-commandes li a.active {
text-decoration: none; text-decoration: none;
background-color: #FCF8E3; background-color: #FCF8E3;
-webkit-transition: all 0.1s; -webkit-transition: all 0.1s;
transition: all 0.1s; transition: all 0.1s;
} }
/* line 538, ../sass/screen.scss */
/* line 592, ../sass/screen.scss */
#page-commande #commandes-points-vente .creer-commande, #page-commande #commandes-points-vente .creer-commande,
#page-commande #commandes-points-vente .commandes-auto { #page-commande #commandes-points-vente .commandes-auto {
width: 100%; width: 100%;
margin-bottom: 10px; margin-bottom: 10px;
} }
/* line 544, ../sass/screen.scss */
/* line 598, ../sass/screen.scss */
#page-commande #commandes-points-vente .bloc-commande { #page-commande #commandes-points-vente .bloc-commande {
padding-top: 20px; padding-top: 20px;
margin-top: 20px; margin-top: 20px;
display: none; display: none;
} }
/* line 550, ../sass/screen.scss */
/* line 604, ../sass/screen.scss */
#page-commande #commandes-points-vente .title-user { #page-commande #commandes-points-vente .title-user {
display: none; display: none;
font-size: 19px; font-size: 19px;
margin-top: 0px; margin-top: 0px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
} }
/* line 556, ../sass/screen.scss */
/* line 610, ../sass/screen.scss */
#page-commande #commandes-points-vente .title-user .btn-edit, #page-commande #commandes-points-vente .title-user .btn-remove, #page-commande #commandes-points-vente .title-user .btn-edit, #page-commande #commandes-points-vente .title-user .btn-remove,
#page-commande #commandes-points-vente .title-user .btn-cancel, #page-commande #commandes-points-vente .title-user .btn-save { #page-commande #commandes-points-vente .title-user .btn-cancel, #page-commande #commandes-points-vente .title-user .btn-save {
float: right; float: right;
position: relative; position: relative;
top: -6px; top: -6px;
} }
/* line 563, ../sass/screen.scss */
/* line 617, ../sass/screen.scss */
#page-commande #commandes-points-vente .title-user .btn-edit, #page-commande #commandes-points-vente .title-user .btn-cancel { #page-commande #commandes-points-vente .title-user .btn-edit, #page-commande #commandes-points-vente .title-user .btn-cancel {
margin-right: 10px; margin-right: 10px;
} }
/* line 567, ../sass/screen.scss */
/* line 621, ../sass/screen.scss */
#page-commande #commandes-points-vente .title-user .buttons-save-cancel { #page-commande #commandes-points-vente .title-user .buttons-save-cancel {
display: none; display: none;
} }
/* line 571, ../sass/screen.scss */
/* line 625, ../sass/screen.scss */
#page-commande #commandes-points-vente .title-user .choix-user { #page-commande #commandes-points-vente .title-user .choix-user {
display: none; display: none;
} }
/* line 574, ../sass/screen.scss */
/* line 628, ../sass/screen.scss */
#page-commande #commandes-points-vente .title-user .choix-user .form-control { #page-commande #commandes-points-vente .title-user .choix-user .form-control {
width: 200px; width: 200px;
display: inline; display: inline;
} }
/* line 582, ../sass/screen.scss */
/* line 636, ../sass/screen.scss */
#page-commande #commandes-points-vente table.table-produits .td-commande { #page-commande #commandes-points-vente table.table-produits .td-commande {
text-align: center; text-align: center;
} }
/* line 585, ../sass/screen.scss */
/* line 639, ../sass/screen.scss */
#page-commande #commandes-points-vente table.table-produits input.form-control { #page-commande #commandes-points-vente table.table-produits input.form-control {
text-align: center; text-align: center;
} }
/* line 591, ../sass/screen.scss */
/* line 645, ../sass/screen.scss */
#page-commande #commandes-points-vente .td-produit, #page-commande #commandes-points-vente .td-produit,
#page-commande #commandes-points-vente .th-produit { #page-commande #commandes-points-vente .th-produit {
width: 70%; width: 70%;
} }
/* line 596, ../sass/screen.scss */
/* line 650, ../sass/screen.scss */
#page-commande #commandes-points-vente .td-commande, #page-commande #commandes-points-vente .td-commande,
#page-commande #commandes-points-vente .th-commande { #page-commande #commandes-points-vente .th-commande {
width: 30%; width: 30%;
text-align: center; text-align: center;
} }
/* line 602, ../sass/screen.scss */
/* line 656, ../sass/screen.scss */
#page-commande #commandes-points-vente .td-produit { #page-commande #commandes-points-vente .td-produit {
text-transform: uppercase; text-transform: uppercase;
} }
/* line 606, ../sass/screen.scss */
/* line 660, ../sass/screen.scss */
#page-commande #commandes-points-vente .td-commande { #page-commande #commandes-points-vente .td-commande {
font-weight: bold; font-weight: bold;
} }
/* line 610, ../sass/screen.scss */
/* line 664, ../sass/screen.scss */
#page-commande #commandes-points-vente .td-total { #page-commande #commandes-points-vente .td-total {
font-size: 18px; font-size: 18px;
text-align: center; text-align: center;
} }
/* line 614, ../sass/screen.scss */
/* line 668, ../sass/screen.scss */
#page-commande #commandes-points-vente .td-total span { #page-commande #commandes-points-vente .td-total span {
padding: 2px 10px; padding: 2px 10px;
background-color: #BB8757; background-color: #BB8757;
-webkit-border-radius: 8px; -webkit-border-radius: 8px;
border-radius: 8px; border-radius: 8px;
} }
/* line 624, ../sass/screen.scss */
/* line 678, ../sass/screen.scss */
#page-commande #commandes-points-vente .td-paiement .buttons-credit { #page-commande #commandes-points-vente .td-paiement .buttons-credit {
float: right; float: right;
} }
/* line 630, ../sass/screen.scss */
/* line 684, ../sass/screen.scss */
#page-commande #commandes-points-vente .panel-commande-automatique .field-commandeautoform-id_user, #page-commande #commandes-points-vente .panel-commande-automatique .field-commandeautoform-id_user,
#page-commande #commandes-points-vente .panel-commande-automatique .field-commandeautoform-id_etablissement { #page-commande #commandes-points-vente .panel-commande-automatique .field-commandeautoform-id_etablissement {
display: none; display: none;
} }
/* line 637, ../sass/screen.scss */
/* line 691, ../sass/screen.scss */
#page-commande #commandes-points-vente .panel-commande-automatique .jours .form-group { #page-commande #commandes-points-vente .panel-commande-automatique .jours .form-group {
float: left; float: left;
margin-right: 10px; margin-right: 10px;
} }
/* line 646, ../sass/screen.scss */
/* line 700, ../sass/screen.scss */
#page-commande #old-commandes { #page-commande #old-commandes {
display: none; display: none;
} }
/* line 650, ../sass/screen.scss */
/* line 704, ../sass/screen.scss */
#page-commande .form-commandes-point-vente { #page-commande .form-commandes-point-vente {
margin-top: 20px; margin-top: 20px;
} }
/* line 654, ../sass/screen.scss */
/* line 708, ../sass/screen.scss */
#page-commande .form-commandes-point-vente table { #page-commande .form-commandes-point-vente table {
border-bottom: solid 1px #e0e0e0; border-bottom: solid 1px #e0e0e0;
} }
/* line 658, ../sass/screen.scss */
/* line 712, ../sass/screen.scss */
#page-commande .form-commandes-point-vente .title-point-vente { #page-commande .form-commandes-point-vente .title-point-vente {
background-color: #fff8e2; background-color: #fff8e2;
border-left: solid 3px #BB8757; border-left: solid 3px #BB8757;
text-align: left; text-align: left;
padding: 10px; padding: 10px;
} }
/* line 666, ../sass/screen.scss */
/* line 720, ../sass/screen.scss */
#page-commande .form-commandes-point-vente .title-totaux { #page-commande .form-commandes-point-vente .title-totaux {
text-align: center; text-align: center;
} }
/* line 670, ../sass/screen.scss */
/* line 724, ../sass/screen.scss */
#page-commande .form-commandes-point-vente .border-left { #page-commande .form-commandes-point-vente .border-left {
border-left: solid 1px #e0e0e0; border-left: solid 1px #e0e0e0;
} }
/* line 674, ../sass/screen.scss */
/* line 728, ../sass/screen.scss */
#page-commande .form-commandes-point-vente .border-right { #page-commande .form-commandes-point-vente .border-right {
border-right: solid 1px #e0e0e0; border-right: solid 1px #e0e0e0;
} }
/* line 678, ../sass/screen.scss */
/* line 732, ../sass/screen.scss */
#page-commande .form-commandes-point-vente input.quantite { #page-commande .form-commandes-point-vente input.quantite {
width: 30px; width: 30px;
background-color: white; background-color: white;
border: solid 1px #e0e0e0; border: solid 1px #e0e0e0;
text-align: center; text-align: center;
} }
/* line 686, ../sass/screen.scss */
/* line 740, ../sass/screen.scss */
#page-commande .form-commandes-point-vente .td-produit { #page-commande .form-commandes-point-vente .td-produit {
text-align: center; text-align: center;
} }
/* line 690, ../sass/screen.scss */
/* line 744, ../sass/screen.scss */
#page-commande .form-commandes-point-vente .submit-pv { #page-commande .form-commandes-point-vente .submit-pv {
float: right; float: right;
} }
/* line 694, ../sass/screen.scss */
/* line 748, ../sass/screen.scss */
#page-commande .form-commandes-point-vente .select-user { #page-commande .form-commandes-point-vente .select-user {
background-color: #F9F9F9; background-color: #F9F9F9;
border: solid 1px #e0e0e0; border: solid 1px #e0e0e0;
} }
/* line 699, ../sass/screen.scss */
/* line 753, ../sass/screen.scss */
#page-commande .form-commandes-point-vente .date-commande { #page-commande .form-commandes-point-vente .date-commande {
font-size: 12px; font-size: 12px;
} }
/* line 703, ../sass/screen.scss */
/* line 757, ../sass/screen.scss */
#page-commande .form-commandes-point-vente .datepicker, #page-commande .form-commandes-point-vente .text { #page-commande .form-commandes-point-vente .datepicker, #page-commande .form-commandes-point-vente .text {
background-color: white; background-color: white;
border: solid 1px #e0e0e0; border: solid 1px #e0e0e0;
margin-top: 3px; margin-top: 3px;
width: 100px; width: 100px;
} }
/* line 711, ../sass/screen.scss */
/* line 765, ../sass/screen.scss */
#page-commande .form-commandes-point-vente td.center { #page-commande .form-commandes-point-vente td.center {
text-align: center; text-align: center;
} }
/* line 717, ../sass/screen.scss */
/* line 771, ../sass/screen.scss */
#page-commande .form-commandes-point-vente .depasse { #page-commande .form-commandes-point-vente .depasse {
color: #b32815; color: #b32815;
} }
/* line 721, ../sass/screen.scss */
/* line 775, ../sass/screen.scss */
#page-commande .form-commandes-point-vente .total strong span { #page-commande .form-commandes-point-vente .total strong span {
font-weight: normal; font-weight: normal;
font-size: 13px; font-size: 13px;
} }
/* line 726, ../sass/screen.scss */
/* line 780, ../sass/screen.scss */
#page-commande .form-commandes-point-vente .vrac { #page-commande .form-commandes-point-vente .vrac {
display: none; display: none;
} }
/* line 730, ../sass/screen.scss */
/* line 784, ../sass/screen.scss */
#page-commande .form-commandes-point-vente td.client { #page-commande .form-commandes-point-vente td.client {
text-align: left; text-align: left;
padding: 3px; padding: 3px;
} }
/* line 733, ../sass/screen.scss */
/* line 787, ../sass/screen.scss */
#page-commande .form-commandes-point-vente td.client .date-commande { #page-commande .form-commandes-point-vente td.client .date-commande {
color: gray; color: gray;
} }
/* line 740, ../sass/screen.scss */
/* line 794, ../sass/screen.scss */
#page-commande .table-header-rotated { #page-commande .table-header-rotated {
border-top: 0px; border-top: 0px;
border-left: 0px; border-left: 0px;
width: 100%; width: 100%;
width: auto; width: auto;
} }
/* line 747, ../sass/screen.scss */
/* line 801, ../sass/screen.scss */
#page-commande .table-header-rotated .total strong { #page-commande .table-header-rotated .total strong {
border-bottom: solid 1px gray; border-bottom: solid 1px gray;
} }
/* line 752, ../sass/screen.scss */
/* line 806, ../sass/screen.scss */
#page-commande .table-header-rotated th.row-header { #page-commande .table-header-rotated th.row-header {
width: auto; width: auto;
} }
/* line 756, ../sass/screen.scss */
/* line 810, ../sass/screen.scss */
#page-commande .table-header-rotated td { #page-commande .table-header-rotated td {
width: 40px; width: 40px;
border-top: 1px solid #dddddd; border-top: 1px solid #dddddd;
vertical-align: middle; vertical-align: middle;
text-align: center; text-align: center;
} }
/* line 765, ../sass/screen.scss */
/* line 819, ../sass/screen.scss */
#page-commande .table-header-rotated th.rotate-45 { #page-commande .table-header-rotated th.rotate-45 {
font-weight: normal; font-weight: normal;
height: 80px; height: 80px;
line-height: 1; line-height: 1;
border: 0px none; border: 0px none;
} }
/* line 779, ../sass/screen.scss */
/* line 833, ../sass/screen.scss */
#page-commande .table-header-rotated th.rotate-45 > div { #page-commande .table-header-rotated th.rotate-45 > div {
background-color: #F5F5F5; background-color: #F5F5F5;
position: relative; position: relative;
border-right: 1px solid #dddddd; border-right: 1px solid #dddddd;
border-top: 1px solid #dddddd; border-top: 1px solid #dddddd;
} }
/* line 796, ../sass/screen.scss */
/* line 850, ../sass/screen.scss */
#page-commande .table-header-rotated th.rotate-45 span { #page-commande .table-header-rotated th.rotate-45 span {
-ms-transform: skew(45deg, 0deg) rotate(315deg); -ms-transform: skew(45deg, 0deg) rotate(315deg);
-moz-transform: skew(45deg, 0deg) rotate(315deg); -moz-transform: skew(45deg, 0deg) rotate(315deg);
text-align: left; text-align: left;
} }


/* line 817, ../sass/screen.scss */
/* line 871, ../sass/screen.scss */
#email-masse-form #ids-users { #email-masse-form #ids-users {
line-height: 30px; line-height: 30px;
} }
/* line 819, ../sass/screen.scss */
/* line 873, ../sass/screen.scss */
#email-masse-form #ids-users .label { #email-masse-form #ids-users .label {
text-transform: capitalize; text-transform: capitalize;
} }


/* line 827, ../sass/screen.scss */
/* line 881, ../sass/screen.scss */
.produit-create #jours-production .form-group, .produit-update #jours-production .form-group { .produit-create #jours-production .form-group, .produit-update #jours-production .form-group {
float: left; float: left;
margin-right: 15px; margin-right: 15px;
} }
/* line 831, ../sass/screen.scss */
/* line 885, ../sass/screen.scss */
.produit-create #jours-production .form-group label, .produit-update #jours-production .form-group label { .produit-create #jours-production .form-group label, .produit-update #jours-production .form-group label {
font-weight: normal; font-weight: normal;
} }
/* line 836, ../sass/screen.scss */
/* line 890, ../sass/screen.scss */
.produit-create .field-produit-id_etablissement, .produit-update .field-produit-id_etablissement { .produit-create .field-produit-id_etablissement, .produit-update .field-produit-id_etablissement {
display: none; display: none;
} }


/* line 841, ../sass/screen.scss */
/* line 895, ../sass/screen.scss */
.table-striped > tbody > tr:nth-of-type(2n) { .table-striped > tbody > tr:nth-of-type(2n) {
background-color: white; background-color: white;
} }


/* line 846, ../sass/screen.scss */
/* line 900, ../sass/screen.scss */
.wrap .produit-index .td-photo { .wrap .produit-index .td-photo {
max-width: 100px; max-width: 100px;
width: 100px; width: 100px;
} }
/* line 850, ../sass/screen.scss */
/* line 904, ../sass/screen.scss */
.wrap .produit-index .photo-produit { .wrap .produit-index .photo-produit {
max-width: 100px; max-width: 100px;
} }
/* line 854, ../sass/screen.scss */
/* line 908, ../sass/screen.scss */
.wrap .produit-index .ui-state-highlight { .wrap .produit-index .ui-state-highlight {
height: 75px; height: 75px;
background-color: #F8F1DD; background-color: #F8F1DD;
} }


/* communiquer */ /* communiquer */
/* line 862, ../sass/screen.scss */
/* line 916, ../sass/screen.scss */
.communiquer-mode-emploi { .communiquer-mode-emploi {
border: solid 1px #e0e0e0; border: solid 1px #e0e0e0;
padding: 10px; padding: 10px;
margin-bottom: 30px; margin-bottom: 30px;
font-family: "myriadpro-regular"; font-family: "myriadpro-regular";
} }
/* line 870, ../sass/screen.scss */
/* line 924, ../sass/screen.scss */
.communiquer-mode-emploi .header .logo { .communiquer-mode-emploi .header .logo {
float: left; float: left;
width: 75px; width: 75px;
padding-right: 20px; padding-right: 20px;
padding-top: 10px; padding-top: 10px;
} }
/* line 876, ../sass/screen.scss */
/* line 930, ../sass/screen.scss */
.communiquer-mode-emploi .header .logo img { .communiquer-mode-emploi .header .logo img {
width: 75px; width: 75px;
} }
/* line 882, ../sass/screen.scss */
/* line 936, ../sass/screen.scss */
.communiquer-mode-emploi .header h1 { .communiquer-mode-emploi .header h1 {
font-family: "comfortaaregular"; font-family: "comfortaaregular";
font-size: 40px; font-size: 40px;
margin-bottom: 0px; margin-bottom: 0px;
font-weight: normal; font-weight: normal;
} }
/* line 890, ../sass/screen.scss */
/* line 944, ../sass/screen.scss */
.communiquer-mode-emploi .header h2 { .communiquer-mode-emploi .header h2 {
margin-top: 0px; margin-top: 0px;
font-family: "myriadpro-regular"; font-family: "myriadpro-regular";
left: 2px; left: 2px;
font-weight: normal; font-weight: normal;
} }
/* line 901, ../sass/screen.scss */
/* line 955, ../sass/screen.scss */
.communiquer-mode-emploi h3 { .communiquer-mode-emploi h3 {
font-family: "comfortaalight"; font-family: "comfortaalight";
font-family: "myriadpro-regular"; font-family: "myriadpro-regular";
margin-bottom: 0px; margin-bottom: 0px;
} }


/* line 911, ../sass/screen.scss */
/* line 965, ../sass/screen.scss */
.communiquer-mode-emploi-encart { .communiquer-mode-emploi-encart {
width: 420px; width: 420px;
margin-top: 20px; margin-top: 20px;
} }
/* line 915, ../sass/screen.scss */
/* line 969, ../sass/screen.scss */
.communiquer-mode-emploi-encart .header .logo { .communiquer-mode-emploi-encart .header .logo {
width: 60px; width: 60px;
margin-right: 20px; margin-right: 20px;
padding-top: 5px; padding-top: 5px;
} }
/* line 920, ../sass/screen.scss */
/* line 974, ../sass/screen.scss */
.communiquer-mode-emploi-encart .header .logo img { .communiquer-mode-emploi-encart .header .logo img {
width: 60px; width: 60px;
} }
/* line 926, ../sass/screen.scss */
/* line 980, ../sass/screen.scss */
.communiquer-mode-emploi-encart .header h1 { .communiquer-mode-emploi-encart .header h1 {
margin-bottom: 3px; margin-bottom: 3px;
} }
/* line 935, ../sass/screen.scss */
/* line 989, ../sass/screen.scss */
.communiquer-mode-emploi-encart h3 { .communiquer-mode-emploi-encart h3 {
margin-top: 15px; margin-top: 15px;
margin-bottom: 15px; margin-bottom: 15px;
} }


/* line 941, ../sass/screen.scss */
/* line 995, ../sass/screen.scss */
.bloc-mode-emploi-pdf { .bloc-mode-emploi-pdf {
width: 49.9%; width: 49.9%;
float: left; float: left;
border-bottom: dotted 1px gray; border-bottom: dotted 1px gray;
} }


/* line 947, ../sass/screen.scss */
/* line 1001, ../sass/screen.scss */
.bloc-mode-emploi-border { .bloc-mode-emploi-border {
border-right: dotted 1px gray; border-right: dotted 1px gray;
border-bottom: dotted 1px gray; border-bottom: dotted 1px gray;
} }


/* line 952, ../sass/screen.scss */
/* line 1006, ../sass/screen.scss */
.communiquer-mode-emploi-pdf { .communiquer-mode-emploi-pdf {
border: 0px none; border: 0px none;
-moz-border-radius: 0px; -moz-border-radius: 0px;
margin-bottom: 0px; margin-bottom: 0px;
padding: 20px 0px 20px 30px; padding: 20px 0px 20px 30px;
} }
/* line 960, ../sass/screen.scss */
/* line 1014, ../sass/screen.scss */
.communiquer-mode-emploi-pdf .header .logo { .communiquer-mode-emploi-pdf .header .logo {
float: left; float: left;
width: 55px; width: 55px;
padding-right: 15px; padding-right: 15px;
padding-top: 10px; padding-top: 10px;
} }
/* line 966, ../sass/screen.scss */
/* line 1020, ../sass/screen.scss */
.communiquer-mode-emploi-pdf .header .logo img { .communiquer-mode-emploi-pdf .header .logo img {
width: 55px; width: 55px;
} }
/* line 970, ../sass/screen.scss */
/* line 1024, ../sass/screen.scss */
.communiquer-mode-emploi-pdf .header h1 { .communiquer-mode-emploi-pdf .header h1 {
font-size: 32px; font-size: 32px;
} }
/* line 973, ../sass/screen.scss */
/* line 1027, ../sass/screen.scss */
.communiquer-mode-emploi-pdf .header h2 { .communiquer-mode-emploi-pdf .header h2 {
font-size: 16px; font-size: 16px;
} }
/* line 978, ../sass/screen.scss */
/* line 1032, ../sass/screen.scss */
.communiquer-mode-emploi-pdf h3 { .communiquer-mode-emploi-pdf h3 {
font-weight: normal; font-weight: normal;
} }


/* line 983, ../sass/screen.scss */
/* line 1037, ../sass/screen.scss */
.bloc-mode-emploi-bottom { .bloc-mode-emploi-bottom {
border-bottom: 0px none; border-bottom: 0px none;
border-bottom: solid 1px white; border-bottom: solid 1px white;
} }


/* commandes auto */ /* commandes auto */
/* line 993, ../sass/screen.scss */
/* line 1047, ../sass/screen.scss */
.commandeauto-form #bloc-select-user { .commandeauto-form #bloc-select-user {
padding-left: 0px; padding-left: 0px;
} }
/* line 997, ../sass/screen.scss */
/* line 1051, ../sass/screen.scss */
.commandeauto-form #or-user { .commandeauto-form #or-user {
font-size: 20px; font-size: 20px;
text-align: center; text-align: center;
} }
/* line 1000, ../sass/screen.scss */
/* line 1054, ../sass/screen.scss */
.commandeauto-form #or-user span { .commandeauto-form #or-user span {
position: relative; position: relative;
top: 24px; top: 24px;
} }
/* line 1006, ../sass/screen.scss */
/* line 1060, ../sass/screen.scss */
.commandeauto-form .field-commandeautoform-id_etablissement { .commandeauto-form .field-commandeautoform-id_etablissement {
display: none; display: none;
} }
/* line 1010, ../sass/screen.scss */
/* line 1064, ../sass/screen.scss */
.commandeauto-form .jours .form-group { .commandeauto-form .jours .form-group {
float: left; float: left;
margin-right: 20px; margin-right: 20px;
} }
/* line 1017, ../sass/screen.scss */
/* line 1071, ../sass/screen.scss */
.commandeauto-form .produits .table { .commandeauto-form .produits .table {
width: 500px; width: 500px;
} }
/* line 1020, ../sass/screen.scss */
/* line 1074, ../sass/screen.scss */
.commandeauto-form .produits .quantite { .commandeauto-form .produits .quantite {
text-align: center; text-align: center;
} }


/* points de vente */ /* points de vente */
/* line 1029, ../sass/screen.scss */
/* line 1083, ../sass/screen.scss */
.point-vente-form #pointvente-users { .point-vente-form #pointvente-users {
display: none; display: none;
height: 500px; height: 500px;
overflow-y: scroll; overflow-y: scroll;
} }
/* line 1033, ../sass/screen.scss */
/* line 1087, ../sass/screen.scss */
.point-vente-form #pointvente-users label { .point-vente-form #pointvente-users label {
font-weight: normal; font-weight: normal;
display: block; display: block;
} }
/* line 1037, ../sass/screen.scss */
/* line 1091, ../sass/screen.scss */
.point-vente-form #pointvente-users .commentaire { .point-vente-form #pointvente-users .commentaire {
display: none; display: none;
margin-left: 17px; margin-left: 17px;
width: 200px; width: 200px;
} }
/* line 1045, ../sass/screen.scss */
/* line 1099, ../sass/screen.scss */
.point-vente-form #jours-livraison .form-group { .point-vente-form #jours-livraison .form-group {
float: left; float: left;
margin-right: 15px; margin-right: 15px;
} }
/* line 1049, ../sass/screen.scss */
/* line 1103, ../sass/screen.scss */
.point-vente-form #jours-livraison .form-group label { .point-vente-form #jours-livraison .form-group label {
font-weight: normal; font-weight: normal;
} }


/* utilisateurs */ /* utilisateurs */
/* line 1059, ../sass/screen.scss */
/* line 1113, ../sass/screen.scss */
.user-index .input-group { .user-index .input-group {
width: 180px; width: 180px;
} }
/* line 1062, ../sass/screen.scss */
/* line 1116, ../sass/screen.scss */
.user-index .input-group .input-credit { .user-index .input-group .input-credit {
text-align: center; text-align: center;
} }


/* facturation */ /* facturation */
/* line 1070, ../sass/screen.scss */
/* line 1124, ../sass/screen.scss */
#estimation-facture { #estimation-facture {
text-align: center; text-align: center;
margin-bottom: 30px; margin-bottom: 30px;
padding-bottom: 20px; padding-bottom: 20px;
background-color: #F9F9F9; background-color: #F9F9F9;
} }
/* line 1076, ../sass/screen.scss */
/* line 1130, ../sass/screen.scss */
#estimation-facture h2 { #estimation-facture h2 {
font-family: "myriadpro-it"; font-family: "myriadpro-it";
} }
/* line 1080, ../sass/screen.scss */
/* line 1134, ../sass/screen.scss */
#estimation-facture .montant span { #estimation-facture .montant span {
font-size: 25px; font-size: 25px;
color: white; color: white;

+ 54
- 0
backend/web/sass/screen.scss View File

} }
} }


// tableau de bord
.site-index {
.panel {
.panel-title {
.btn {
float: right ;
font-family: 'myriadpro-regular' ;
&.btn-success {
background-color: #5cb85c ;
color: white ;
border-color: #5cb85c ;
}
&.margin-left {
margin-left: 5px ;
}
}
}
.panel-body {
height: 250px ;
}
}
#facturation {
h2 {
font-size: 25px ;
text-align: center ;
}
.mois-en-cours {
.montant span {
background-color: white ;
color: #333 ;
border: solid 1px gray ;
}
}
.montant {
margin-top: 35px ;
text-align: center ;
span {
font-size: 22px ;
color: white ;
background-color: $color1 ;
padding: 7px 10px 3px;
font-family: 'myriadpro-regular' ;
@include border-radius(5px) ;
}
}
}
}

#page-commande { #page-commande {


#row2 { #row2 {

+ 9
- 0
common/models/PointVente.php View File

} }
} }
} }
public static function count()
{
return PointVente::find()
->where([
'id_etablissement' => Yii::$app->user->identity->id_etablissement
])
->count() ;
}
} }

+ 6
- 0
common/models/Production.php View File

namespace common\models; namespace common\models;


use Yii; use Yii;
use common\models\Commande ;


/** /**
* This is the model class for table "production". * This is the model class for table "production".
]; ];
} }
public function getCommande()
{
return $this->hasMany(Commande::className(), ['id_production' => 'id']) ;
}
} }

+ 10
- 0
common/models/Produit.php View File

->all(); ->all();
} }
public static function count()
{
return Produit::find()
->where([
'id_etablissement' => Yii::$app->user->identity->id_etablissement
])
->count() ;
}
} }

+ 25
- 0
common/models/User.php View File

'password_reset_token' => $token, 'password_reset_token' => $token,
]); ]);
} }
public static function findBy($params = [])
{
if(!isset($params['id_etablissement']))
$params['id_etablissement'] = Yii::$app->user->identity->id_etablissement ;
$query = (new \yii\db\Query())
->select(['user.id AS user_id', 'user.prenom','user.nom','user.telephone','user.email','user.created_at','user.date_derniere_connexion'])
->from('user, user_etablissement')
->where('user.id = user_etablissement.id_user')
->andWhere('user_etablissement.actif = 1')
->andWhere('user_etablissement.id_etablissement = '.Yii::$app->user->identity->id_etablissement) ;
if(isset($params['nom']))
$query->andFilterWhere(['like', 'nom', $params['nom']]);
if(isset($params['prenom']))
$query->andFilterWhere(['like', 'prenom', $params['prenom']]) ;
if(isset($params['email']))
$query->andFilterWhere(['like', 'email', $params['email']]) ;
if(isset($params['telephone']))
$query->andFilterWhere(['like', 'telephone', $params['telephone']]) ;
return $query ;
}


/** /**
* Finds out if password reset token is valid * Finds out if password reset token is valid

Loading…
Cancel
Save