From c74f0cf4bdf3717864a852813e7a1c6c2ec80f85 Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Thu, 10 Oct 2019 18:28:58 +0200 Subject: [PATCH] Add LSaddon LSaccessRightsMatrixView --- doc/conf/LSaddon.docbook | 1 + doc/conf/LSaddon/LSaddon.entities.xml | 1 + .../LSaddon_LSaccessRightsMatrixView.docbook | 11 ++ ...nfig.LSaddons.LSaccessRightsMatrixView.php | 32 ++++++ .../css/default/LSaccessRightsMatrixView.css | 80 +++++++++++++++ .../LSaddons.LSaccessRightsMatrixView.php | 95 ++++++++++++++++++ .../lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo | Bin 52681 -> 53185 bytes .../lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po | 67 ++++++++---- public_html/lang/ldapsaisie.pot | 63 ++++++++---- .../default/LSaccessRightsMatrixView.tpl | 39 +++++++ 10 files changed, 350 insertions(+), 39 deletions(-) create mode 100644 doc/conf/LSaddon/LSaddon_LSaccessRightsMatrixView.docbook create mode 100644 public_html/conf/LSaddons/config.LSaddons.LSaccessRightsMatrixView.php create mode 100644 public_html/css/default/LSaccessRightsMatrixView.css create mode 100644 public_html/includes/addons/LSaddons.LSaccessRightsMatrixView.php create mode 100644 public_html/templates/default/LSaccessRightsMatrixView.tpl diff --git a/doc/conf/LSaddon.docbook b/doc/conf/LSaddon.docbook index 8cdac298..f896ede0 100644 --- a/doc/conf/LSaddon.docbook +++ b/doc/conf/LSaddon.docbook @@ -11,6 +11,7 @@ &conf-LSaddon_asterisk; &conf-LSaddon_exportSearchResultAsCSV; + &conf-LSaddon_LSaccessRightsMatrixView; &conf-LSaddon_mail; &conf-LSaddon_maildir; &conf-LSaddon_mailquota; diff --git a/doc/conf/LSaddon/LSaddon.entities.xml b/doc/conf/LSaddon/LSaddon.entities.xml index 605791bf..f5f3aa2a 100644 --- a/doc/conf/LSaddon/LSaddon.entities.xml +++ b/doc/conf/LSaddon/LSaddon.entities.xml @@ -1,6 +1,7 @@ + diff --git a/doc/conf/LSaddon/LSaddon_LSaccessRightsMatrixView.docbook b/doc/conf/LSaddon/LSaddon_LSaccessRightsMatrixView.docbook new file mode 100644 index 00000000..35ec334f --- /dev/null +++ b/doc/conf/LSaddon/LSaddon_LSaccessRightsMatrixView.docbook @@ -0,0 +1,11 @@ + + LSaddon_LSaccessRightsMatrixView + Cet &LSaddon; offre une interface de visualisation des droits d'accès + des différents &LSprofiles; configurés. Pour chaque type d'objet, la matrice + des droits d'accès par attribut et par profil est affiché sous la forme d'un + tableau. + + Le fichier de configuration permet de définir au travers la variable + $GLOBALS['LSaccessRightsMatrixView_allowed_LSprofiles'] + la liste des &LSprofiles; autorisés à accéder à cette interface. + diff --git a/public_html/conf/LSaddons/config.LSaddons.LSaccessRightsMatrixView.php b/public_html/conf/LSaddons/config.LSaddons.LSaccessRightsMatrixView.php new file mode 100644 index 00000000..761b8de1 --- /dev/null +++ b/public_html/conf/LSaddons/config.LSaddons.LSaccessRightsMatrixView.php @@ -0,0 +1,32 @@ + + * + * @retval boolean true if LSaccessRightsMatrixView addon is totally supported, false in other case + */ +function LSaddon_LSaccessRightsMatrixView_support() { + $retval = True; + $MUST_DEFINE_ARRAY= array( + 'LSaccessRightsMatrixView_allowed_LSprofiles', + ); + foreach($MUST_DEFINE_ARRAY as $array) { + if ( !isset($GLOBALS[$array]) || !is_array($GLOBALS[$array])) { + LSerror :: addErrorCode('LSACCESSRIGHTSMATRIXVIEW_SUPPORT_01',$array); + $retval=false; + } + } + + if ($retval) + $retval = LSsession :: registerLSaddonView( + 'LSaccessRightsMatrixView', + 'accessRightsMatrix', + _('Access rights matrix'), + 'LSaccessRightsMatrixView', + $GLOBALS['LSaccessRightsMatrixView_allowed_LSprofiles'] + ); + + return $retval; +} + +function LSaccessRightsMatrixView() { + $LSprofiles = LSsession :: $ldapServer["LSprofiles"]; + $LSobjects = array(); + foreach (LSsession :: $ldapServer["LSaccess"] as $LSobject) { + if (!LSsession :: loadLSobject($LSobject)) + continue; + $attrs = array(); + foreach(LSconfig :: get("LSobjects.$LSobject.attrs", array()) as $attr_name => $attr_config) { + $raw_attr_rights = LSconfig :: get('rights', array(), 'array', $attr_config); + $attr_rights = array(); + foreach(array_keys($LSprofiles) as $LSprofile) { + $attr_rights[$LSprofile] = LSconfig :: get($LSprofile, False, null, $raw_attr_rights); + } + $attrs[$attr_name] = array ( + 'label' => __(LSconfig :: get('label', $attr_name, 'string', $attr_config)), + 'rights' => $attr_rights, + ); + } + $LSobjects[$LSobject] = array ( + 'label' => __(LSconfig :: get("LSobjects.$LSobject.label", $LSobject, 'string')), + 'attrs' => $attrs, + ); + } + + // Determine current LSobject + reset($LSobjects); + $LSobject = (isset($_REQUEST['LSobject']) && array_key_exists($_REQUEST['LSobject'], $LSobjects)?$_REQUEST['LSobject']:key($LSobjects)); + + LStemplate :: assign('pagetitle', _('Access rights matrix')); + LStemplate :: assign('LSprofiles', $LSprofiles); + LStemplate :: assign('LSobjects', $LSobjects); + LStemplate :: assign('LSobject', $LSobject); + + LSsession :: addCssFile('LSaccessRightsMatrixView.css'); + LSsession :: setTemplate('LSaccessRightsMatrixView.tpl'); +} diff --git a/public_html/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo b/public_html/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo index 7c6fd047375d2811322311c73c3e70c7f26089f1..0df0c30b446d3e5541688fa0ba993c101c5f4c17 100644 GIT binary patch delta 8907 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 Lbww+Wwl4o~00h*W delta 8521 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\n" "Language-Team: LdapSaisie \n" @@ -329,6 +329,17 @@ msgstr "Entité %{id} (non-reconnue)" msgid "%{value} (unrecognized value)" msgstr "%{value} (valeur non-reconnue)" +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/addons/LSaddons.LSaccessRightsMatrixView.php:26 +msgid "Access Right Matrix Support : The global array %{array} is not defined." +msgstr "" +"Support Matrice des droits d'accès : Le tableau global %{array} n'est pas " +"défini." + +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/addons/LSaddons.LSaccessRightsMatrixView.php:52 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/addons/LSaddons.LSaccessRightsMatrixView.php:88 +msgid "Access rights matrix" +msgstr "Matrice des droits d'accès" + #: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/addons/LSaddons.ftp.php:27 msgid "FTP Support : Pear::Net_FTP is missing." msgstr "Support FTP : Pear::Net_FTP n'est pas installé." @@ -1765,39 +1776,39 @@ msgstr "Étape" msgid "Pedagogical element" msgstr "Élement pédagogique" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1055 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1087 msgid "Actions" msgstr "Actions" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1058 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1090 #: templates/default/global_search.tpl:25 msgid "This search didn't get any result." msgstr "Cette recherche n'a retournée aucun résultat" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1310 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1342 msgid "LSsearch : Invalid filter : %{filter}." msgstr "LSsearch : Filtre invalide : %{filter}." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1313 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1345 msgid "LSsearch : Invalid basedn : %{basedn}." msgstr "LSsearch : Base DN invalide." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1316 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1348 msgid "LSsearch : Invalid value for %{param} parameter." msgstr "LSsearch : La valeur du paramètre %{param} est incorrecte." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1319 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1351 msgid "" "LSsearch : Invalid size limit. Must be an integer greater or equal to 0." msgstr "" "LSsearch : Limite de taille de recherche invalide. Elle doit être un entier " "supérieur ou égal à 0." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1322 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1354 msgid "LSsearch : Invalid parameter %{attr}. Must be an boolean." msgstr "LSsearch : Paramètre %{param} invalide. Il doit être un booléen." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1325 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1357 msgid "" "LSsearch : Invalid parameter attributes. Must be an string or an array of " "strings." @@ -1805,13 +1816,13 @@ msgstr "" "LSsearch : Paramètre 'attributes' invalide. Il doit être une chaîne de " "caractères ou un tableau de chaînes de caractères." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1328 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1360 msgid "LSsearch : Can't build attributes list for make filter." msgstr "" "LSsearch : Impossible de construire la liste des attributs pour faire le " "filtre." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1331 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1363 msgid "" "LSsearch : Error building filter with attribute '%{attr}' and pattern " "'%{pattern}'" @@ -1819,34 +1830,34 @@ msgstr "" "LSsearch : Problème en construisant le filtre avec l'attribut '%{attr}' et " "le mot clé '%{pattern}'" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1334 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1366 msgid "LSsearch : Error combining filters." msgstr "LSsearch : Problème en combinant les filtres." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1337 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1369 msgid "LSsearch : Invalid pattern." msgstr "LSsearch : Mot clé invalide." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1340 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1372 msgid "LSsearch : Invalid attribute %{attr} in parameters." msgstr "LSsearch : Attribut %{attr} incorrect dans les paramètres." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1343 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1375 msgid "LSsearch : Error during the search." msgstr "LSsearch : Erreur pendant la recherche." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1346 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1378 msgid "LSsearch : Error sorting the search." msgstr "LSsearch : Erreur pendant le trie de la recherche." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1349 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1381 msgid "" "LSsearch : The function of the custum information %{name} is not callable." msgstr "" "LSsearch : La fonction de l'information personnalisée %{name} n'est pas " "exécutable." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1352 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1384 msgid "" "LSsearch : Invalid predefinedFilter for LSobject type %{type} : %{label} " "(filter : %{filter})." @@ -1854,13 +1865,13 @@ msgstr "" "LSsearch : PredefinedFilter invalide pour le type d'LSobject %{type} : " "%{label} (filtre : %{filter})." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1355 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1387 msgid "LSsearch : Error during execution of the custom action %{customAction}." msgstr "" "LSldapObject : Erreur durant l'exécution de l'action personnalisée " "%{customAction}." -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1358 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1390 msgid "LSsearch : Invalid search pattern." msgstr "LSsearch : Mot clé de recherche invalide" @@ -2049,6 +2060,10 @@ msgstr "" "Une erreur irrécupérable est survenue. Si le problème persiste, merci de " "contacter le support." +#: templates/default/LSaccessRightsMatrixView.tpl:15 +msgid "Attributes / Profiles" +msgstr "Attributs / Profils" + #: templates/default/fatal_error.tpl:23 msgid "Details" msgstr "Détails" @@ -2070,6 +2085,10 @@ msgstr "Recherche globale" msgid "Imported objects" msgstr "Objets importés" +#: templates/default/viewSearch.tpl:120 +msgid "Nb / page :" +msgstr "Nb / page :" + #: templates/default/import.tpl:74 msgid "No imported object" msgstr "Aucun objet importé" @@ -2082,6 +2101,14 @@ msgstr "Aucune valeur" msgid "Only validate data" msgstr "Validation des données uniquement" +#: templates/default/LSaccessRightsMatrixView.tpl:27 +msgid "Readable" +msgstr "Lecture" + +#: templates/default/LSaccessRightsMatrixView.tpl:29 +msgid "Readable / Writable" +msgstr "Lecture / Écriture" + #: templates/default/top.tpl:62 msgid "Refresh my access rights" msgstr "Rafraîchir mes droits d'accès" diff --git a/public_html/lang/ldapsaisie.pot b/public_html/lang/ldapsaisie.pot index 6ea2c240..1f6ca8d8 100644 --- a/public_html/lang/ldapsaisie.pot +++ b/public_html/lang/ldapsaisie.pot @@ -275,6 +275,15 @@ msgstr "" msgid "%{value} (unrecognized value)" msgstr "" +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/addons/LSaddons.LSaccessRightsMatrixView.php:26 +msgid "Access Right Matrix Support : The global array %{array} is not defined." +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/addons/LSaddons.LSaccessRightsMatrixView.php:52 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/addons/LSaddons.LSaccessRightsMatrixView.php:88 +msgid "Access rights matrix" +msgstr "" + #: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/addons/LSaddons.ftp.php:27 msgid "FTP Support : Pear::Net_FTP is missing." msgstr "" @@ -1498,88 +1507,88 @@ msgstr "" msgid "Pedagogical element" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1055 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1087 msgid "Actions" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1058 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1090 #: templates/default/global_search.tpl:25 msgid "This search didn't get any result." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1310 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1342 msgid "LSsearch : Invalid filter : %{filter}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1313 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1345 msgid "LSsearch : Invalid basedn : %{basedn}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1316 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1348 msgid "LSsearch : Invalid value for %{param} parameter." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1319 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1351 msgid "" "LSsearch : Invalid size limit. Must be an integer greater or equal to 0." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1322 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1354 msgid "LSsearch : Invalid parameter %{attr}. Must be an boolean." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1325 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1357 msgid "" "LSsearch : Invalid parameter attributes. Must be an string or an array of " "strings." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1328 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1360 msgid "LSsearch : Can't build attributes list for make filter." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1331 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1363 msgid "" "LSsearch : Error building filter with attribute '%{attr}' and pattern " "'%{pattern}'" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1334 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1366 msgid "LSsearch : Error combining filters." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1337 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1369 msgid "LSsearch : Invalid pattern." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1340 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1372 msgid "LSsearch : Invalid attribute %{attr} in parameters." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1343 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1375 msgid "LSsearch : Error during the search." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1346 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1378 msgid "LSsearch : Error sorting the search." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1349 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1381 msgid "" "LSsearch : The function of the custum information %{name} is not callable." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1352 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1384 msgid "" "LSsearch : Invalid predefinedFilter for LSobject type %{type} : %{label} " "(filter : %{filter})." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1355 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1387 msgid "LSsearch : Error during execution of the custom action %{customAction}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1358 +#: /home/brenard/dev/ldapsaisie_clean3/public_html/includes/class/class.LSsearch.php:1390 msgid "LSsearch : Invalid search pattern." msgstr "" @@ -1748,6 +1757,10 @@ msgstr "" msgid "A fatal error occured. If problem persist, please contact support." msgstr "" +#: templates/default/LSaccessRightsMatrixView.tpl:15 +msgid "Attributes / Profiles" +msgstr "" + #: templates/default/fatal_error.tpl:23 msgid "Details" msgstr "" @@ -1769,6 +1782,10 @@ msgstr "" msgid "Imported objects" msgstr "" +#: templates/default/viewSearch.tpl:120 +msgid "Nb / page :" +msgstr "" + #: templates/default/import.tpl:74 msgid "No imported object" msgstr "" @@ -1781,6 +1798,14 @@ msgstr "" msgid "Only validate data" msgstr "" +#: templates/default/LSaccessRightsMatrixView.tpl:27 +msgid "Readable" +msgstr "" + +#: templates/default/LSaccessRightsMatrixView.tpl:29 +msgid "Readable / Writable" +msgstr "" + #: templates/default/top.tpl:62 msgid "Refresh my access rights" msgstr "" diff --git a/public_html/templates/default/LSaccessRightsMatrixView.tpl b/public_html/templates/default/LSaccessRightsMatrixView.tpl new file mode 100644 index 00000000..f322c19a --- /dev/null +++ b/public_html/templates/default/LSaccessRightsMatrixView.tpl @@ -0,0 +1,39 @@ +{include file='ls:top.tpl'} +
+

{$pagetitle}

+ + +
+

{$LSobjects[$LSobject]['label']}

+ + + + + {foreach $LSprofiles as $name => $conf} + + {/foreach} + + + {foreach $LSobjects[$LSobject]['attrs'] as $name => $conf} + + + {foreach $LSprofiles as $profil => $profil_conf} + + {/foreach} + + {/foreach} + +
{tr msg="Attributes / Profiles"}{$name}
{$conf.label} + {if $conf.rights[$profil] == 'r'} + {tr msg="Readable"} + {elseif $conf.rights[$profil] == 'w'} + {tr msg="Readable / Writable"} + {/if} +
+
+
+{include file='ls:bottom.tpl'}