mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-12 21:34:25 +00:00
mes parcours page created
This commit is contained in:
parent
3fd4c6339a
commit
b9c2d63a53
@ -0,0 +1,41 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Chill is a software for social workers
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view
|
||||||
|
* the LICENSE file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
|
||||||
|
namespace Chill\PersonBundle\Controller;
|
||||||
|
|
||||||
|
use Chill\PersonBundle\Repository\AccompanyingPeriodRepository;
|
||||||
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|
||||||
|
class UserAccompanyingPeriodController extends AbstractController
|
||||||
|
{
|
||||||
|
|
||||||
|
private AccompanyingPeriodRepository $accompanyingPeriodRepository;
|
||||||
|
|
||||||
|
public function __construct(AccompanyingPeriodRepository $accompanyingPeriodRepository)
|
||||||
|
{
|
||||||
|
$this->accompanyingPeriodRepository = $accompanyingPeriodRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function listAction(Request $request)
|
||||||
|
{
|
||||||
|
$userId = $this->getUser()->getId();
|
||||||
|
|
||||||
|
$accompanyingPeriods = [];
|
||||||
|
$accompanyingPeriods = $this->accompanyingPeriodRepository->findBy(['user' => $userId]);
|
||||||
|
|
||||||
|
return $this->render('@ChillPerson/AccompanyingPeriod/user_periods_list.html.twig', [
|
||||||
|
'accompanyingPeriods' => $accompanyingPeriods
|
||||||
|
]);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
72
src/Bundle/ChillPersonBundle/Menu/UserMenuBuilder.php
Normal file
72
src/Bundle/ChillPersonBundle/Menu/UserMenuBuilder.php
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Chill is a software for social workers
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view
|
||||||
|
* the LICENSE file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Chill\PersonBundle\Menu;
|
||||||
|
|
||||||
|
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
|
||||||
|
use Chill\TaskBundle\Templating\UI\CountNotificationTask;
|
||||||
|
use Knp\Menu\MenuItem;
|
||||||
|
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||||
|
use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
|
||||||
|
use Symfony\Component\Translation\TranslatorInterface;
|
||||||
|
|
||||||
|
class UserMenuBuilder implements LocalMenuBuilderInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var AuthorizationCheckerInterface
|
||||||
|
*/
|
||||||
|
public $authorizationChecker;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var CountNotificationTask
|
||||||
|
*/
|
||||||
|
public $counter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var TokenStorageInterface
|
||||||
|
*/
|
||||||
|
public $tokenStorage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var TranslatorInterface
|
||||||
|
*/
|
||||||
|
public $translator;
|
||||||
|
|
||||||
|
public function __construct(
|
||||||
|
CountNotificationTask $counter,
|
||||||
|
TokenStorageInterface $tokenStorage,
|
||||||
|
TranslatorInterface $translator,
|
||||||
|
AuthorizationCheckerInterface $authorizationChecker
|
||||||
|
) {
|
||||||
|
$this->counter = $counter;
|
||||||
|
$this->tokenStorage = $tokenStorage;
|
||||||
|
$this->translator = $translator;
|
||||||
|
$this->authorizationChecker = $authorizationChecker;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function buildMenu($menuId, MenuItem $menu, array $parameters)
|
||||||
|
{
|
||||||
|
if ($this->authorizationChecker->isGranted('ROLE_USER')) {
|
||||||
|
$menu->addChild('My accompanying periods', [
|
||||||
|
'route' => 'chill_person_accompanying_period_user',
|
||||||
|
])
|
||||||
|
->setExtras([
|
||||||
|
'order' => 20,
|
||||||
|
'icon' => 'tasks',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getMenuIds(): array
|
||||||
|
{
|
||||||
|
return ['user'];
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
{% extends "@ChillMain/layout.html.twig" %}
|
||||||
|
|
||||||
|
{% set activeRouteKey = 'chill_person_accompanying_period_user_list' %}
|
||||||
|
|
||||||
|
{% block title %}{{ 'Accompanying period list'|trans }}{% endblock title %}
|
||||||
|
|
||||||
|
{% macro recordAction(period) %}
|
||||||
|
<li>
|
||||||
|
<a href="{{ path('chill_person_accompanying_course_index', { 'accompanying_period_id': period.id }) }}"
|
||||||
|
class="btn btn-show" title="{{ 'See accompanying period'|trans }}"></a>
|
||||||
|
</li>
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<h1>{{ 'Accompanying period list'|trans }}</h1>
|
||||||
|
|
||||||
|
<div class="flex-table accompanyingcourse-list">
|
||||||
|
{% for period in accompanyingPeriods %}
|
||||||
|
{% include '@ChillPerson/AccompanyingPeriod/_list_item.html.twig' with {'period': period, 'recordAction': _self.recordAction(period)} %}
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
@ -55,6 +55,10 @@ chill_person_accompanying_period_re_open:
|
|||||||
path: /{_locale}/person/{person_id}/accompanying-period/{period_id}/re-open
|
path: /{_locale}/person/{person_id}/accompanying-period/{period_id}/re-open
|
||||||
controller: Chill\PersonBundle\Controller\AccompanyingPeriodController::reOpenAction
|
controller: Chill\PersonBundle\Controller\AccompanyingPeriodController::reOpenAction
|
||||||
|
|
||||||
|
chill_person_accompanying_period_user:
|
||||||
|
path: /{_locale}/accompanying-periods
|
||||||
|
controller: Chill\PersonBundle\Controller\UserAccompanyingPeriodController::listAction
|
||||||
|
|
||||||
chill_person_resource_list:
|
chill_person_resource_list:
|
||||||
path: /{_locale}/person/{person_id}/resources/list
|
path: /{_locale}/person/{person_id}/resources/list
|
||||||
controller: Chill\PersonBundle\Controller\PersonResourceController::listAction
|
controller: Chill\PersonBundle\Controller\PersonResourceController::listAction
|
||||||
|
@ -533,3 +533,6 @@ household_composition:
|
|||||||
|
|
||||||
# docgen
|
# docgen
|
||||||
Linked evaluations: Évaluations associées
|
Linked evaluations: Évaluations associées
|
||||||
|
|
||||||
|
# Accompanying period per user
|
||||||
|
My accompanying periods: Mes parcours
|
||||||
|
Loading…
x
Reference in New Issue
Block a user