Bläddra i källkod

[Administration] Refactoring SiteController

feature/souke
Guillaume Bourgeois 1 år sedan
förälder
incheckning
0fb4293dda
13 ändrade filer med 110 tillägg och 41 borttagningar
  1. +1
    -1
      backend/config/main.php
  2. +2
    -2
      backend/controllers/BackendController.php
  3. +88
    -0
      backend/controllers/DashboardController.php
  4. +1
    -1
      backend/controllers/OrderController.php
  5. +1
    -19
      backend/controllers/SiteController.php
  6. +1
    -1
      backend/views/dashboard/index.php
  7. +1
    -1
      backend/views/layouts/left.php
  8. +10
    -10
      backend/web/css/screen.css
  9. +1
    -1
      backend/web/sass/dashboard/_index.scss
  10. +1
    -1
      backend/web/sass/screen.scss
  11. +1
    -1
      common/mail/signup-html.php
  12. +1
    -2
      common/mail/signup-text.php
  13. +1
    -1
      common/views/nav_user_top.php

+ 1
- 1
backend/config/main.php Visa fil

@@ -49,7 +49,7 @@ return [
'basePath' => dirname(__DIR__),
'name' => 'distrib',
'controllerNamespace' => 'backend\controllers',
'defaultRoute' => 'site/index',
'defaultRoute' => 'dashboard/index',
'bootstrap' => ['log'],
'modules' => [],
'components' => [

+ 2
- 2
backend/controllers/BackendController.php Visa fil

@@ -56,7 +56,7 @@ class BackendController extends CommonController

// Pas de producteur défini
if(!$producerCurrent) {
$this->redirect(\Yii::$app->urlManagerFrontend->createAbsoluteUrl(['site/index']));
$this->redirect(\Yii::$app->urlManagerFrontend->createAbsoluteUrl(['dashboard/index']));
return false;
}

@@ -70,7 +70,7 @@ class BackendController extends CommonController
public function checkProductsPointsSale()
{
if (!Product::searchCount() || !PointSale::searchCount()) {
$this->redirect(['site/index', 'error_products_points_sale' => 1]);
$this->redirect(['dashboard/index', 'error_products_points_sale' => 1]);
}
}


+ 88
- 0
backend/controllers/DashboardController.php Visa fil

@@ -0,0 +1,88 @@
<?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.
*/

namespace backend\controllers;

use yii\filters\AccessControl;
use yii\filters\VerbFilter;

/**
* Dashboard controller
*/
class DashboardController extends BackendController
{
/**
* @inheritdoc
*/
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::class,
'rules' => [
[
'allow' => true,
'roles' => ['@'],
'matchCallback' => function ($rule, $action) {
return $this->getUserManager()->hasAccessBackend();
}
],
],
],
'verbs' => [
'class' => VerbFilter::class,
'actions' => [
],
],
];
}

/**
* Affiche le tableau de bord avec les distributions à venir et les dernières commandes passées ou modifiées.
*/
public function actionIndex()
{
return $this->render('index', [
'producer' => $this->getProducerCurrent(),
'productsCount' => $this->getProductContainer()->getRepository()->countProducts(),
'pointsSaleCount' => $this->getPointSaleContainer()->getRepository()->countPointSales(),
'distributionsArray' => $this->getDistributionContainer()->getRepository()->findDistributionsDashboard(),
'ordersArray' => $this->getOrderContainer()->getRepository()->findOrdersDashboard(),
]);
}
}

+ 1
- 1
backend/controllers/OrderController.php Visa fil

@@ -176,7 +176,7 @@ class OrderController extends BackendController
$productDistributionManager = $this->getProductDistributionManager();

if (!Product::searchCount() || !PointSale::searchCount()) {
$this->redirect(['site/index', 'error_products_points_sale' => 1]);
$this->redirect(['dashboard/index', 'error_products_points_sale' => 1]);
}

$orders = [];

+ 1
- 19
backend/controllers/SiteController.php Visa fil

@@ -107,24 +107,6 @@ class SiteController extends BackendController
];
}

/**
* Affiche le tableau de bord du backend avec les dernières commandes
* réalisées, les dernières inscriptions, la liste des clients ayant un crédit
* négatif etc.
*
* @return mixed
*/
public function actionIndex()
{
return $this->render('index', [
'producer' => $this->getProducerCurrent(),
'distributionsArray' => $this->getDistributionContainer()->getRepository()->findDistributionsDashboard(),
'ordersArray' => $this->getOrderContainer()->getRepository()->findOrdersDashboard(),
'productsCount' => $this->getProductContainer()->getRepository()->countProducts(),
'pointsSaleCount' => $this->getPointSaleContainer()->getRepository()->countPointSales()
]);
}

/**
* Affiche la page de connexion.
*/
@@ -162,6 +144,6 @@ class SiteController extends BackendController
{
Yii::$app->user->identity->id_producer = $id;
Yii::$app->user->identity->save();
$this->redirect(['site/index']);
$this->redirect(['dashboard/index']);
}
}

backend/views/site/index.php → backend/views/dashboard/index.php Visa fil

@@ -45,7 +45,7 @@ $orderManager = OrderManager::getInstance();
$this->setTitle('Tableau de bord');

?>
<div class="site-index">
<div class="dashboard-index">

<?php if(Yii::$app->request->get('error_products_points_sale')): ?>
<div class="alert alert-warning">

+ 1
- 1
backend/views/layouts/left.php Visa fil

