From ecaec9b81f6d5434bfd45697dd9bbcbbad9be217 Mon Sep 17 00:00:00 2001
From: Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr>
Date: Mon, 17 Oct 2022 12:19:07 +0200
Subject: [PATCH] Ajustement fonction et signature

---
 .../Service/Privilege/PrivilegeService.php          | 13 +++++++++++++
 .../View/Privilege/PrivilegeViewHelper.php          |  8 ++++----
 .../privilege-categorie/index.phtml                 |  2 +-
 view/unicaen-privilege/privilege/index.phtml        |  2 +-
 4 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/src/UnicaenPrivilege/Service/Privilege/PrivilegeService.php b/src/UnicaenPrivilege/Service/Privilege/PrivilegeService.php
index 28e484b..8fc38cf 100644
--- a/src/UnicaenPrivilege/Service/Privilege/PrivilegeService.php
+++ b/src/UnicaenPrivilege/Service/Privilege/PrivilegeService.php
@@ -48,6 +48,19 @@ class PrivilegeService extends CommonService implements PrivilegeProviderInterfa
         return $this->getRepo()->findOneBy(['code' => $code, 'categorie' => $categorie]);
     }
 
+    /**
+     * @param string $code
+     * @return PrivilegeInterface|null
+     */
+    public function findByFullCode(string $code) : ?PrivilegeInterface
+    {
+        [$categorieCode, $privilegeCode] = explode('-', $code);
+        $categorie = $this->getPrivilegeCategorieService()->findByCode($categorieCode);
+        if ($categorie === null) return null;
+        $privilege = $this->findByCode($privilegeCode, $categorie);
+        return $privilege;
+    }
+
     /**
      * @param string $libelle
      * @param int|PrivilegeCategorieInterface $categorie
diff --git a/src/UnicaenPrivilege/View/Privilege/PrivilegeViewHelper.php b/src/UnicaenPrivilege/View/Privilege/PrivilegeViewHelper.php
index d2cd2c4..803dc93 100644
--- a/src/UnicaenPrivilege/View/Privilege/PrivilegeViewHelper.php
+++ b/src/UnicaenPrivilege/View/Privilege/PrivilegeViewHelper.php
@@ -38,7 +38,7 @@ class PrivilegeViewHelper extends AbstractHelper
         return $this->view->isAllowed(PrivilegePrivileges::getResourceId(PrivilegePrivileges::PRIVILEGE_AFFECTER))
             ? sprintf(
                 '<a href="%s" class="modifier-privilege"
-                    data-toggle="tooltip" 
+                    data-bs-toggle="tooltip" 
                     data-original-title="<span class=\'text-highlight\'><small>Activer le privilège <br/> <strong><em>%s</em></strong> <br/> pour le rôle <br/> <strong><em>%s</em></strong></small></span>">
                     <i class="fas fa-times-circle text-danger"></i>
                 </a>',
@@ -47,7 +47,7 @@ class PrivilegeViewHelper extends AbstractHelper
                 $role
             )
             : sprintf(
-                '<a data-toggle="tooltip" 
+                '<a data-bs-toggle="tooltip" 
                     data-original-title="<span class=\'text-highlight\'><small>Privilège <br/> <strong><em>%s</em></strong> <br/> Rôle <br/> <strong><em>%s</em></strong></small></span>">
                     <i class="fas fa-times-circle text-danger"></i>
                 </a>',
@@ -65,7 +65,7 @@ class PrivilegeViewHelper extends AbstractHelper
         return $this->view->isAllowed(PrivilegePrivileges::getResourceId(PrivilegePrivileges::PRIVILEGE_AFFECTER))
             ? sprintf(
                 '<a href="%s" class="modifier-privilege"
-                    data-toggle="tooltip" 
+                    data-bs-toggle="tooltip" 
                     data-original-title="<span class=\'text-highlight\'><small>Désactiver le privilège <br/> <strong><em>%s</em></strong> <br/> pour le rôle <br/> <strong><em>%s</em></strong></small></span>">
                     <i class="fas fa-check-circle text-success"></i>
                 </a>',
@@ -74,7 +74,7 @@ class PrivilegeViewHelper extends AbstractHelper
                 $role
             )
             : sprintf(
-                '<a data-toggle="tooltip" 
+                '<a data-bs-toggle="tooltip" 
                     data-original-title="<span class=\'text-highlight\'><small>Privilège <br/> <strong><em>%s</em></strong> <br/> Rôle <br/> <strong><em>%s</em></strong></small></span>">
                     <i class="fas fa-check-circle text-success"></i>
                 </a>',
diff --git a/view/unicaen-privilege/privilege-categorie/index.phtml b/view/unicaen-privilege/privilege-categorie/index.phtml
index 593fc87..a8353a2 100644
--- a/view/unicaen-privilege/privilege-categorie/index.phtml
+++ b/view/unicaen-privilege/privilege-categorie/index.phtml
@@ -120,7 +120,7 @@ $canProvider = $this->isAllowed(PrivilegePrivileges::getResourceId(PrivilegePriv
                     </td>
                     <td><?php echo $categorie->getCode(); ?></td>
                     <td>
-                        <a href="#" data-toggle="popover" data-placement="left" data-html="true"
+                        <a href="#" data-toggle="popover" data-placement="left" data-bs-html="true"
                            data-content="<?php echo implode("<br />", $listing); ?>">
                             <i class="fas fa-crown"></i> <?php echo $categorie->getPrivileges()->count(); ?>
                         </a>
diff --git a/view/unicaen-privilege/privilege/index.phtml b/view/unicaen-privilege/privilege/index.phtml
index f747a94..a29d061 100644
--- a/view/unicaen-privilege/privilege/index.phtml
+++ b/view/unicaen-privilege/privilege/index.phtml
@@ -150,7 +150,7 @@ use UnicaenPrivilege\Provider\Privilege\PrivilegePrivileges;
 
         <?php //Note tv : Cause une erreur JS car a priori déjà fait ailleur mais je n'ais pas trouvé ou?>
         // body.tooltip({
-        //     selector: '[data-toggle="tooltip"]',
+        //     selector: '[data-bs-toggle="tooltip"]',
         //     placement: "bottom",
         //     html: true
         // });
-- 
GitLab