src/Security/Voter/CollaborateurVoter.php line 9

Open in your IDE?
  1. <?php
  2. namespace App\Security\Voter;
  3. use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
  4. use Symfony\Component\Security\Core\Authorization\Voter\Voter;
  5. use Symfony\Component\Security\Core\User\UserInterface;
  6. class CollaborateurVoter extends Voter
  7. {
  8.     protected function supports(string $attribute$subject): bool
  9.     {
  10.         // replace with your own logic
  11.         // https://symfony.com/doc/current/security/voters.html
  12.         return in_array($attribute, [
  13.             'HOME_VEHICLE''CREATE_COLLABORATEUR','EDIT_COLLABORATEUR''VIEW_COLLABORATEUR''REMOVE_COLLABORATEUR',
  14.             'ACTIVED','EDIT_FONCTION''VIEW_FONCTION','REMOVE_FONCTION','CREATE_FONCTION''EDIT_AQUISITION'
  15.             'VIEW_AQUISITION''CREATE_AQUISITION''REMOVE_AQUISITION''EDIT_ATTACHMENT''VIEW_ATTACHMENT'
  16.             'CREATE_ATTACHMENT''REMOVE_ATTACHMENT''EDIT_CARBURANT''VIEW_CARBURANT''CREATE_CARBURANT'
  17.             'REMOVE_CARBURANT''EDIT_ASSURANCE''VIEW_ASSURANCE''CREATE_ASSURANCE''REMOVE_ASSURANCE'
  18.             'EDIT_VIGNETTE''VIEW_VIGNETTE''CREATE_VIGNETTE''REMOVE_VIGNETTE''EDIT_TAXE''VIEW_TAXE'
  19.             'CREATE_TAXE''REMOVE_TAXE''EDIT_AUTORISATION''VIEW_AUTORISATION''CREATE_AUTORISATION'
  20.             'REMOVE_AUTORISATION''EDIT_CARNET''VIEW_CARNET''CREATE_CARNET''REMOVE_CARNET'
  21.             'EDIT_ACCIDENT''VIEW_ACCIDENT''CREATE_ACCIDENT''REMOVE_ACCIDENT''EDIT_SERVICE'
  22.             'VIEW_SERVICE''CREATE_SERVICE''REMOVE_SERVICE''EDIT_PNEUMATIQUE''VIEW_PNEUMATIQUE'
  23.             'CREATE_PNEUMATIQUE''REMOVE_PNEUMATIQUE''EDIT_EXTINCTEUR''VIEW_EXTINCTEUR'
  24.             'CREATE_EXTINCTEUR''REMOVE_EXTINCTEUR''EDIT_MARQUE''VIEW_MARQUE''CREATE_MARQUE'
  25.             'REMOVE_MARQUE''EDIT_ACHAT''VIEW_ACHAT''CREATE_ACHAT''REMOVE_ACHAT''EDIT_CLIENT'
  26.             'VIEW_CLIENT''CREATE_CLIENT''REMOVE_CLIENT''EDIT_VOYAGE''VIEW_VOYAGE''CREATE_VOYAGE'
  27.             'REMOVE_VOYAGE''EDIT_GEOFENCES''VIEW_GEOFENCES''CREATE_GEOFENCES''REMOVE_GEOFENCES'
  28.             'VIEW_SUIVI''VIEW_MODULE''EDIT_AGENDA''VIEW_AGENDA''CREATE_AGENDA''REMOVE_AGENDA'])
  29.             && $subject instanceof \App\Entity\Collaborateur;
  30.     }
  31.     protected function voteOnAttribute(string $attribute$subjectTokenInterface $token): bool
  32.     {
  33.         $user $token->getUser();
  34.         // if the user is anonymous, do not grant access
  35.         if (!$user instanceof UserInterface) {
  36.             return false;
  37.         }
  38.         if ($user->getCollaborateur()) {
  39.             $subject $user->getCollaborateur();
  40.         }
  41.         // ... (check conditions and return true to grant permission) ...
  42.         switch ($attribute) {
  43.             case 'HOME_VEHICLE':
  44.                 if ($subject) {
  45.                     $roles $subject->getFonction()->getRoleVehicle();
  46.                     if (in_array("VIEW"$roles)) {
  47.                         return true;
  48.                     }
  49.                     return false;
  50.                 }
  51.                 if(in_array("ROLE_TRANSPORTEUR"$user->getRoles())){
  52.                     return true;
  53.                 }
  54.                 return false;
  55.                 break;
  56.             case 'EDIT_COLLABORATEUR':
  57.                 $roles $subject->getFonction()->getRoleCollaborateur();
  58.                     if (in_array("EDIT"$roles)) {
  59.                         return true;
  60.                     } else {
  61.                         return false;
  62.                     }
  63.                 break;
  64.             case 'VIEW_COLLABORATEUR':            
  65.                 if ($subject->getFonction()) {
  66.                     $roles $subject->getFonction()->getRoleCollaborateur();
  67.                     if (in_array("VIEW"$roles)) {
  68.                         return true;
  69.                     } else {
  70.                         return false;
  71.                     }
  72.                 } else {
  73.                     return false;
  74.                 }
  75.                 break;
  76.             case 'REMOVE_COLLABORATEUR':
  77.                 $roles $subject->getFonction()->getRoleCollaborateur();
  78.                 if (in_array("REMOVE"$roles)) {
  79.                     return true;
  80.                 } else {
  81.                     return false;
  82.                 }
  83.                 break;
  84.             case 'CREATE_COLLABORATEUR':
  85.                 $roles $subject->getFonction()->getRoleCollaborateur();
  86.                 if (in_array("CREATE"$roles)) {
  87.                     return true;
  88.                 } else {
  89.                     return false;
  90.                 }
  91.                 break;
  92.             case 'ACTIVED':
  93.                 if ($subject->getFonction()) {
  94.                     return $subject->getFonction()->getEtat();
  95.                 } else {
  96.                     return false;
  97.                 }
  98.                 break ;
  99.             case 'EDIT_FONCTION':
  100.                 $roles $subject->getFonction()->getRoleGestionCollaborateurs();
  101.                     if (in_array("EDIT"$roles)) {
  102.                         return true;
  103.                     } else {
  104.                         return false;
  105.                     }
  106.                 break;
  107.             case 'VIEW_FONCTION':
  108.                 $roles $subject->getFonction()->getRoleGestionCollaborateurs();
  109.                 if (in_array("VIEW"$roles)) {
  110.                     return true;
  111.                 } else {
  112.                     return false;
  113.                 }
  114.                 break ;
  115.             case 'REMOVE_FONCTION':
  116.                 $roles $subject->getFonction()->getRoleGestionCollaborateurs();
  117.                 if (in_array("REMOVE"$roles)) {
  118.                     return true;
  119.                 } else {
  120.                     return false;
  121.                 }
  122.                 break;
  123.             case 'CREATE_FONCTION':
  124.                 $roles $subject->getFonction()->getRoleGestionCollaborateurs();
  125.                 if (in_array("CREATE"$roles)) {
  126.                     return true;
  127.                 } else {
  128.                     return false;
  129.                 }
  130.                 break;
  131.             case 'EDIT_AQUISITION':
  132.                 $roles $subject->getFonction()->getRoleAtelieraquisition();
  133.                     if (in_array("EDIT"$roles)) {
  134.                         return true;
  135.                     } else {
  136.                         return false;
  137.                     }
  138.                 break;
  139.             case 'VIEW_AQUISITION':
  140.                 $roles $subject->getFonction()->getRoleAtelieraquisition();
  141.                 if (in_array("VIEW"$roles)) {
  142.                     return true;
  143.                 } else {
  144.                     return false;
  145.                 }
  146.                 break ;
  147.             case 'REMOVE_AQUISITION':
  148.                 $roles $subject->getFonction()->getRoleAtelieraquisition();
  149.                 if (in_array("REMOVE"$roles)) {
  150.                     return true;
  151.                 } else {
  152.                     return false;
  153.                 }
  154.                 break;
  155.             case 'CREATE_AQUISITION':
  156.                 $roles $subject->getFonction()->getRoleAtelieraquisition();
  157.                 if (in_array("CREATE"$roles)) {
  158.                     return true;
  159.                 } else {
  160.                     return false;
  161.                 }
  162.                 break;
  163.             case 'EDIT_ATTACHMENT':
  164.                 $roles $subject->getFonction()->getRoleAtelierattachment();
  165.                     if (in_array("EDIT"$roles)) {
  166.                         return true;
  167.                     } else {
  168.                         return false;
  169.                     }
  170.                 break;
  171.             case 'VIEW_ATTACHMENT':
  172.                 $roles $subject->getFonction()->getRoleAtelierattachment();
  173.                 if (in_array("VIEW"$roles)) {
  174.                     return true;
  175.                 }
  176.                 else {
  177.                     return false;
  178.                 }
  179.                 break ;
  180.             case 'REMOVE_ATTACHMENT':
  181.                 $roles $subject->getFonction()->getRoleAtelierattachment();
  182.                 if (in_array("REMOVE"$roles)) {
  183.                     return true;
  184.                 }
  185.                 else {
  186.                     return false;
  187.                 }
  188.                 break;
  189.             case 'CREATE_ATTACHMENT':
  190.                 $roles $subject->getFonction()->getRoleAtelierattachment();
  191.                 if (in_array("CREATE"$roles)) {
  192.                     return true;
  193.                 }
  194.                 else {
  195.                     return false;
  196.                 }
  197.                 break;
  198.             case 'EDIT_CARBURANT':
  199.                 $roles $subject->getFonction()->getRoleAteliercarburant();
  200.                     if (in_array("EDIT"$roles)) {
  201.                         return true;
  202.                     }
  203.                     else {
  204.                         return false;
  205.                     }
  206.                 break;
  207.             case 'VIEW_CARBURANT':
  208.                 $roles $subject->getFonction()->getRoleAteliercarburant();
  209.                 if (in_array("VIEW"$roles)) {
  210.                     return true;
  211.                 }
  212.                 else {
  213.                     return false;
  214.                 }
  215.                 break ;
  216.             case 'REMOVE_CARBURANT':
  217.                 $roles $subject->getFonction()->getRoleAteliercarburant();
  218.                 if (in_array("REMOVE"$roles)) {
  219.                     return true;
  220.                 }
  221.                 else {
  222.                     return false;
  223.                 }
  224.                 break;
  225.             case 'CREATE_CARBURANT':
  226.                 $roles $subject->getFonction()->getRoleAteliercarburant();
  227.                 if (in_array("CREATE"$roles)) {
  228.                     return true;
  229.                 }
  230.                 else {
  231.                     return false;
  232.                 }
  233.                 break;
  234.             case 'EDIT_ASSURANCE':
  235.                 $roles $subject->getFonction()->getRoleAtelierassurances();
  236.                     if (in_array("EDIT"$roles)) {
  237.                         return true;
  238.                     }
  239.                     else {
  240.                         return false;
  241.                     }
  242.                 break;
  243.             case 'VIEW_ASSURANCE':
  244.                 $roles $subject->getFonction()->getRoleAtelierassurances();
  245.                 if (in_array("VIEW"$roles)) {
  246.                     return true;
  247.                 }
  248.                 else {
  249.                     return false;
  250.                 }
  251.                 break ;
  252.             case 'REMOVE_ASSURANCE':
  253.                 $roles $subject->getFonction()->getRoleAtelierassurances();
  254.                 if (in_array("REMOVE"$roles)) {
  255.                     return true;
  256.                 }
  257.                 else {
  258.                     return false;
  259.                 }
  260.                 break;
  261.             case 'CREATE_ASSURANCE':
  262.                 $roles $subject->getFonction()->getRoleAtelierassurances();
  263.                 if (in_array("CREATE"$roles)) {
  264.                     return true;
  265.                 }
  266.                 else {
  267.                     return false;
  268.                 }
  269.                 break;
  270.             case 'EDIT_VIGNETTE':
  271.                 $roles $subject->getFonction()->getRoleAteliervignettes();
  272.                     if (in_array("EDIT"$roles)) {
  273.                         return true;
  274.                     }
  275.                     else {
  276.                         return false;
  277.                     }
  278.                 break;
  279.             case 'VIEW_VIGNETTE':
  280.                 $roles $subject->getFonction()->getRoleAteliervignettes();
  281.                 if (in_array("VIEW"$roles)) {
  282.                     return true;
  283.                 }
  284.                 else {
  285.                     return false;
  286.                 }
  287.                 break ;
  288.             case 'REMOVE_VIGNETTE':
  289.                 $roles $subject->getFonction()->getRoleAteliervignettes();
  290.                 if (in_array("REMOVE"$roles)) {
  291.                     return true;
  292.                 }
  293.                 else {
  294.                     return false;
  295.                 }
  296.                 break;
  297.             case 'CREATE_VIGNETTE':
  298.                 $roles $subject->getFonction()->getRoleAteliervignettes();
  299.                 if (in_array("CREATE"$roles)) {
  300.                     return true;
  301.                 }
  302.                 else {
  303.                     return false;
  304.                 }
  305.                 break;
  306.             case 'EDIT_TAXE':
  307.                 $roles $subject->getFonction()->getRoleAteliertaxes();
  308.                     if (in_array("EDIT"$roles)) {
  309.                         return true;
  310.                     } else {
  311.                         return false;
  312.                     }
  313.                 break;
  314.             case 'VIEW_TAXE':
  315.                 $roles $subject->getFonction()->getRoleAteliertaxes();
  316.                 if (in_array("VIEW"$roles)) {
  317.                     return true;
  318.                 } else {
  319.                     return false;
  320.                 }
  321.                 break ;
  322.             case 'REMOVE_TAXE':
  323.                 $roles $subject->getFonction()->getRoleAteliertaxes();
  324.                 if (in_array("REMOVE"$roles)) {
  325.                     return true;
  326.                 } else {
  327.                     return false;
  328.                 }
  329.                 break;
  330.             case 'CREATE_TAXE':
  331.                 $roles $subject->getFonction()->getRoleAteliertaxes();
  332.                 if (in_array("CREATE"$roles)) {
  333.                     return true;
  334.                 } else {
  335.                     return false;
  336.                 }
  337.                 break;
  338.             case 'EDIT_AUTORISATION':
  339.                 $roles $subject->getFonction()->getRoleAtelierautorisation();
  340.                     if (in_array("EDIT"$roles)) {
  341.                         return true;
  342.                     } else {
  343.                         return false;
  344.                     }
  345.                 break;
  346.             case 'VIEW_AUTORISATION':
  347.                 $roles $subject->getFonction()->getRoleAtelierautorisation();
  348.                 if (in_array("VIEW"$roles)) {
  349.                     return true;
  350.                 } else {
  351.                     return false;
  352.                 }
  353.                 break ;
  354.             case 'REMOVE_AUTORISATION':
  355.                 $roles $subject->getFonction()->getRoleAtelierautorisation();
  356.                 if (in_array("REMOVE"$roles)) {
  357.                     return true;
  358.                 }
  359.                 else {
  360.                     return false;
  361.                 }
  362.                 break;
  363.             case 'CREATE_AUTORISATION':
  364.                 $roles $subject->getFonction()->getRoleAtelierautorisation();
  365.                 if (in_array("CREATE"$roles)) {
  366.                     return true;
  367.                 }
  368.                 else {
  369.                     return false;
  370.                 }
  371.                 break;
  372.             case 'EDIT_CARNET':
  373.                 $roles $subject->getFonction()->getRoleAteliercarnet();
  374.                     if (in_array("EDIT"$roles)) {
  375.                         return true;
  376.                     }
  377.                     else {
  378.                         return false;
  379.                     }
  380.                 break;
  381.             case 'VIEW_CARNET':
  382.                 $roles $subject->getFonction()->getRoleAteliercarnet();
  383.                 if (in_array("VIEW"$roles)) {
  384.                     return true;
  385.                 }
  386.                 else {
  387.                     return false;
  388.                 }
  389.                 break ;
  390.             case 'REMOVE_CARNET':
  391.                 $roles $subject->getFonction()->getRoleAteliercarnet();
  392.                 if (in_array("REMOVE"$roles)) {
  393.                     return true;
  394.                 }
  395.                 else {
  396.                     return false;
  397.                 }
  398.                 break;
  399.             case 'CREATE_CARNET':
  400.                 $roles $subject->getFonction()->getRoleAteliercarnet();
  401.                 if (in_array("CREATE"$roles)) {
  402.                     return true;
  403.                 }
  404.                 else {
  405.                     return false;
  406.                 }
  407.                 break;
  408.             case 'EDIT_ACCIDENT':
  409.                 $roles $subject->getFonction()->getRoleAtelieraccidents();
  410.                     if (in_array("EDIT"$roles)) {
  411.                         return true;
  412.                     }
  413.                     else {
  414.                         return false;
  415.                     }
  416.                 break;
  417.             case 'VIEW_ACCIDENT':
  418.                 $roles $subject->getFonction()->getRoleAtelieraccidents();
  419.                 if (in_array("VIEW"$roles)) {
  420.                     return true;
  421.                 }
  422.                 else {
  423.                     return false;
  424.                 }
  425.                 break ;
  426.             case 'REMOVE_ACCIDENT':
  427.                 $roles $subject->getFonction()->getRoleAtelieraccidents();
  428.                 if (in_array("REMOVE"$roles)) {
  429.                     return true;
  430.                 }
  431.                 else {
  432.                     return false;
  433.                 }
  434.                 break;
  435.             case 'CREATE_ACCIDENT':
  436.                 $roles $subject->getFonction()->getRoleAtelieraccidents();
  437.                 if (in_array("CREATE"$roles)) {
  438.                     return true;
  439.                 }
  440.                 else {
  441.                     return false;
  442.                 }
  443.                 break;
  444.             case 'EDIT_SERVICE':
  445.                 $roles $subject->getFonction()->getRoleAtelierservices();
  446.                     if (in_array("EDIT"$roles)) {
  447.                         return true;
  448.                     }
  449.                     else {
  450.                         return false;
  451.                     }
  452.                 break;
  453.             case 'VIEW_SERVICE':
  454.                 $roles $subject->getFonction()->getRoleAtelierservices();
  455.                 if (in_array("VIEW"$roles)) {
  456.                     return true;
  457.                 }
  458.                 else {
  459.                     return false;
  460.                 }
  461.                 break ;
  462.             case 'REMOVE_SERVICE':
  463.                 $roles $subject->getFonction()->getRoleAtelierservices();
  464.                 if (in_array("REMOVE"$roles)) {
  465.                     return true;
  466.                 }
  467.                 else {
  468.                     return false;
  469.                 }
  470.                 break;
  471.             case 'CREATE_SERVICE':
  472.                 $roles $subject->getFonction()->getRoleAtelierservices();
  473.                 if (in_array("CREATE"$roles)) {
  474.                     return true;
  475.                 }
  476.                 else {
  477.                     return false;
  478.                 }
  479.                 break;
  480.             case 'EDIT_PNEUMATIQUE':
  481.                 $roles $subject->getFonction()->getRoleAtelierpneumatique();
  482.                     if (in_array("EDIT"$roles)) {
  483.                         return true;
  484.                     }
  485.                     else {
  486.                         return false;
  487.                     }
  488.                 break;
  489.             case 'VIEW_PNEUMATIQUE':
  490.                 $roles $subject->getFonction()->getRoleAtelierpneumatique();
  491.                 if (in_array("VIEW"$roles)) {
  492.                     return true;
  493.                 } else {
  494.                     return false;
  495.                 }
  496.                 break ;
  497.             case 'REMOVE_PNEUMATIQUE':
  498.                 $roles $subject->getFonction()->getRoleAtelierpneumatique();
  499.                 if (in_array("REMOVE"$roles)) {
  500.                     return true;
  501.                 } else {
  502.                     return false;
  503.                 }
  504.                 break;
  505.             case 'CREATE_PNEUMATIQUE':
  506.                 $roles $subject->getFonction()->getRoleAtelierpneumatique();
  507.                 if (in_array("CREATE"$roles)) {
  508.                     return true;
  509.                 } else {
  510.                     return false;
  511.                 }
  512.                 break;
  513.             case 'EDIT_EXTINCTEUR':
  514.                 $roles $subject->getFonction()->getRoleAtelierextincteurs();
  515.                     if (in_array("EDIT"$roles)) {
  516.                         return true;
  517.                     }
  518.                     else {
  519.                         return false;
  520.                     }
  521.                 break;
  522.             case 'VIEW_EXTINCTEUR':
  523.                 $roles $subject->getFonction()->getRoleAtelierextincteurs();
  524.                 if (in_array("VIEW"$roles)) {
  525.                     return true;
  526.                 }
  527.                 else {
  528.                     return false;
  529.                 }
  530.                 break ;
  531.             case 'REMOVE_EXTINCTEUR':
  532.                 $roles $subject->getFonction()->getRoleAtelierextincteurs();
  533.                 if (in_array("REMOVE"$roles)) {
  534.                     return true;
  535.                 }
  536.                 else {
  537.                     return false;
  538.                 }
  539.                 break;
  540.             case 'CREATE_EXTINCTEUR':
  541.                 $roles $subject->getFonction()->getRoleAtelierextincteurs();
  542.                 if (in_array("CREATE"$roles)) {
  543.                     return true;
  544.                 }
  545.                 else {
  546.                     return false;
  547.                 }
  548.                 break;
  549.             case 'EDIT_MARQUE':
  550.                 $roles $subject->getFonction()->getRoleAteliermarques();
  551.                     if (in_array("EDIT"$roles)) {
  552.                         return true;
  553.                     }
  554.                     else {
  555.                         return false;
  556.                     }
  557.                 break;
  558.             case 'VIEW_MARQUE':
  559.                 $roles $subject->getFonction()->getRoleAteliermarques();
  560.                 if (in_array("VIEW"$roles)) {
  561.                     return true;
  562.                 }
  563.                 else {
  564.                     return false;
  565.                 }
  566.                 break ;
  567.             case 'REMOVE_MARQUE':
  568.                 $roles $subject->getFonction()->getRoleAteliermarques();
  569.                 if (in_array("REMOVE"$roles)) {
  570.                     return true;
  571.                 }
  572.                 else {
  573.                     return false;
  574.                 }
  575.                 break;
  576.             case 'CREATE_MARQUE':
  577.                 $roles $subject->getFonction()->getRoleAteliermarques();
  578.                 if (in_array("CREATE"$roles)) {
  579.                     return true;
  580.                 }
  581.                 else {
  582.                     return false;
  583.                 }
  584.                 break;
  585.             case 'EDIT_ACHAT':
  586.                 $roles $subject->getFonction()->getRoleAchat();
  587.                     if (in_array("EDIT"$roles)) {
  588.                         return true;
  589.                     }
  590.                     else {
  591.                         return false;
  592.                     }
  593.                 break;
  594.             case 'VIEW_ACHAT':
  595.                 $roles $subject->getFonction()->getRoleAchat();
  596.                 if (in_array("VIEW"$roles)) {
  597.                     return true;
  598.                 }
  599.                 else {
  600.                     return false;
  601.                 }
  602.                 break ;
  603.             case 'REMOVE_ACHAT':
  604.                 $roles $subject->getFonction()->getRoleAchat();
  605.                 if (in_array("REMOVE"$roles)) {
  606.                     return true;
  607.                 }
  608.                 else {
  609.                     return false;
  610.                 }
  611.                 break;
  612.             case 'CREATE_ACHAT':
  613.                 $roles $subject->getFonction()->getRoleAchat();
  614.                 if (in_array("CREATE"$roles)) {
  615.                     return true;
  616.                 }
  617.                 else {
  618.                     return false;
  619.                 }
  620.                 break;
  621.             case 'EDIT_CLIENT':
  622.                 $roles $subject->getFonction()->getRoleClient();
  623.                     if (in_array("EDIT"$roles)) {
  624.                         return true;
  625.                     }
  626.                     else {
  627.                         return false;
  628.                     }
  629.                 break;
  630.             case 'VIEW_CLIENT':
  631.                 $roles $subject->getFonction()->getRoleClient();
  632.                 if (in_array("VIEW"$roles)) {
  633.                     return true;
  634.                 }
  635.                 else {
  636.                     return false;
  637.                 }
  638.                 break ;
  639.             case 'REMOVE_CLIENT':
  640.                 $roles $subject->getFonction()->getRoleClient();
  641.                 if (in_array("REMOVE"$roles)) {
  642.                     return true;
  643.                 }
  644.                 else {
  645.                     return false;
  646.                 }
  647.                 break;
  648.             case 'CREATE_CLIENT':
  649.                 $roles $subject->getFonction()->getRoleClient();
  650.                 if (in_array("CREATE"$roles)) {
  651.                     return true;
  652.                 }
  653.                 else {
  654.                     return false;
  655.                 }
  656.                 break;
  657.             case 'EDIT_VOYAGE':
  658.                 $roles $subject->getFonction()->getRoleVoyage();
  659.                     if (in_array("EDIT"$roles)) {
  660.                         return true;
  661.                     }
  662.                     else {
  663.                         return false;
  664.                     }
  665.                 break;
  666.             case 'VIEW_VOYAGE':
  667.                 $roles $subject->getFonction()->getRoleVoyage();
  668.                 if (in_array("VIEW"$roles)) {
  669.                     return true;
  670.                 }
  671.                 else {
  672.                     return false;
  673.                 }
  674.                 break ;
  675.             case 'REMOVE_VOYAGE':
  676.                 $roles $subject->getFonction()->getRoleVoyage();
  677.                 if (in_array("REMOVE"$roles)) {
  678.                     return true;
  679.                 }
  680.                 else {
  681.                     return false;
  682.                 }
  683.                 break;
  684.             case 'CREATE_VOYAGE':
  685.                 $roles $subject->getFonction()->getRoleVoyage();
  686.                 if (in_array("CREATE"$roles)) {
  687.                     return true;
  688.                 }
  689.                 else {
  690.                     return false;
  691.                 }
  692.                 break;
  693.             case 'EDIT_GEOFENCES':
  694.                 $roles $subject->getFonction()->getRoleGeofences();
  695.                     if (in_array("EDIT"$roles)) {
  696.                         return true;
  697.                     }
  698.                     else {
  699.                         return false;
  700.                     }
  701.                 break;
  702.             case 'VIEW_GEOFENCES':
  703.                 $roles $subject->getFonction()->getRoleGeofences();
  704.                 if (in_array("VIEW"$roles)) {
  705.                     return true;
  706.                 }
  707.                 else {
  708.                     return false;
  709.                 }
  710.                 break ;
  711.             case 'REMOVE_GEOFENCES':
  712.                 $roles $subject->getFonction()->getRoleGeofences();
  713.                 if (in_array("REMOVE"$roles)) {
  714.                     return true;
  715.                 }
  716.                 else {
  717.                     return false;
  718.                 }
  719.                 break;
  720.             case 'CREATE_GEOFENCES':
  721.                 $roles $subject->getFonction()->getRoleGeofences();
  722.                 if (in_array("CREATE"$roles)) {
  723.                     return true;
  724.                 }
  725.                 else {
  726.                     return false;
  727.                 }
  728.                 break;
  729.             case 'VIEW_SUIVI':
  730.                 $roles $subject->getFonction()->getRoleSuivi();
  731.                 if (in_array("VIEW"$roles)) {
  732.                     return true;
  733.                 }
  734.                 else {
  735.                     return false;
  736.                 }
  737.                 break ;
  738.             case 'VIEW_MODULE':
  739.                 $roles $subject->getFonction()->getRoleModule();
  740.                 if (in_array("VIEW"$roles)) {
  741.                     return true;
  742.                 }
  743.                 else {
  744.                     return false;
  745.                 }
  746.                 break ;
  747.             case 'EDIT_AGENDA':
  748.                 $roles $subject->getFonction()->getRoleAgenda();
  749.                     if (in_array("EDIT"$roles)) {
  750.                         return true;
  751.                     }
  752.                     else {
  753.                         return false;
  754.                     }
  755.                 break;
  756.             case 'VIEW_AGENDA':
  757.                 $roles $subject->getFonction()->getRoleAgenda();
  758.                 if (in_array("VIEW"$roles)) {
  759.                     return true;
  760.                 }
  761.                 else {
  762.                     return false;
  763.                 }
  764.                 break ;
  765.             case 'REMOVE_AGENDA':
  766.                 $roles $subject->getFonction()->getRoleAgenda();
  767.                 if (in_array("REMOVE"$roles)) {
  768.                     return true;
  769.                 }
  770.                 else {
  771.                     return false;
  772.                 }
  773.                 break;
  774.             case 'CREATE_AGENDA':
  775.                 $roles $subject->getFonction()->getRoleAgenda();
  776.                 if (in_array("CREATE"$roles)) {
  777.                     return true;
  778.                 }
  779.                 else {
  780.                     return false;
  781.                 }
  782.                 break;
  783.         }
  784.         return false;
  785.     }
  786. }