@@ -90,7 +90,7 @@ $producer = GlobalParam::getCurrentProducer();
'template' => '<a href="{url}">{icon} {label}' . $countTicketsProducerUnreadLabel . '</a>'
],
['label' => $producer->name, 'options' => ['class' => 'header'], 'visible' => $userManager->isCurrentProducer()],
['label' => 'Tableau de bord', 'icon' => 'dashboard', 'url' => ['/site/index'], 'visible' => $userManager->isCurrentProducer()],
['label' => 'Tableau de bord', 'icon' => 'dashboard', 'url' => ['/dashboard/index'], 'visible' => $userManager->isCurrentProducer()],
['label' => 'Distributions', 'icon' => 'calendar', 'url' => ['/distribution/index'], 'visible' => $userManager->isCurrentProducer()],
[
'label' => 'Produits',

+ 10
- 10
backend/web/css/screen.css Visa fil

@@ -1894,29 +1894,29 @@ body.login-page .login-box .login-box-body a:hover {
opacity: 0;
}

/* line 4, ../sass/site/_index.scss */
.site-index #distributions .info-box {
/* line 4, ../sass/dashboard/_index.scss */
.dashboard-index #distributions .info-box {
border: solid 1px #e0e0e0;
}
/* line 6, ../sass/site/_index.scss */
.site-index #distributions .info-box .date {
/* line 6, ../sass/dashboard/_index.scss */
.dashboard-index #distributions .info-box .date {
text-transform: uppercase;
font-size: 12px;
line-height: 20px;
padding-top: 10px;
}
/* line 12, ../sass/site/_index.scss */
.site-index #distributions .info-box .date span {
/* line 12, ../sass/dashboard/_index.scss */
.dashboard-index #distributions .info-box .date span {
display: block;
}
/* line 18, ../sass/site/_index.scss */
.site-index #distributions .info-box .date .num {
/* line 18, ../sass/dashboard/_index.scss */
.dashboard-index #distributions .info-box .date .num {
font-size: 30px;
padding-top: 5px;
padding-bottom: 5px;
}
/* line 30, ../sass/site/_index.scss */
.site-index #distributions .info-box-content .buttons {
/* line 30, ../sass/dashboard/_index.scss */
.dashboard-index #distributions .info-box-content .buttons {
margin-top: 10px;
}


backend/web/sass/site/_index.scss → backend/web/sass/dashboard/_index.scss Visa fil

@@ -1,5 +1,5 @@

.site-index {
.dashboard-index {
#distributions {
.info-box {
border: solid 1px #e0e0e0 ;

+ 1
- 1
backend/web/sass/screen.scss Visa fil

@@ -1514,7 +1514,7 @@ a.btn, button.btn {

@import "_adminlte.scss" ;
@import "_alerts.scss" ;
@import "site/_index.scss" ;
@import "dashboard/_index.scss" ;
@import "subscription/_index.scss" ;
@import "subscription/_form.scss" ;
@import "product/_index.scss" ;

+ 1
- 1
common/mail/signup-html.php Visa fil

@@ -49,7 +49,7 @@ use common\logic\User\User\Model\User;
<strong><?= Html::encode($user->email) ?></strong></p>

<?php if($user->status == User::STATUS_PRODUCER): ?>
<p>Vous pouvez dès maintenant vous connecter à l'<a href="<?= Yii::$app->urlManagerBackend->createAbsoluteUrl(['site/index']); ?>">administration</a> pour configurer votre compte producteur.</p>
<p>Vous pouvez dès maintenant vous connecter à l'<a href="<?= Yii::$app->urlManagerBackend->createAbsoluteUrl(['dashboard/index']); ?>">administration</a> pour configurer votre compte producteur.</p>
<p>Si vous avez des questions ou si vous avez besoin d'être accompagné lors de cette étape, n'hésitez pas à me contacter en réponse à ce mail ou directement au <strong><?= Yii::$app->parameterBag->get('adminPhoneNumber') ?></strong>.</p>
<?php else: ?>
<?php if(!is_null($producer)): ?>

+ 1
- 2
common/mail/signup-text.php Visa fil

@@ -49,10 +49,9 @@ Voici votre identifiant de connexion :

<?php if($user->status == User::STATUS_PRODUCER): ?>
Vous pouvez dès maintenant vous connecter à l'administration pour configurer votre compte :
<?= Yii::$app->urlManagerBackend->createAbsoluteUrl(['site/index']); ?>
<?= Yii::$app->urlManagerBackend->createAbsoluteUrl(['dashboard/index']); ?>

Si vous avez des questions ou si vous avez besoin d'être accompagné lors de cette étape, n'hésitez pas à me contacter en réponse à ce mail ou directement au <?= Yii::$app->parameterBag->get('adminPhoneNumber'); ?>.
<?= Yii::$app->urlManagerBackend->createAbsoluteUrl(['site/index']); ?>
<?php else: ?>
<?php if(!is_null($producer)): ?>
Vous pouvez maintenant passer commande chez votre producteur "<?= $producer->name ?>" :

+ 1
- 1
common/views/nav_user_top.php Visa fil

@@ -59,7 +59,7 @@ if ($userManager->isCurrentProducer()) {
// Items du menu
$itemAdministration = [
'label' => '<span class="glyphicon glyphicon-cog"></span> <span class="link-text">Administration</span>',
'url' => $this->getUrlManagerBackend()->createAbsoluteUrl(['site/index']),
'url' => $this->getUrlManagerBackend()->createAbsoluteUrl(['dashboard/index']),
'visible' => $userManager->isCurrentProducer(),
'linkOptions' => ['class' => 'btn btn-default navbar-btn']
];

Laddar…
Avbryt
Spara