From 3598e48c6e836607e0089c1e2ab9fe788ff768e8 Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Wed, 23 Sep 2020 14:10:50 +0200 Subject: [PATCH] LSaddon::LSaccessRightsMatrixView: handle customActions & customSearchActions --- src/css/default/LSaccessRightsMatrixView.css | 17 ++++- .../LSaddons.LSaccessRightsMatrixView.php | 32 +++++++++ src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo | Bin 63443 -> 64001 bytes src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po | 36 +++++++++- src/lang/ldapsaisie.pot | 32 ++++++++- .../default/LSaccessRightsMatrixView.tpl | 68 ++++++++++++++++++ 6 files changed, 178 insertions(+), 7 deletions(-) diff --git a/src/css/default/LSaccessRightsMatrixView.css b/src/css/default/LSaccessRightsMatrixView.css index a229c391..69ca79bd 100644 --- a/src/css/default/LSaccessRightsMatrixView.css +++ b/src/css/default/LSaccessRightsMatrixView.css @@ -90,9 +90,9 @@ } /* - * Readable/Writable tips + * Readable/Writable/Allowed tips */ -span.LSaccessRightsMatrixView_readable, span.LSaccessRightsMatrixView_writable { +span.LSaccessRightsMatrixView_readable, span.LSaccessRightsMatrixView_writable, span.LSaccessRightsMatrixView_allowed { color: #fff; border: 1px solid; border-radius: 0.3em; @@ -112,6 +112,11 @@ span.LSaccessRightsMatrixView_writable { border-color: #ffc107; } +span.LSaccessRightsMatrixView_allowed { + background-color: #28a745; + border-color: #28a745; +} + /* * Tabs */ @@ -165,6 +170,14 @@ div.LSaccessRightsMatrixView_tab_content h2 { font-weight: normal; } +/* + * Subtitle + */ +#LSaccessRightsMatrixView h3 { + border-bottom: 1px solid #dddddd; + max-width: 60em; +} + @media (max-width: 1024px) { div.LSaccessRightsMatrixView_tab_content { diff --git a/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php b/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php index ef447a3e..9c86a446 100644 --- a/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php +++ b/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php @@ -136,10 +136,42 @@ function LSaccessRightsMatrixView() { ); } + // List customActions and rigths on their + $customActions = array(); + foreach(LSconfig :: get("LSobjects.$LSobject.customActions", array()) as $action_name => $action_config) { + $raw_action_rights = LSconfig :: get('rights', array(), 'array', $action_config); + $action_rights = array(); + if (array_key_exists($LSobject, $authObjTypes)) + $action_rights['self'] = in_array('self', $raw_action_rights); + foreach(array_keys($LSprofiles) as $LSprofile) + $action_rights[$LSprofile] = in_array($LSprofile, $raw_action_rights); + $customActions[$action_name] = array ( + 'label' => __(LSconfig :: get('label', $action_name, 'string', $action_config)), + 'rights' => $action_rights, + ); + } + + // List customSearchActions and rigths on their + $customSearchActions = array(); + foreach(LSconfig :: get("LSobjects.$LSobject.LSsearch.customActions", array()) as $action_name => $action_config) { + $raw_action_rights = LSconfig :: get('rights', array(), 'array', $action_config); + $action_rights = array(); + if (array_key_exists($LSobject, $authObjTypes)) + $action_rights['self'] = in_array('self', $raw_action_rights); + foreach(array_keys($LSprofiles) as $LSprofile) + $action_rights[$LSprofile] = in_array($LSprofile, $raw_action_rights); + $customSearchActions[$action_name] = array ( + 'label' => __(LSconfig :: get('label', $action_name, 'string', $action_config)), + 'rights' => $action_rights, + ); + } + $LSobjects[$LSobject] = array ( 'label' => __(LSconfig :: get("LSobjects.$LSobject.label", $LSobject, 'string')), 'attrs' => $attrs, 'relations' => $relations, + 'customActions' => $customActions, + 'customSearchActions' => $customSearchActions, ); } diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo index 4a014e8264081ca0b543a8645bd7f55ff12d7c78..5890de3087852372d4ee9d852a5a71a21aaeea43 100644 GIT binary patch delta 10963 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\n" "Language-Team: LdapSaisie \n" @@ -229,7 +229,7 @@ msgstr "" "défini." #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:52 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:155 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:187 msgid "Access rights matrix" msgstr "Matrice des droits d'accès" @@ -237,7 +237,7 @@ msgstr "Matrice des droits d'accès" msgid "All connected users" msgstr "Tous les utilisateurs connectés" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:151 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:183 msgid "The user him-self" msgstr "L'utilisateur lui-même" @@ -2406,6 +2406,11 @@ msgstr "Madame" msgid "Mr." msgstr "Monsieur" +#: templates/default/LSaccessRightsMatrixView.tpl:95 +#: templates/default/LSaccessRightsMatrixView.tpl:129 +msgid "Allowed" +msgstr "Autorisé" + #: templates/default/LSaccessRightsMatrixView.tpl:18 msgid "Attributes / Profiles" msgstr "Attributs / Profils" @@ -2422,6 +2427,19 @@ msgstr "Se connecter" msgid "Connected as" msgstr "Connecté en tant que" +#: templates/default/LSaccessRightsMatrixView.tpl:87 +msgid "Custom actions" +msgstr "Actions personnalisées" + +#: templates/default/LSaccessRightsMatrixView.tpl:92 +#: templates/default/LSaccessRightsMatrixView.tpl:126 +msgid "Custom actions / Profiles" +msgstr "Actions personnalisées / Profils" + +#: templates/default/LSaccessRightsMatrixView.tpl:121 +msgid "Custom search actions" +msgstr "Actions personnalisées sur les recherches" + #: templates/default/error.tpl:16 msgid "Details" msgstr "Détails" @@ -2467,6 +2485,8 @@ msgstr "Langue" #: templates/default/LSaccessRightsMatrixView.tpl:20 #: templates/default/LSaccessRightsMatrixView.tpl:56 +#: templates/default/LSaccessRightsMatrixView.tpl:94 +#: templates/default/LSaccessRightsMatrixView.tpl:128 msgid "Legend:" msgstr "Légende :" @@ -2562,6 +2582,16 @@ msgstr "Sujet" msgid "Their relations with other objects" msgstr "Leurs relations avec les autres objets" +#: templates/default/LSaccessRightsMatrixView.tpl:118 +msgid "This object type has no configured custom action." +msgstr "Ce type d'objet n'a aucune action personnalisée de configurée." + +#: templates/default/LSaccessRightsMatrixView.tpl:152 +msgid "This object type has no configured custom search action." +msgstr "" +"Ce type d'objet n'a aucune action personnalisée sur les recherches de " +"configurée." + #: templates/default/LSaccessRightsMatrixView.tpl:84 msgid "This object type has no configured relation." msgstr "Ce type d'objet n'a aucune relation de configurée." diff --git a/src/lang/ldapsaisie.pot b/src/lang/ldapsaisie.pot index 70bcdf8e..d6b77d78 100644 --- a/src/lang/ldapsaisie.pot +++ b/src/lang/ldapsaisie.pot @@ -176,7 +176,7 @@ msgid "Access Right Matrix Support : The global array %{array} is not defined." msgstr "" #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:52 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:155 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:187 msgid "Access rights matrix" msgstr "" @@ -184,7 +184,7 @@ msgstr "" msgid "All connected users" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:151 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.LSaccessRightsMatrixView.php:183 msgid "The user him-self" msgstr "" @@ -2059,6 +2059,11 @@ msgstr "" msgid "Mr." msgstr "" +#: templates/default/LSaccessRightsMatrixView.tpl:95 +#: templates/default/LSaccessRightsMatrixView.tpl:129 +msgid "Allowed" +msgstr "" + #: templates/default/LSaccessRightsMatrixView.tpl:18 msgid "Attributes / Profiles" msgstr "" @@ -2075,6 +2080,19 @@ msgstr "" msgid "Connected as" msgstr "" +#: templates/default/LSaccessRightsMatrixView.tpl:87 +msgid "Custom actions" +msgstr "" + +#: templates/default/LSaccessRightsMatrixView.tpl:92 +#: templates/default/LSaccessRightsMatrixView.tpl:126 +msgid "Custom actions / Profiles" +msgstr "" + +#: templates/default/LSaccessRightsMatrixView.tpl:121 +msgid "Custom search actions" +msgstr "" + #: templates/default/error.tpl:16 msgid "Details" msgstr "" @@ -2120,6 +2138,8 @@ msgstr "" #: templates/default/LSaccessRightsMatrixView.tpl:20 #: templates/default/LSaccessRightsMatrixView.tpl:56 +#: templates/default/LSaccessRightsMatrixView.tpl:94 +#: templates/default/LSaccessRightsMatrixView.tpl:128 msgid "Legend:" msgstr "" @@ -2215,6 +2235,14 @@ msgstr "" msgid "Their relations with other objects" msgstr "" +#: templates/default/LSaccessRightsMatrixView.tpl:118 +msgid "This object type has no configured custom action." +msgstr "" + +#: templates/default/LSaccessRightsMatrixView.tpl:152 +msgid "This object type has no configured custom search action." +msgstr "" + #: templates/default/LSaccessRightsMatrixView.tpl:84 msgid "This object type has no configured relation." msgstr "" diff --git a/src/templates/default/LSaccessRightsMatrixView.tpl b/src/templates/default/LSaccessRightsMatrixView.tpl index 74c16e95..9eb5684d 100644 --- a/src/templates/default/LSaccessRightsMatrixView.tpl +++ b/src/templates/default/LSaccessRightsMatrixView.tpl @@ -83,6 +83,74 @@ {else}

{tr msg="This object type has no configured relation."} {/if} + +

{tr msg="Custom actions"}

+{if !empty($LSobjects[$LSobject]['customActions'])} + + + + {foreach $LSprofiles as $name => $label} + + {/foreach} + + + {foreach $LSobjects[$LSobject]['customActions'] as $name => $conf} + + + {foreach $LSprofiles as $profil => $profil_label} + + {/foreach} + + {/foreach} + +
+ {tr msg="Custom actions / Profiles"} +
+ + X = {tr msg="Allowed"} +
+
{if $name != $label}?{/if} {$label}
{$conf.label} ? + {if $conf.rights[$profil]} + X + {/if} +
+{else} +

{tr msg="This object type has no configured custom action."} +{/if} + +

{tr msg="Custom search actions"}

+{if !empty($LSobjects[$LSobject]['customSearchActions'])} + + + + {foreach $LSprofiles as $name => $label} + + {/foreach} + + + {foreach $LSobjects[$LSobject]['customSearchActions'] as $name => $conf} + + + {foreach $LSprofiles as $profil => $profil_label} + + {/foreach} + + {/foreach} + +
+ {tr msg="Custom actions / Profiles"} +
+ + X = {tr msg="Allowed"} +
+
{if $name != $label}?{/if} {$label}
{$conf.label} ? + {if $conf.rights[$profil]} + X + {/if} +
+{else} +

{tr msg="This object type has no configured custom search action."} +{/if} {/block}