LSaccessRightsMatrixView: handle inherited rights from user LSprofiles

This commit is contained in:
Benjamin Renard 2021-03-16 17:52:08 +01:00
parent 3703d0330e
commit 78fedd79b2
6 changed files with 160 additions and 96 deletions

View file

@ -121,6 +121,10 @@ span.LSaccessRightsMatrixView_allowed {
border-color: #28a745;
}
span.LSaccessRightsMatrixView_inherit {
opacity: 0.3;
}
/*
* Tabs
*/
@ -174,6 +178,16 @@ div.LSaccessRightsMatrixView_tab_content h2 {
font-weight: normal;
}
#LSaccessRightsMatrixView_legend label {
display: block;
text-decoration: underline;
}
#LSaccessRightsMatrixView_legend p {
margin: 0;
margin-bottom: 0.3em;
}
/*
* Subtitle
*/

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: LdapSaisie\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2021-03-16 17:23+0100\n"
"PO-Revision-Date: 2021-03-16 17:50+0100\n"
"Last-Translator: Benjamin Renard <brenard@zionetrix.net>\n"
"Language-Team: LdapSaisie <ldapsaisie-users@lists.labs.libre-entreprise."
"org>\n"
@ -2492,8 +2492,8 @@ msgstr "Mme."
msgid "Mr."
msgstr "M."
#: templates/default/LSaccessRightsMatrixView.tpl:119
#: templates/default/LSaccessRightsMatrixView.tpl:153
#: templates/default/LSaccessRightsMatrixView.tpl:115
#: templates/default/LSaccessRightsMatrixView.tpl:155
msgid "Allowed"
msgstr "Autorisé"
@ -2513,16 +2513,16 @@ msgstr "Se connecter"
msgid "Connected as"
msgstr "Connecté en tant que"
#: templates/default/LSaccessRightsMatrixView.tpl:111
#: templates/default/LSaccessRightsMatrixView.tpl:107
msgid "Custom actions"
msgstr "Actions personnalisées"
#: templates/default/LSaccessRightsMatrixView.tpl:116
#: templates/default/LSaccessRightsMatrixView.tpl:150
#: templates/default/LSaccessRightsMatrixView.tpl:112
#: templates/default/LSaccessRightsMatrixView.tpl:152
msgid "Custom actions / Profiles"
msgstr "Actions personnalisées / Profils"
#: templates/default/LSaccessRightsMatrixView.tpl:145
#: templates/default/LSaccessRightsMatrixView.tpl:147
msgid "Custom search actions"
msgstr "Actions personnalisées sur les recherches"
@ -2570,9 +2570,9 @@ msgid "Language"
msgstr "Langue"
#: templates/default/LSaccessRightsMatrixView.tpl:20
#: templates/default/LSaccessRightsMatrixView.tpl:80
#: templates/default/LSaccessRightsMatrixView.tpl:118
#: templates/default/LSaccessRightsMatrixView.tpl:152
#: templates/default/LSaccessRightsMatrixView.tpl:65
#: templates/default/LSaccessRightsMatrixView.tpl:114
#: templates/default/LSaccessRightsMatrixView.tpl:154
msgid "Legend:"
msgstr "Légende :"
@ -2620,29 +2620,35 @@ msgstr "Mot de passe"
msgid "Please confirm new password:"
msgstr "Merci de confirmer le nouveau mot de passe :"
#: templates/default/LSaccessRightsMatrixView.tpl:21
#: templates/default/LSaccessRightsMatrixView.tpl:45
#: templates/default/LSaccessRightsMatrixView.tpl:61
#: templates/default/LSaccessRightsMatrixView.tpl:81
#: templates/default/LSaccessRightsMatrixView.tpl:97
#: templates/default/LSaccessRightsMatrixView.tpl:22
#: templates/default/LSaccessRightsMatrixView.tpl:27
#: templates/default/LSaccessRightsMatrixView.tpl:67
#: templates/default/LSaccessRightsMatrixView.tpl:72
#: templates/default/LSaccessRightsMatrixView.tpl:93
#: templates/default/LSaccessRightsMatrixView.tpl:95
#: templates/default/LSaccessRightsMatrixView_attr_row.tpl:10
#: templates/default/LSaccessRightsMatrixView_attr_row.tpl:12
msgid "R"
msgstr "L"
#: templates/default/LSaccessRightsMatrixView.tpl:23
#: templates/default/LSaccessRightsMatrixView.tpl:47
#: templates/default/LSaccessRightsMatrixView.tpl:63
#: templates/default/LSaccessRightsMatrixView.tpl:83
#: templates/default/LSaccessRightsMatrixView.tpl:99
#: templates/default/LSaccessRightsMatrixView.tpl:24
#: templates/default/LSaccessRightsMatrixView.tpl:28
#: templates/default/LSaccessRightsMatrixView.tpl:69
#: templates/default/LSaccessRightsMatrixView.tpl:73
#: templates/default/LSaccessRightsMatrixView.tpl:89
#: templates/default/LSaccessRightsMatrixView.tpl:91
#: templates/default/LSaccessRightsMatrixView_attr_row.tpl:6
#: templates/default/LSaccessRightsMatrixView_attr_row.tpl:8
msgid "R/W"
msgstr "L/É"
#: templates/default/LSaccessRightsMatrixView.tpl:21
#: templates/default/LSaccessRightsMatrixView.tpl:81
#: templates/default/LSaccessRightsMatrixView.tpl:22
#: templates/default/LSaccessRightsMatrixView.tpl:67
msgid "Readable"
msgstr "Lecture"
#: templates/default/LSaccessRightsMatrixView.tpl:23
#: templates/default/LSaccessRightsMatrixView.tpl:83
#: templates/default/LSaccessRightsMatrixView.tpl:24
#: templates/default/LSaccessRightsMatrixView.tpl:69
msgid "Readable / Writable"
msgstr "Lecture / Écriture"
@ -2650,7 +2656,7 @@ msgstr "Lecture / Écriture"
msgid "Refresh my access rights"
msgstr "Rafraîchir mes droits d'accès"
#: templates/default/LSaccessRightsMatrixView.tpl:78
#: templates/default/LSaccessRightsMatrixView.tpl:63
msgid "Relations / Profiles"
msgstr "Relations / Profils"
@ -2658,6 +2664,13 @@ msgstr "Relations / Profils"
msgid "Result"
msgstr "Résultat"
#: templates/default/LSaccessRightsMatrixView.tpl:29
#: templates/default/LSaccessRightsMatrixView.tpl:74
#: templates/default/LSaccessRightsMatrixView.tpl:118
#: templates/default/LSaccessRightsMatrixView.tpl:158
msgid "Right inherited from all connected users profile"
msgstr "Droit hérité du profile \"Tous les utilisateurs connectés\""
#: templates/default/base_connected.tpl:6
msgid "Show/hide menu"
msgstr "Afficher/cacher le menu"
@ -2666,21 +2679,21 @@ msgstr "Afficher/cacher le menu"
msgid "Subject"
msgstr "Sujet"
#: templates/default/LSaccessRightsMatrixView.tpl:73
#: templates/default/LSaccessRightsMatrixView.tpl:58
msgid "Their relations with other objects"
msgstr "Leurs relations avec les autres objets"
#: templates/default/LSaccessRightsMatrixView.tpl:142
#: templates/default/LSaccessRightsMatrixView.tpl:144
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:176
#: templates/default/LSaccessRightsMatrixView.tpl:184
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:108
#: templates/default/LSaccessRightsMatrixView.tpl:104
msgid "This object type has no configured relation."
msgstr "Ce type d'objet n'a aucune relation de configurée."

