Browse Source

Structure views / webpack, twig extensions, routes

develop
Guillaume 3 years ago
parent
commit
c894cbd2b8
11 changed files with 136 additions and 55 deletions
  1. +2
    -2
      config/packages/lc_sov.yaml
  2. +1
    -13
      config/routes.yaml
  3. +40
    -4
      config/services.yaml
  4. +5
    -2
      src/Controller/Dashboard/DashboardAdminController.php
  5. +39
    -27
      src/Controller/IndexController.php
  6. +30
    -0
      src/Dependency/Reminder/Reminder.php
  7. +12
    -1
      src/Entity/Reminder/Reminder.php
  8. +1
    -1
      templates/admin/dashboard/dashboard.html.twig
  9. +1
    -1
      templates/block/nav.html.twig
  10. +1
    -1
      templates/page/page.html.twig
  11. +4
    -3
      webpack.config.js

+ 2
- 2
config/packages/lc_sov.yaml View File

@@ -3,5 +3,5 @@ lc_sov:
login_redirection:
redirect_referer: true
roles_redirection:
- { role: "ROLE_ADMIN", redirect: "admin_dashboard" }
- { role: "ROLE_SUPER_ADMIN", redirect: "admin_dashboard" }
- { role: "ROLE_ADMIN", redirect: "app_admin_dashboard" }
- { role: "ROLE_SUPER_ADMIN", redirect: "app_admin_dashboard" }

+ 1
- 13
config/routes.yaml View File

@@ -10,16 +10,4 @@ carac_bundle:
artgris_bundle_file_manager:
resource: "@ArtgrisFileManagerBundle/Controller"
type: annotation
prefix: /manager

admin_dashboard:
path: /admin
controller: App\Controller\Dashboard\DashboardAdminController::index

app_homepage:
path: /
defaults: { _controller: App\Controller\IndexController::index , _locale: fr}

app_page:
path: /page/{pageSlug}
controller: App\Controller\IndexController::page
prefix: /manager

+ 40
- 4
config/services.yaml View File

@@ -7,8 +7,8 @@ parameters:
app.locales: ["fr"]
app.default_locale: "fr"
app.path_uploads: '/uploads'
app.reminder.route_render_modal: 'carac_admin_reminder_render_modal'
app.reminder.route_new: 'carac_admin_reminder_new'
app.reminder.route_render_modal: 'sov_admin_reminder_render_modal'
app.reminder.route_new: 'sov_admin_reminder_new'

services:
# default configuration for services in *this* file
@@ -51,14 +51,50 @@ services:
# add more service definitions when explicit configuration is needed
# please note that last definitions always *replace* previous ones

# Definition
Lc\CaracoleBundle\Definition\MerchantSettingDefinition:
class: App\Definition\MerchantSettingDefinition

Lc\SovBundle\Definition\SiteSettingDefinition:
class: App\Definition\SiteSettingDefinition

# Repository
Lc\SovBundle\Repository\Reminder\ReminderRepositoryInterface:
class: Lc\SovBundle\Repository\Reminder\ReminderRepository
Lc\SovBundle\Repository\File\FileRepositoryInterface:
class: Lc\SovBundle\Repository\File\FileRepository
Lc\SovBundle\Repository\Newsletter\NewsletterRepositoryInterface:
class: Lc\SovBundle\Repository\Newsletter\NewsletterRepository
Lc\SovBundle\Repository\Setting\SiteSettingRepositoryInterface:
class: Lc\SovBundle\Repository\Setting\SiteSettingRepository
Lc\SovBundle\Repository\Site\SiteRepositoryInterface:
class: Lc\SovBundle\Repository\Site\SiteRepository
Lc\SovBundle\Repository\Site\PageRepositoryInterface:
class: Lc\SovBundle\Repository\Site\PageRepository
Lc\SovBundle\Repository\Site\NewsRepositoryInterface:
class: Lc\SovBundle\Repository\Site\NewsRepository
Lc\SovBundle\Repository\Ticket\TicketRepositoryInterface:
class: Lc\SovBundle\Repository\Ticket\TicketRepository
Lc\SovBundle\Repository\Ticket\TicketMessageRepositoryInterface:
class: Lc\SovBundle\Repository\Ticket\TicketMessageRepository
Lc\SovBundle\Repository\User\GroupUserRepositoryInterface:
class: Lc\CaracoleBundle\Repository\User\GroupUserRepository
Lc\SovBundle\Repository\User\UserRepositoryInterface:
class: Lc\SovBundle\Repository\User\UserRepository
Lc\CaracoleBundle\Repository\Merchant\MerchantRepositoryInterface:
class: Lc\CaracoleBundle\Repository\Merchant\MerchantRepository
Lc\CaracoleBundle\Repository\User\UserMerchantRepositoryInterface:
class: Lc\CaracoleBundle\Repository\User\UserMerchantRepository
Lc\CaracoleBundle\Repository\User\VisitorRepositoryInterface:
class: Lc\CaracoleBundle\Repository\User\VisitorRepository
Lc\CaracoleBundle\Repository\Section\SectionRepositoryInterface:
class: Lc\CaracoleBundle\Repository\Section\SectionRepository
Lc\CaracoleBundle\Repository\PointSale\PointSaleRepositoryInterface:
class: Lc\CaracoleBundle\Repository\PointSale\PointSaleRepository
Lc\CaracoleBundle\Repository\Credit\CreditHistoryRepositoryInterface:
class: Lc\CaracoleBundle\Repository\Credit\CreditHistoryRepository

