mirror of
				https://gitlab.com/Chill-Projet/chill-bundles.git
				synced 2025-11-04 03:08:25 +00:00 
			
		
		
		
	Bugfix/activity fix role inheritance
This commit is contained in:
		@@ -21,6 +21,7 @@ and this project adheres to
 | 
			
		||||
* refactor `AuthorizationHelper` and `UserACLAwareRepository` to fix constructor, and separate logic for parent role helper into `ParentRoleHelper`
 | 
			
		||||
* [main]: filter location and locationType in backend: exclude NULL names, only active and availableToUsers
 | 
			
		||||
* [activity]: perform client-side validation & show/hide fields in the "new location" modal
 | 
			
		||||
* [activity]: fix inheritance for role `ACTIVITY FULL` and add missing acl in menu
 | 
			
		||||
* [person] show current address in search results
 | 
			
		||||
* [person] show alt names in search results
 | 
			
		||||
* [admin]: links to activity admin section added again.
 | 
			
		||||
 
 | 
			
		||||
@@ -87,7 +87,9 @@ class ChillActivityExtension extends Extension implements PrependExtensionInterf
 | 
			
		||||
              ActivityVoter::UPDATE => array(ActivityVoter::SEE_DETAILS),
 | 
			
		||||
              ActivityVoter::CREATE => array(ActivityVoter::SEE_DETAILS),
 | 
			
		||||
              ActivityVoter::DELETE => array(ActivityVoter::SEE_DETAILS),
 | 
			
		||||
              ActivityVoter::SEE_DETAILS => array(ActivityVoter::SEE)
 | 
			
		||||
              ActivityVoter::SEE_DETAILS => array(ActivityVoter::SEE),
 | 
			
		||||
              ActivityVoter::FULL => [ActivityVoter::CREATE, ActivityVoter::DELETE,
 | 
			
		||||
                   ActivityVoter::UPDATE],
 | 
			
		||||
           )
 | 
			
		||||
        ));
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -2,29 +2,27 @@
 | 
			
		||||
 | 
			
		||||
namespace Chill\ActivityBundle\Menu;
 | 
			
		||||
 | 
			
		||||
use Chill\ActivityBundle\Security\Authorization\ActivityVoter;
 | 
			
		||||
use Chill\MainBundle\Routing\LocalMenuBuilderInterface;
 | 
			
		||||
use Chill\MainBundle\Security\Authorization\AuthorizationHelper;
 | 
			
		||||
use Chill\PersonBundle\Entity\AccompanyingPeriod;
 | 
			
		||||
use Knp\Menu\MenuItem;
 | 
			
		||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
 | 
			
		||||
use Symfony\Component\Security\Core\Security;
 | 
			
		||||
use Symfony\Contracts\Translation\TranslatorInterface;
 | 
			
		||||
 | 
			
		||||
class AccompanyingCourseMenuBuilder implements LocalMenuBuilderInterface
 | 
			
		||||
{
 | 
			
		||||
    protected TokenStorageInterface $tokenStorage;
 | 
			
		||||
 | 
			
		||||
    protected AuthorizationHelper $authorizationHelper;
 | 
			
		||||
 | 
			
		||||
    protected TranslatorInterface $translator;
 | 
			
		||||
 | 
			
		||||
    protected Security $security;
 | 
			
		||||
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        TokenStorageInterface $tokenStorage,
 | 
			
		||||
        AuthorizationHelper $authorizationHelper,
 | 
			
		||||
        Security $security,
 | 
			
		||||
        TranslatorInterface $translator
 | 
			
		||||
    ) {
 | 
			
		||||
        $this->security = $security;
 | 
			
		||||
        $this->translator = $translator;
 | 
			
		||||
        $this->authorizationHelper = $authorizationHelper;
 | 
			
		||||
        $this->tokenStorage = $tokenStorage;
 | 
			
		||||
    }
 | 
			
		||||
    public static function getMenuIds(): array
 | 
			
		||||
    {
 | 
			
		||||
@@ -35,7 +33,8 @@ class AccompanyingCourseMenuBuilder implements LocalMenuBuilderInterface
 | 
			
		||||
    {
 | 
			
		||||
        $period = $parameters['accompanyingCourse'];
 | 
			
		||||
 | 
			
		||||
        if (AccompanyingPeriod::STEP_DRAFT !== $period->getStep()) {
 | 
			
		||||
        if (AccompanyingPeriod::STEP_DRAFT !== $period->getStep()
 | 
			
		||||
            && $this->security->isGranted(ActivityVoter::SEE, $period)) {
 | 
			
		||||
            $menu->addChild($this->translator->trans('Activity'), [
 | 
			
		||||
                'route' => 'chill_activity_activity_list',
 | 
			
		||||
                'routeParameters' => [
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user