View file

@ -2134,8 +2134,8 @@ msgstr ""
msgid "Mr."
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:119
#: templates/default/LSaccessRightsMatrixView.tpl:153
#: templates/default/LSaccessRightsMatrixView.tpl:115
#: templates/default/LSaccessRightsMatrixView.tpl:155
msgid "Allowed"
msgstr ""
@ -2155,16 +2155,16 @@ msgstr ""
msgid "Connected as"
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:111
#: templates/default/LSaccessRightsMatrixView.tpl:107
msgid "Custom actions"
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:116
#: templates/default/LSaccessRightsMatrixView.tpl:150
#: templates/default/LSaccessRightsMatrixView.tpl:112
#: templates/default/LSaccessRightsMatrixView.tpl:152
msgid "Custom actions / Profiles"
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:145
#: templates/default/LSaccessRightsMatrixView.tpl:147
msgid "Custom search actions"
msgstr ""
@ -2212,9 +2212,9 @@ msgid "Language"
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:20
#: templates/default/LSaccessRightsMatrixView.tpl:80
#: templates/default/LSaccessRightsMatrixView.tpl:118
#: templates/default/LSaccessRightsMatrixView.tpl:152
#: templates/default/LSaccessRightsMatrixView.tpl:65
#: templates/default/LSaccessRightsMatrixView.tpl:114
#: templates/default/LSaccessRightsMatrixView.tpl:154
msgid "Legend:"
msgstr ""
@ -2262,29 +2262,35 @@ msgstr ""
msgid "Please confirm new password:"
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:21
#: templates/default/LSaccessRightsMatrixView.tpl:45
#: templates/default/LSaccessRightsMatrixView.tpl:61
#: templates/default/LSaccessRightsMatrixView.tpl:81
#: templates/default/LSaccessRightsMatrixView.tpl:97
#: templates/default/LSaccessRightsMatrixView.tpl:22
#: templates/default/LSaccessRightsMatrixView.tpl:27
#: templates/default/LSaccessRightsMatrixView.tpl:67
#: templates/default/LSaccessRightsMatrixView.tpl:72
#: templates/default/LSaccessRightsMatrixView.tpl:93
#: templates/default/LSaccessRightsMatrixView.tpl:95
#: templates/default/LSaccessRightsMatrixView_attr_row.tpl:10
#: templates/default/LSaccessRightsMatrixView_attr_row.tpl:12
msgid "R"
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:23
#: templates/default/LSaccessRightsMatrixView.tpl:47
#: templates/default/LSaccessRightsMatrixView.tpl:63
#: templates/default/LSaccessRightsMatrixView.tpl:83
#: templates/default/LSaccessRightsMatrixView.tpl:99
#: templates/default/LSaccessRightsMatrixView.tpl:24
#: templates/default/LSaccessRightsMatrixView.tpl:28
#: templates/default/LSaccessRightsMatrixView.tpl:69
#: templates/default/LSaccessRightsMatrixView.tpl:73
#: templates/default/LSaccessRightsMatrixView.tpl:89
#: templates/default/LSaccessRightsMatrixView.tpl:91
#: templates/default/LSaccessRightsMatrixView_attr_row.tpl:6
#: templates/default/LSaccessRightsMatrixView_attr_row.tpl:8
msgid "R/W"
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:21
#: templates/default/LSaccessRightsMatrixView.tpl:81
#: templates/default/LSaccessRightsMatrixView.tpl:22
#: templates/default/LSaccessRightsMatrixView.tpl:67
msgid "Readable"
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:23
#: templates/default/LSaccessRightsMatrixView.tpl:83
#: templates/default/LSaccessRightsMatrixView.tpl:24
#: templates/default/LSaccessRightsMatrixView.tpl:69
msgid "Readable / Writable"
msgstr ""
@ -2292,7 +2298,7 @@ msgstr ""
msgid "Refresh my access rights"
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:78
#: templates/default/LSaccessRightsMatrixView.tpl:63
msgid "Relations / Profiles"
msgstr ""
@ -2300,6 +2306,13 @@ msgstr ""
msgid "Result"
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:29
#: templates/default/LSaccessRightsMatrixView.tpl:74
#: templates/default/LSaccessRightsMatrixView.tpl:118
#: templates/default/LSaccessRightsMatrixView.tpl:158
msgid "Right inherited from all connected users profile"
msgstr ""
#: templates/default/base_connected.tpl:6
msgid "Show/hide menu"
msgstr ""
@ -2308,19 +2321,19 @@ msgstr ""
msgid "Subject"
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:73
#: templates/default/LSaccessRightsMatrixView.tpl:58
msgid "Their relations with other objects"
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:142
#: templates/default/LSaccessRightsMatrixView.tpl:144
msgid "This object type has no configured custom action."
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:176
#: templates/default/LSaccessRightsMatrixView.tpl:184
msgid "This object type has no configured custom search action."
msgstr ""
#: templates/default/LSaccessRightsMatrixView.tpl:108
#: templates/default/LSaccessRightsMatrixView.tpl:104
msgid "This object type has no configured relation."
msgstr ""

