<?php /** * Copyright distrib (2018) * * contact@opendistrib.net * * Ce logiciel est un programme informatique servant à aider les producteurs * à distribuer leur production en circuits courts. * * Ce logiciel est régi par la licence CeCILL soumise au droit français et * respectant les principes de diffusion des logiciels libres. Vous pouvez * utiliser, modifier et/ou redistribuer ce programme sous les conditions * de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA * sur le site "http://www.cecill.info". * * En contrepartie de l'accessibilité au code source et des droits de copie, * de modification et de redistribution accordés par cette licence, il n'est * offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, * seule une responsabilité restreinte pèse sur l'auteur du programme, le * titulaire des droits patrimoniaux et les concédants successifs. * * A cet égard l'attention de l'utilisateur est attirée sur les risques * associés au chargement, à l'utilisation, à la modification et/ou au * développement et à la reproduction du logiciel par l'utilisateur étant * donné sa spécificité de logiciel libre, qui peut le rendre complexe à * manipuler et qui le réserve donc à des développeurs et des professionnels * avertis possédant des connaissances informatiques approfondies. Les * utilisateurs sont donc invités à charger et tester l'adéquation du * logiciel à leurs besoins dans des conditions permettant d'assurer la * sécurité de leurs systèmes et ou de leurs données et, plus généralement, * à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. * * Le fait que vous puissiez accéder à cet en-tête signifie que vous avez * pris connaissance de la licence CeCILL, et que vous en avez accepté les * termes. */ use yii\helpers\Html; use yii\grid\GridView; use common\models\Development; use common\models\DevelopmentPriority; use common\models\User; use common\helpers\Url; use common\helpers\GlobalParam; $this->setTitle('Développement'); $this->addButton(['label' => 'Nouveau développement <span class="glyphicon glyphicon-plus"></span>', 'url' => ['development/create'], 'class' => 'btn btn-primary']); $this->addBreadcrumb($this->getTitle()); ?> <div class="development-index"> <div class="well"> Cette page liste les besoins recencés auprès des producteurs utilisant la plateforme. N'hésitez pas à me <a href="<?= Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/contact']); ?>">contacter</a> pour la faire évoluer. Les remontées de bugs sont également bienvenues.<br/> Afin d'orienter de manière pertinente le développement de la plateforme, je vous invite à définir la priorité des évolutions qui vous intéressent. </div> <ul id="tab-status-developments" class="nav nav-tabs" role="tablist"> <li role="presentation" class="<?php if ($status == Development::STATUS_OPEN): ?>active<?php endif; ?>"><a href="<?= Yii::$app->urlManager->createUrl(['development/index', 'status' => Development::STATUS_OPEN]); ?>" id="" aria-controls="" role="tab">Ouvert</a></li> <li role="presentation" class="<?php if ($status == Development::STATUS_CLOSED): ?>active<?php endif; ?>"><a href="<?= Yii::$app->urlManager->createUrl(['development/index', 'status' => Development::STATUS_CLOSED]); ?>" id="" aria-controls="" role="tab">Fermé</a></li> </ul> <?php $columns = [ [ 'header' => '#', 'value' => function ($model) { return '#' . $model->id; } ], [ 'attribute' => 'type', 'header' => 'Type', 'format' => 'raw', 'value' => function ($model) { if ($model->type == Development::TYPE_EVOLUTION) { return '<span class="label label-success">Évolution</span>'; } else { return '<span class="label label-danger">Anomalie</span>'; } } ], ['attribute' => 'sujet', 'format' => 'raw', 'value' => function ($model) { $html = '<strong>' . Html::encode($model->subject) . '</strong>'; if (strlen($model->description)) $html .= '<br />' . nl2br(Html::encode($model->description)); return $html; }], ['attribute' => 'estimation_temps', 'header' => 'Estimation', 'format' => 'raw', 'value' => function ($model) { return intval($model->time_estimate) . ' h'; }], ['attribute' => 'avancement', 'format' => 'raw', 'value' => function ($model) { if ($model->progress) return '<div class="progress"> <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="' . intval($model->progress) . '" aria-valuemin="0" aria-valuemax="100" style="width: ' . intval($model->progress) . '%;"> <span class="sr-only">' . intval($model->progress) . '% effectué</span> </div> </div> '; else return ''; }], ['attribute' => 'date_delivery', 'format' => 'raw', 'value' => function ($model) { if (strlen($model->date_delivery)) return date('d/m/Y', strtotime($model->date_delivery)); else return ''; }], ]; if (User::hasAccessBackend()) { $columns[] = [ 'header' => 'Priorité', 'format' => 'raw', 'value' => function ($model) { $currentPriority = (isset($model->developmentPrioritYCurrentProducer)) ? $model->developmentPriorityCurrentProducer->getStrPriority() : 'Non'; $styleButton = (isset($model->developmentPriorityCurrentProducer)) ? $model->developmentPriorityCurrentProducer->getClassCssStyleButton() : 'default'; $html = '<div class="btn-group btn-group-priorite"> <button type="button" class="btn btn-priorite btn-sm btn-' . $styleButton . ' dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> ' . $currentPriority . ' <span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a href="' . Yii::$app->urlManager->createUrl(['development/priority', 'idDevelopment' => $model->id]) . '">Non</a></li> <li><a href="' . Yii::$app->urlManager->createUrl(['development/priority', 'idDevelopment' => $model->id, 'priority' => DevelopmentPriority::PRIORITY_LOW]) . '">Basse</a></li> <li><a href="' . Yii::$app->urlManager->createUrl(['development/priority', 'idDevelopment' => $model->id, 'priority' => DevelopmentPriority::PRIORITY_NORMAL]) . '">Normale</a></li> <li><a href="' . Yii::$app->urlManager->createUrl(['development/priority', 'idDevelopment' => $model->id, 'priority' => DevelopmentPriority::PRIORITY_HIGH]) . '">Haute</a></li> </ul> </div><br />'; if (isset($model->developmentPriority) && count($model->developmentPriority)) { foreach ($model->developmentPriority as $developmentPriority) { if ($developmentPriority->id_producer != GlobalParam::getCurrentProducerId()) $html .= '<div class="label label-priorite label-sm label-' . $developmentPriority->getClassCssStyleButton() . '">' . Html::encode($developmentPriority->producer->name) . '</div> '; } } return $html; } ]; } if (User::getCurrentStatus() == USER::STATUS_ADMIN) { $columns[] = [ 'class' => 'yii\grid\ActionColumn', 'template' => '{update}', 'headerOptions' => ['class' => 'actions'], 'buttons' => [ 'update' => function ($url, $model) { return '<div class="btn-group"> <a href="' . $url . '" class="btn btn-default"><span class="glyphicon glyphicon-pencil"></span> Modifier</a> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <span class="caret"></span> <span class="sr-only">Toggle Dropdown</span> </button> <ul class="dropdown-menu"> <li><a href="' . Yii::$app->urlManager->createUrl(['development/delete', 'id' => $model->id]) . '" class=""><span class="glyphicon glyphicon-trash"></span> Supprimer</a></li> </ul> </div>'; }, ], ]; } ?> <?= GridView::widget([ 'id' => 'tab-developments', 'dataProvider' => $dataProvider, 'columns' => $columns ]); ?> </div>