# Factory
Lc\SovBundle\Factory\Reminder\ReminderFactoryInterface:
class: Lc\CaracoleBundle\Factory\Reminder\ReminderFactory

Lc\SovBundle\Factory\Ticket\TicketFactoryInterface:
class: Lc\CaracoleBundle\Factory\Ticket\TicketFactory

+ 5
- 2
src/Controller/Dashboard/DashboardAdminController.php View File

@@ -12,11 +12,11 @@ use App\Entity\Site\News;
use App\Entity\Site\Page;
use App\Entity\Ticket\Ticket;
use App\Entity\User\GroupUser;
use App\Entity\User\User;
use App\Entity\User\UserMerchant;
use EasyCorp\Bundle\EasyAdminBundle\Config\MenuItem;
use Lc\CaracoleBundle\Controller\Dashboard\DashboardAdminAdminController as CaracDashboardController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class DashboardAdminController extends CaracDashboardController
{
@@ -40,7 +40,7 @@ class DashboardAdminController extends CaracDashboardController
[
MenuItem::linkToRoute('setting_merchant', '', 'carac_admin_setting_merchant'),
MenuItem::linkToRoute('setting_section', '', 'carac_admin_setting_section'),
MenuItem::linkToRoute('setting_global', '', 'carac_admin_setting_global'),
MenuItem::linkToRoute('setting_global', '', 'sov_admin_setting_global'),
]
);

@@ -62,6 +62,9 @@ class DashboardAdminController extends CaracDashboardController
);
}