View file

@ -17,10 +17,17 @@
<th>
{tr msg="Attributes / Profiles"}
<div id="LSaccessRightsMatrixView_legend">
<label>{tr msg="Legend:"}</label>
<span class='LSaccessRightsMatrixView_readable'>{tr msg="R"}</span> = {tr msg="Readable"}
|
<span class='LSaccessRightsMatrixView_writable'>{tr msg="R/W"}</span> = {tr msg="Readable / Writable"}
<p><label>{tr msg="Legend:"}</label></p>
<p>
<span class='LSaccessRightsMatrixView_readable'>{tr msg="R"}</span> = {tr msg="Readable"}
|
<span class='LSaccessRightsMatrixView_writable'>{tr msg="R/W"}</span> = {tr msg="Readable / Writable"}
</p>
<p>
<span class='LSaccessRightsMatrixView_readable LSaccessRightsMatrixView_inherit'>{tr msg="R"}</span> /
<span class='LSaccessRightsMatrixView_writable LSaccessRightsMatrixView_inherit'>{tr msg="R/W"}</span>
= {tr msg="Right inherited from all connected users profile"}
</p>
</div>
</th>
{foreach $LSprofiles as $name => $label}
@ -37,34 +44,12 @@
{foreach $tab.attrs as $name}
{if !isset($LSobjects[$LSobject]['attrs'][$name])}{continue}{/if}
{assign var=conf value=$LSobjects[$LSobject]['attrs'][$name]}
<tr>
<th class="row-header">{$conf.label} <img class='LStips' src="{img name='help'}" alt='?' title='{$name|escape:'htmlall'}'/></th>
{foreach $LSprofiles as $profil => $profil_label}
<td class='LStips' title="{if $profil != $profil_label}{$profil_label} ({$profil}){else}{$profil}{/if}">
{if $conf.rights[$profil] == 'r'}
<span class='LSaccessRightsMatrixView_readable'>{tr msg="R"}</span>
{elseif $conf.rights[$profil] == 'w'}
<span class='LSaccessRightsMatrixView_writable'>{tr msg="R/W"}</span>
{/if}
</td>
{/foreach}
</tr>
{include file='ls:LSaccessRightsMatrixView_attr_row.tpl'}
{/foreach}
{/foreach}
{else}
{foreach $LSobjects[$LSobject]['attrs'] as $name => $conf}
<tr>
<th class="row-header">{$conf.label} <img class='LStips' src="{img name='help'}" alt='?' title='{$name|escape:'htmlall'}'/></th>
{foreach $LSprofiles as $profil => $profil_label}
<td class='LStips' title="{if $profil != $profil_label}{$profil_label} ({$profil}){else}{$profil}{/if}">
{if $conf.rights[$profil] == 'r'}
<span class='LSaccessRightsMatrixView_readable'>{tr msg="R"}</span>
{elseif $conf.rights[$profil] == 'w'}
<span class='LSaccessRightsMatrixView_writable'>{tr msg="R/W"}</span>
{/if}
</td>
{/foreach}
</tr>
{include file='ls:LSaccessRightsMatrixView_attr_row.tpl'}
{/foreach}
{/if}
</tbody>
@ -77,10 +62,17 @@
<th>
{tr msg="Relations / Profiles"}
<div id="LSaccessRightsMatrixView_legend">
<label>{tr msg="Legend:"}</label>
<span class='LSaccessRightsMatrixView_readable'>{tr msg="R"}</span> = {tr msg="Readable"}
|
<span class='LSaccessRightsMatrixView_writable'>{tr msg="R/W"}</span> = {tr msg="Readable / Writable"}
<p><label>{tr msg="Legend:"}</label></p>
<p>
<span class='LSaccessRightsMatrixView_readable'>{tr msg="R"}</span> = {tr msg="Readable"}
|
<span class='LSaccessRightsMatrixView_writable'>{tr msg="R/W"}</span> = {tr msg="Readable / Writable"}
</p>
<p>
<span class='LSaccessRightsMatrixView_readable LSaccessRightsMatrixView_inherit'>{tr msg="R"}</span> /
<span class='LSaccessRightsMatrixView_writable LSaccessRightsMatrixView_inherit'>{tr msg="R/W"}</span>
= {tr msg="Right inherited from all connected users profile"}
</p>
</div>
</th>
{foreach $LSprofiles as $name => $label}
@ -93,10 +85,14 @@
<th class="row-header">{$conf.label} <img class='LStips' src="{img name='help'}" alt='?' title='{$name|escape:'htmlall'}'/></th>
{foreach $LSprofiles as $profil => $profil_label}
<td class='LStips' title="{if $profil != $profil_label}{$profil_label} ({$profil}){else}{$profil}{/if}">
{if $conf.rights[$profil] == 'r'}
<span class='LSaccessRightsMatrixView_readable'>{tr msg="R"}</span>
{elseif $conf.rights[$profil] == 'w'}
{if $conf.rights[$profil] == 'w'}
<span class='LSaccessRightsMatrixView_writable'>{tr msg="R/W"}</span>
{elseif $profil != 'user' && $conf.rights['user'] == 'w'}
<span class='LSaccessRightsMatrixView_writable LSaccessRightsMatrixView_inherit'>{tr msg="R/W"}</span>
{elseif $conf.rights[$profil] == 'r'}
<span class='LSaccessRightsMatrixView_readable'>{tr msg="R"}</span>
{elseif $profil != 'user' && $conf.rights['user'] == 'r'}
<span class='LSaccessRightsMatrixView_readable LSaccessRightsMatrixView_inherit'>{tr msg="R"}</span>
{/if}
</td>
{/foreach}
@ -115,8 +111,12 @@
<th>
{tr msg="Custom actions / Profiles"}
<div id="LSaccessRightsMatrixView_legend">
<label>{tr msg="Legend:"}</label>
<span class='LSaccessRightsMatrixView_allowed'>X</span> = {tr msg="Allowed"}
<p><label>{tr msg="Legend:"}</label></p>
<p><span class='LSaccessRightsMatrixView_allowed'>X</span> = {tr msg="Allowed"}</p>
<p>
<span class='LSaccessRightsMatrixView_allowed LSaccessRightsMatrixView_inherit'>X</span>
= {tr msg="Right inherited from all connected users profile"}
</p>
</div>
</th>
{foreach $LSprofiles as $name => $label}
@ -131,6 +131,8 @@
<td class='LStips' title="{if $profil != $profil_label}{$profil_label} ({$profil}){else}{$profil}{/if}">
{if $conf.rights[$profil]}
<span class='LSaccessRightsMatrixView_allowed'>X</span>
{elseif $profil != 'user' && $conf.rights['user']}
<span class='LSaccessRightsMatrixView_allowed LSaccessRightsMatrixView_inherit'>X</span>
{/if}
</td>
{/foreach}
@ -149,8 +151,12 @@
<th>
{tr msg="Custom actions / Profiles"}
<div id="LSaccessRightsMatrixView_legend">
<label>{tr msg="Legend:"}</label>
<span class='LSaccessRightsMatrixView_allowed'>X</span> = {tr msg="Allowed"}
<p><label>{tr msg="Legend:"}</label></p>
<p><span class='LSaccessRightsMatrixView_allowed'>X</span> = {tr msg="Allowed"}</p>
<p>
<span class='LSaccessRightsMatrixView_allowed LSaccessRightsMatrixView_inherit'>X</span>
= {tr msg="Right inherited from all connected users profile"}
</p>
</div>
</th>
{foreach $LSprofiles as $name => $label}
@ -165,6 +171,8 @@
<td class='LStips' title="{if $profil != $profil_label}{$profil_label} ({$profil}){else}{$profil}{/if}">
{if $conf.rights[$profil]}
<span class='LSaccessRightsMatrixView_allowed'>X</span>
{elseif $profil != 'user' && $conf.rights['user']}
<span class='LSaccessRightsMatrixView_allowed LSaccessRightsMatrixView_inherit'>X</span>
{/if}
</td>
{/foreach}

View file

@ -0,0 +1,16 @@
<tr>
<th class="row-header">{$conf.label} <img class='LStips' src="{img name='help'}" alt='?' title='{$name|escape:'htmlall'}'/></th>
{foreach $LSprofiles as $profil => $profil_label}
<td class='LStips' title="{if $profil != $profil_label}{$profil_label} ({$profil}){else}{$profil}{/if}">
{if $conf.rights[$profil] == 'w'}
<span class='LSaccessRightsMatrixView_writable'>{tr msg="R/W"}</span>
{elseif $profil != 'user' && $conf.rights['user'] == 'w'}
<span class='LSaccessRightsMatrixView_writable LSaccessRightsMatrixView_inherit'>{tr msg="R/W"}</span>
{elseif $conf.rights[$profil] == 'r'}
<span class='LSaccessRightsMatrixView_readable'>{tr msg="R"}</span>
{elseif $profil != 'user' && $conf.rights['user'] == 'r'}
<span class='LSaccessRightsMatrixView_readable LSaccessRightsMatrixView_inherit'>{tr msg="R"}</span>
{/if}
</td>
{/foreach}
</tr>