- <?php
-
- /**
- Copyright La boîte à pain (2018)
-
- contact@laboiteapain.net
-
- Ce logiciel est un programme informatique servant à aider les producteurs
- à distribuer leur production en circuits courts.
-
- Ce logiciel est régi par la licence CeCILL soumise au droit français et
- respectant les principes de diffusion des logiciels libres. Vous pouvez
- utiliser, modifier et/ou redistribuer ce programme sous les conditions
- de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
- sur le site "http://www.cecill.info".
-
- En contrepartie de l'accessibilité au code source et des droits de copie,
- de modification et de redistribution accordés par cette licence, il n'est
- offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
- seule une responsabilité restreinte pèse sur l'auteur du programme, le
- titulaire des droits patrimoniaux et les concédants successifs.
-
- A cet égard l'attention de l'utilisateur est attirée sur les risques
- associés au chargement, à l'utilisation, à la modification et/ou au
- développement et à la reproduction du logiciel par l'utilisateur étant
- donné sa spécificité de logiciel libre, qui peut le rendre complexe à
- manipuler et qui le réserve donc à des développeurs et des professionnels
- avertis possédant des connaissances informatiques approfondies. Les
- utilisateurs sont donc invités à charger et tester l'adéquation du
- logiciel à leurs besoins dans des conditions permettant d'assurer la
- sécurité de leurs systèmes et ou de leurs données et, plus généralement,
- à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
-
- Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
- pris connaissance de la licence CeCILL, et que vous en avez accepté les
- termes.
- */
-
- use yii\helpers\Html;
- use yii\grid\GridView;
- use common\models\User ;
- use common\models\Order ;
-
- /* @var $this yii\web\View */
- /* @var $dataProvider yii\data\ActiveDataProvider */
-
- $this->title = 'Utilisateurs';
- $this->params['breadcrumbs'][] = $this->title;
- ?>
-
-
- <div class="user-index">
- <h1>
- <?= Html::encode($this->title) ?>
- <?= Html::a('Ajouter', ['create'], ['class' => 'btn btn-primary']) ?>
- </h1>
-
- <ul id="tabs-points-vente" class="nav nav-tabs" role="tablist">
- <li class="<?php if(!$idPointSaleActive && !$sectionInactiveUsers): ?>active<?php endif; ?>">
- <a href="<?= Yii::$app->urlManager->createUrl(['user/index']); ?>">Tous</a>
- </li>
- <?php foreach($pointsSaleArray as $pointSale): ?>
- <li class="<?php if($idPointSaleActive == $pointSale->id): ?>active<?php endif; ?>">
- <a href="<?= Yii::$app->urlManager->createUrl(['user/index','idPointSale' => $pointSale->id]); ?>"><?= Html::encode($pointSale->name) ?></a>
- </li>
- <?php endforeach; ?>
- <li class="<?php if($sectionInactiveUsers): ?>active<?php endif; ?>">
- <a href="<?= Yii::$app->urlManager->createUrl(['user/index','sectionInactiveUsers' => 1]); ?>">Inactifs</a>
- </li>
- </ul>
-
- <?= Html::a('<span class="glyphicon glyphicon-envelope"></span> Liste des emails', ['mail', 'idPointSale' => $idPointSaleActive], ['class' => 'btn btn-default btn-liste-emails']) ?>
-
- <?= GridView::widget([
- 'dataProvider' => $dataProvider,
- 'filterModel' => true,
- 'columns' => [
- [
- 'attribute' => 'lastname',
- 'filter' => Html::input(
- 'string',
- 'lastname',
- isset(Yii::$app->request->queryParams['lastname']) ? Html::encode(Yii::$app->request->queryParams['lastname']) : '',
- [ 'class' => 'form-control']
- )
- ],
- [
- 'attribute' => 'name',
- 'filter' => Html::input(
- 'string',
- 'name',
- isset(Yii::$app->request->queryParams['name']) ? Html::encode(Yii::$app->request->queryParams['name']) : '',
- ['class' => 'form-control']
- )
- ],
- [
- 'attribute' => 'phone',
- 'filter' => Html::input(
- 'string',
- 'phone',
- isset(Yii::$app->request->queryParams['phone']) ? Html::encode(Yii::$app->request->queryParams['phone']) : '',
- ['class' => 'form-control']
- )
- ],
- [
- 'attribute' => 'email',
- 'filter' => Html::input(
- 'string',
- 'email',
- isset(Yii::$app->request->queryParams['email']) ? Html::encode(Yii::$app->request->queryParams['email']) : '',
- ['class' => 'form-control']
- )
- ],
- [
- 'attribute' => 'created_at',
- 'label' => 'Date d\'inscription',
- 'value' => function($model) {
- if(isset($model['created_at']))
- return date('m/d/Y à H:i', $model['created_at']);
- }
- ],
- [
- 'attribute' => 'date_last_connection',
- 'label' => 'Dernière connexion',
- 'value' => function($model) {
- if(isset($model['date_last_connection']))
- return date('d/m/Y à H:i', strtotime($model['date_last_connection']));
- else
- return '' ;
- }
- ],
- [
- 'class' => 'yii\grid\ActionColumn',
- 'template' => '{orders}',
- 'headerOptions' => ['class' => 'actions'],
- 'buttons' => [
- 'orders' => function ($url, $model) {
- $url = Yii::$app->urlManager->createUrl(['user/orders','id' => $model['user_id']]) ;
- $countOrders = Order::searchCount([
- 'id_user' => $model['user_id']
- ], ['conditions' => 'date_delete IS NULL']) ;
-
- $html = '' ;
- if($countOrders) {
- $s = '' ;
- if($countOrders > 1) $s = 's' ;
- $html .= Html::a('<span class="glyphicon glyphicon-eye-open"></span> '.$countOrders.' commande'.$s, $url, [
- 'title' => Yii::t('app', 'Commandes'), 'class' => 'btn btn-default '
- ]); ;
- }
- else {
- $html .= 'Aucune commande' ;
- }
-
- return $html ;
- },
- ],
- ],
- [
- 'attribute' => 'credit',
- 'format' => 'raw',
- 'value' => function($model) use($producer) {
- if(!isset($model['credit'])) $model['credit'] = 0 ;
- $user = User::findOne($model['user_id']) ;
- $html = '<div class="input-group">
- <input type="text" class="form-control input-credit" readonly="readonly" value="'.number_format($user->getCredit($producer->id),2).' €" placeholder="">
- <span class="input-group-btn">
- '.Html::a(
- '<span class="glyphicon glyphicon-euro"></span> Crédit',
- Yii::$app->urlManager->createUrl(['user/credit','id' => $model['user_id']]),
- [
- 'title' => 'Crédit',
- 'class' => 'btn btn-default'
- ]
- ).'
- </span>
- </div>' ;
- return $html ;
- }
- ],
- [
- 'class' => 'yii\grid\ActionColumn',
- 'template' => '{update} {delete}',
- 'headerOptions' => ['class' => 'actions'],
- 'buttons' => [
- 'update' => function ($url, $model) {
- $url = Yii::$app->urlManager->createUrl(['user/update','id' => $model['user_id']]) ;
- $user = User::find()->with('userProducer')->where(['id' => $model['user_id']])->one() ;
- if(count($user->userProducer) <= 1)
- {
- return Html::a('<span class="glyphicon glyphicon-pencil"></span> Modifier', $url, [
- 'title' => Yii::t('app', 'Modifier'), 'class' => 'btn btn-default'
- ]);
- }
- else {
- return '<span data-toggle="tooltip" data-placement="top" title="Vous ne pouvez pas modifier les clients qui sont liés à plusieurs producteurs."><span class="glyphicon glyphicon-remove-sign"></span> Non modifiable</span>' ;
- }
- },
- 'delete' => function($url, $model) {
- if($model['active']) {
- return Html::a('<span class="glyphicon glyphicon-trash"></span> Supprimer', Yii::$app->urlManager->createUrl(array_merge(['user/delete','id' => $model['user_id']], Yii::$app->getRequest()->getQueryParams())), [
- 'title' => Yii::t('app', 'Supprimer'), 'class' => 'btn btn-default'
- ]);
- }
- }
- ],
- ],
- ],
- ]); ?>
- </div>
|