/**
* @Route("/admin", name="app_admin_dashboard")
*/
public function index(): Response
{
return $this->render('admin/dashboard/dashboard.html.twig');

+ 39
- 27
src/Controller/IndexController.php View File

@@ -6,38 +6,50 @@ use App\Entity\Site\Page;
use Lc\SovBundle\Doctrine\EntityManager;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class IndexController extends AbstractController
{
protected $em;
protected $mailer;

public function __construct(EntityManager $em)
{
$this->em = $em;
}

public function index(): Response
{
$pageRepository = $this->em->getRepository(Page::class);
$pages = $pageRepository->findAll();

return $this->render('page/index.html.twig', [
protected $em;
protected $mailer;

public function __construct(EntityManager $em)
{
$this->em = $em;
}

/**
* @Route("/", name="app_homepage")
*/
public function index(): Response
{
$pageRepository = $this->em->getRepository(Page::class);
$pages = $pageRepository->findAll();

return $this->render(
'page/index.html.twig',
[
'controller_name' => 'IndexController',
'pages' => $pages
]);
}

public function page($pageSlug): Response
{
$pageRepository = $this->em->getRepository(Page::class);
$page = $pageRepository->findOneBySlug($pageSlug);


return $this->render('page/page.html.twig', [
]
);
}

/**
* @Route("/page/{pageSlug}", name="app_page")
*/
public function page($pageSlug): Response
{
$pageRepository = $this->em->getRepository(Page::class);
$page = $pageRepository->findOneBySlug($pageSlug);


return $this->render(
'page/page.html.twig',
[
'controller_name' => 'IndexController',
'page' => $page
]);
}
]
);
}
}

+ 30
- 0
src/Dependency/Reminder/Reminder.php View File

@@ -0,0 +1,30 @@
<?php

namespace App\Dependency\Reminder;

use App\Entity\Reminder\Reminder;
use Lc\CaracoleBundle\Factory\Reminder\ReminderFactory;
use Lc\SovBundle\Factory\Reminder\ReminderFactoryInterface;
use Lc\SovBundle\Model\Reminder\ReminderInterface;
use Lc\SovBundle\Repository\Reminder\ReminderRepositoryInterface;
use App\Repository\Reminder\ReminderRepository;

class ReminderDependency implements DependencyInterface
{

public function getAliases()
{
return [
ReminderInterface::class => Reminder::class,
ReminderFactoryInterface::class => ReminderFactory::class,
ReminderRepositoryInterface::class => ReminderRepository::class,

// doctrine entity
// factory
// repository
// repository query
// store
];
}

}

+ 12
- 1
src/Entity/Reminder/Reminder.php View File

@@ -2,9 +2,12 @@

namespace App\Entity\Reminder;

use Lc\SovBundle\Repository\Reminder\ReminderRepository;
use Lc\CaracoleBundle\Factory\Reminder\ReminderFactory;
use Lc\SovBundle\Factory\Reminder\ReminderFactoryInterface;
use Doctrine\ORM\Mapping as ORM;
use Lc\CaracoleBundle\Model\Reminder\ReminderModel;
use Lc\SovBundle\Repository\Reminder\ReminderRepositoryInterface;
use App\Repository\Reminder\ReminderRepository;

/**
* @ORM\Entity(repositoryClass=ReminderRepository::class)
@@ -18,6 +21,14 @@ class Reminder extends ReminderModel
*/
private $id;

public function getAliases()
{
return [
ReminderFactoryInterface::class => ReminderFactory::class,
ReminderRepositoryInterface::class => ReminderRepository::class,
];
}

public function getId(): ?int
{
return $this->id;

+ 1
- 1
templates/admin/dashboard/dashboard.html.twig View File

@@ -1,7 +1,7 @@
{% extends '@LcCaracole/adminlte/layout.html.twig' %}

{% block content_title %}
{{ 'dashboard'|lc_trans_admin_title }}
{{ 'dashboard'|sov_trans_admin_title }}
{% endblock %}

{% block main %}

+ 1
- 1
templates/block/nav.html.twig View File

@@ -9,7 +9,7 @@
{% endfor %}
</ul>

{% for lg, url in translated_urls() %}
{% for lg, url in sov_translated_urls() %}
<a class="{{ app.request.locale == lg ? 'selected' : '' }}" title="{{ "misc.switch"|trans({"%lang%": lg}) }}" href="{{ url }}">{{ lg }}</a>
{% if lg == 'fr' %}
<span class="slash">/</span>

+ 1
- 1
templates/page/page.html.twig View File

@@ -7,5 +7,5 @@

{% block content %}
{{ page.description|raw }}
<img src="{{ lc_liip(page.image.path, 'page') }}" alt="{{ page.image.legend }}" />
<img src="{{ sov_liip(page.image.path, 'page') }}" alt="{{ page.image.legend }}" />
{% endblock %}

+ 4
- 3
webpack.config.js View File

@@ -48,10 +48,11 @@ Encore
.addEntry('adminlte-sort', './Lc/SovBundle/Resources/assets/app/adminlte/sort/app.sort.js')
.addEntry('adminlte-field-filemanager', './Lc/SovBundle/Resources/assets/app/adminlte/field/filemanager/app.filemanager.js')
.addEntry('adminlte-field-collection', './Lc/SovBundle/Resources/assets/app/adminlte/field/collection/app.collection.js')
.addEntry('adminlte-ticket', './Lc/SovBundle/Resources/assets/app/adminlte/ticket/app.ticket.js')
.addEntry('adminlte-reminder', './Lc/SovBundle/Resources/assets/app/adminlte/reminder/app.reminder.js')
.addEntry('carac-switch-merchant', './Lc/CaracoleBundle/Resources/assets/app/switchmerchant/app.switchmerchant.js')
.addEntry('sov-reminder', './Lc/SovBundle/Resources/assets/app/admin/reminder/app.reminder.js')
.addEntry('sov-ticket', './Lc/SovBundle/Resources/assets/app/admin/ticket/app.ticket.js')
.addEntry('carac-common', './Lc/CaracoleBundle/Resources/assets/app/adminlte/common/app.common.js')
.addEntry('carac-switch-merchant', './Lc/CaracoleBundle/Resources/assets/app/admin/switchmerchant/app.switchmerchant.js')


// enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js)
.enableStimulusBridge('./assets/controllers.json')

Loading…
Cancel
Save