mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-09-10 08:44:58 +00:00
Compare commits
3 Commits
389-displa
...
71-adapt-r
Author | SHA1 | Date | |
---|---|---|---|
2dcc65d172 | |||
2d6a0d14eb | |||
fcb057c55b |
@@ -11,12 +11,15 @@ declare(strict_types=1);
|
||||
|
||||
namespace Chill\ReportBundle\Controller;
|
||||
|
||||
use Chill\DocStoreBundle\Security\Authorization\PersonDocumentVoter;
|
||||
use Chill\MainBundle\Pagination\PaginatorFactory;
|
||||
use Chill\MainBundle\Security\Authorization\AuthorizationHelper;
|
||||
use Chill\MainBundle\Security\Resolver\CenterResolverManagerInterface;
|
||||
use Chill\PersonBundle\Entity\Person;
|
||||
use Chill\PersonBundle\Privacy\PrivacyEvent;
|
||||
use Chill\ReportBundle\Entity\Report;
|
||||
use Chill\ReportBundle\Form\ReportType;
|
||||
use Chill\ReportBundle\Security\Authorization\ReportVoter;
|
||||
use DateTime;
|
||||
use RuntimeException;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
@@ -25,7 +28,7 @@ use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\FormType;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\Security\Core\Role\Role;
|
||||
|
||||
use Symfony\Component\Security\Core\Security;
|
||||
use function count;
|
||||
|
||||
/**
|
||||
@@ -48,17 +51,25 @@ class ReportController extends AbstractController
|
||||
*/
|
||||
protected $paginator;
|
||||
|
||||
private CenterResolverManagerInterface $centerResolverManager;
|
||||
|
||||
private Security $security;
|
||||
|
||||
/**
|
||||
* ReportController constructor.
|
||||
*/
|
||||
public function __construct(
|
||||
EventDispatcherInterface $eventDispatcher,
|
||||
AuthorizationHelper $authorizationHelper,
|
||||
PaginatorFactory $paginator
|
||||
PaginatorFactory $paginator,
|
||||
CenterResolverManagerInterface $centerResolverManager,
|
||||
Security $security
|
||||
) {
|
||||
$this->eventDispatcher = $eventDispatcher;
|
||||
$this->authorizationHelper = $authorizationHelper;
|
||||
$this->paginator = $paginator;
|
||||
$this->centerResolverManager = $centerResolverManager;
|
||||
$this->security = $security;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -120,7 +131,7 @@ class ReportController extends AbstractController
|
||||
->trans('The form is not valid. The report has not been created !')
|
||||
);
|
||||
|
||||
return $this->render('ChillReportBundle:Report:new.html.twig', [
|
||||
return $this->render('@ChillReport/Report/new.html.twig', [
|
||||
'entity' => $entity,
|
||||
'form' => $form->createView(),
|
||||
'person' => $person,
|
||||
@@ -140,7 +151,7 @@ class ReportController extends AbstractController
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
/** @var Report $report */
|
||||
$report = $em->getRepository('ChillReportBundle:Report')->find($report_id);
|
||||
$report = $em->getRepository(Report::class)->find($report_id);
|
||||
|
||||
if (!$report) {
|
||||
throw $this->createNotFoundException(
|
||||
@@ -189,7 +200,7 @@ class ReportController extends AbstractController
|
||||
$cFGroup = $em->getRepository(\Chill\CustomFieldsBundle\Entity\CustomFieldsGroup::class)->find($cf_group_id);
|
||||
$reports = $em->getRepository('ChillReportBundle:Report')->findByCFGroup($cFGroup);
|
||||
|
||||
$response = $this->render('ChillReportBundle:Report:export.csv.twig', [
|
||||
$response = $this->render('@ChillReport/Report/export.csv.twig', [
|
||||
'reports' => $reports,
|
||||
'cf_group' => $cFGroup,
|
||||
]);
|
||||
@@ -218,9 +229,9 @@ class ReportController extends AbstractController
|
||||
|
||||
$reachableScopes = $this->authorizationHelper
|
||||
->getReachableScopes(
|
||||
$this->getUser(),
|
||||
new Role('CHILL_REPORT_SEE'),
|
||||
$person->getCenter()
|
||||
$this->security->getUser(),
|
||||
ReportVoter::SEE,
|
||||
$this->centerResolverManager->resolveCenters($person)
|
||||
);
|
||||
|
||||
$total = $em
|
||||
@@ -298,7 +309,7 @@ class ReportController extends AbstractController
|
||||
|
||||
$form = $this->createCreateForm($entity, $person, $cFGroup);
|
||||
|
||||
return $this->render('ChillReportBundle:Report:new.html.twig', [
|
||||
return $this->render('@ChillReport/Report/new.html.twig', [
|
||||
'entity' => $entity,
|
||||
'form' => $form->createView(),
|
||||
'person' => $person,
|
||||
@@ -515,7 +526,7 @@ class ReportController extends AbstractController
|
||||
|
||||
$person = $em->getRepository(\Chill\PersonBundle\Entity\Person::class)->find($person_id);
|
||||
|
||||
$entity = $em->getRepository('ChillReportBundle:Report')->find($report_id);
|
||||
$entity = $em->getRepository(Report::class)->find($report_id);
|
||||
|
||||
if (!$entity || !$person) {
|
||||
throw $this->createNotFoundException(
|
||||
@@ -532,7 +543,7 @@ class ReportController extends AbstractController
|
||||
]);
|
||||
$this->eventDispatcher->dispatch(PrivacyEvent::PERSON_PRIVACY_EVENT, $event);
|
||||
|
||||
return $this->render('ChillReportBundle:Report:view.html.twig', [
|
||||
return $this->render('@ChillReport/Report/view.html.twig', [
|
||||
'entity' => $entity,
|
||||
'person' => $person,
|
||||
]);
|
||||
@@ -578,8 +589,8 @@ class ReportController extends AbstractController
|
||||
),
|
||||
'method' => 'PUT',
|
||||
'cFGroup' => $entity->getCFGroup(),
|
||||
'role' => new Role('CHILL_REPORT_UPDATE'),
|
||||
'center' => $entity->getPerson()->getCenter(),
|
||||
//'role' => ReportVoter::UPDATE,
|
||||
//'center' => $this->centerResolverManager->resolveCenters($entity->getPerson()),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@@ -74,15 +74,15 @@ class ReportType extends AbstractType
|
||||
'group' => $options['cFGroup'], ]
|
||||
);
|
||||
|
||||
$this->appendScopeChoices(
|
||||
$builder,
|
||||
$options['role'],
|
||||
$options['center'],
|
||||
$this->user,
|
||||
$this->authorizationHelper,
|
||||
$this->translatableStringHelper,
|
||||
$this->om
|
||||
);
|
||||
//$this->appendScopeChoices(
|
||||
// $builder,
|
||||
// $options['role'],
|
||||
// $options['center'],
|
||||
// $this->user,
|
||||
// $this->authorizationHelper,
|
||||
// $this->translatableStringHelper,
|
||||
// $this->om
|
||||
//);
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
@@ -97,7 +97,7 @@ class ReportType extends AbstractType
|
||||
|
||||
$resolver->setAllowedTypes('cFGroup', 'Chill\CustomFieldsBundle\Entity\CustomFieldsGroup');
|
||||
|
||||
$this->appendScopeChoicesOptions($resolver);
|
||||
//$this->appendScopeChoicesOptions($resolver);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -25,7 +25,9 @@
|
||||
|
||||
{{ form_row(edit_form.user) }}
|
||||
{{ form_row(edit_form.date) }}
|
||||
{#
|
||||
{{ form_row(edit_form.scope) }}
|
||||
#}
|
||||
{{ form_row(edit_form.cFData) }}
|
||||
|
||||
{{ form_widget(edit_form) }}
|
||||
|
@@ -1,7 +1,5 @@
|
||||
services:
|
||||
Chill\ReportBundle\Controller\ReportController:
|
||||
arguments:
|
||||
$eventDispatcher: '@Symfony\Component\EventDispatcher\EventDispatcherInterface'
|
||||
$authorizationHelper: '@Chill\MainBundle\Security\Authorization\AuthorizationHelper'
|
||||
$paginator: '@Chill\MainBundle\Pagination\PaginatorFactory'
|
||||
autowire: true
|
||||
autoconfigure: true
|
||||
tags: ['controller.service_arguments']
|
||||
|
Reference in New Issue
Block a user