# HG changeset patch # User Thierry Florac # Date 1444289955 -7200 # Node ID 5713898178f3ea52e68b8a14bc1f473bc0f725a7 # Parent 59683c264d94f8391f72252172e6cac603cd29f6 Version 0.1.2 diff -r 59683c264d94 -r 5713898178f3 .installed.cfg --- a/.installed.cfg Thu Oct 08 09:31:45 2015 +0200 +++ b/.installed.cfg Thu Oct 08 09:39:15 2015 +0200 @@ -1,31 +1,6 @@ [buildout] -installed_develop_eggs = -parts = package i18n pyflakes test - -[package] -__buildout_installed__ = /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/pserve - /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/pshell - /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/ptweens - /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/pcreate - /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/proutes - /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/pdistreport - /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/prequest - /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/pviews - /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/zpasswd -__buildout_signature__ = zc.recipe.egg-2.0.1-py3.4.egg setuptools-12.3-py3.4.egg zc.buildout-2.3.1-py3.4.egg -_b = /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin -_d = /home/tflorac/Dropbox/src/PyAMS/pyams_security/develop-eggs -_e = /var/local/env/pyams/eggs -bin-directory = /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin -develop-eggs-directory = /home/tflorac/Dropbox/src/PyAMS/pyams_security/develop-eggs -eggs = authomatic - pyams_security - pyramid - zope.component - zope.interface - zope.password -eggs-directory = /var/local/env/pyams/eggs -recipe = zc.recipe.egg +installed_develop_eggs = /home/tflorac/Dropbox/src/PyAMS/pyams_security/develop-eggs/pyams-file.egg-link +parts = i18n pyflakes test package [i18n] __buildout_installed__ = /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/pybabel @@ -72,3 +47,37 @@ location = /home/tflorac/Dropbox/src/PyAMS/pyams_security/parts/test recipe = zc.recipe.testrunner script = /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/test + +[package] +__buildout_installed__ = /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/pdistreport + /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/pcreate + /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/pserve + /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/prequest + /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/pshell + /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/ptweens + /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/proutes + /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/pviews + /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin/zpasswd +__buildout_signature__ = zc.recipe.egg-2.0.1-py3.4.egg setuptools-12.3-py3.4.egg zc.buildout-2.3.1-py3.4.egg +_b = /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin +_d = /home/tflorac/Dropbox/src/PyAMS/pyams_security/develop-eggs +_e = /var/local/env/pyams/eggs +bin-directory = /home/tflorac/Dropbox/src/PyAMS/pyams_security/bin +develop-eggs-directory = /home/tflorac/Dropbox/src/PyAMS/pyams_security/develop-eggs +eggs = authomatic + pyams_security + pyramid + zope.component + zope.interface + zope.password +eggs-directory = /var/local/env/pyams/eggs +recipe = zc.recipe.egg + +[buildout] +parts = pyflakes test package i18n + +[buildout] +parts = test package i18n pyflakes + +[buildout] +parts = package i18n pyflakes test diff -r 59683c264d94 -r 5713898178f3 buildout.cfg --- a/buildout.cfg Thu Oct 08 09:31:45 2015 +0200 +++ b/buildout.cfg Thu Oct 08 09:39:15 2015 +0200 @@ -19,6 +19,7 @@ src = src develop = . + /var/local/src/pyams/pyams_file /var/local/src/pyams/pyams_utils /var/local/src/pyams/ext/lingua @@ -61,4 +62,4 @@ eggs = pyams_security [test] [versions] -pyams_security = 0.1.1 +pyams_security = 0.1.2 diff -r 59683c264d94 -r 5713898178f3 docs/HISTORY.txt --- a/docs/HISTORY.txt Thu Oct 08 09:31:45 2015 +0200 +++ b/docs/HISTORY.txt Thu Oct 08 09:39:15 2015 +0200 @@ -0,0 +1,17 @@ +History +======= + +0.1.2 +----- + - changed menus icon class + - use named permissions + +0.1.1 +----- + - changed vocabulary interface provider + - added properties to security manager to correctly handle denied permissions + - handle recursivity in groups + +0.1.0 +----- + - initial release diff -r 59683c264d94 -r 5713898178f3 setup.py --- a/setup.py Thu Oct 08 09:31:45 2015 +0200 +++ b/setup.py Thu Oct 08 09:39:15 2015 +0200 @@ -22,7 +22,7 @@ README = os.path.join(DOCS, 'README.txt') HISTORY = os.path.join(DOCS, 'HISTORY.txt') -version = '0.1.1' +version = '0.1.2' long_description = open(README).read() + '\n\n' + open(HISTORY).read() tests_require = [] @@ -58,6 +58,7 @@ # -*- Extra requirements: -*- 'authomatic', 'fanstatic', + 'pyams_file', 'pyramid', 'zope.component', 'zope.interface', diff -r 59683c264d94 -r 5713898178f3 src/pyams_security.egg-info/PKG-INFO --- a/src/pyams_security.egg-info/PKG-INFO Thu Oct 08 09:31:45 2015 +0200 +++ b/src/pyams_security.egg-info/PKG-INFO Thu Oct 08 09:39:15 2015 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: pyams-security -Version: 0.1.1 +Version: 0.1.2 Summary: PyAMS security interfaces and classes Home-page: http://hg.ztfy.org/pyams/pyams_security Author: Thierry Florac @@ -103,6 +103,22 @@ si l'inscription "libre" est autorisée + History + ======= + + 0.1.2 + ----- + - changed menus icon class + + 0.1.1 + ----- + - changed vocabulary interface provider + - added properties to security manager to correctly handle denied permissions + - handle recursivity in groups + + 0.1.0 + ----- + - initial release Keywords: Pyramid PyAMS security authentication Platform: UNKNOWN diff -r 59683c264d94 -r 5713898178f3 src/pyams_security.egg-info/SOURCES.txt --- a/src/pyams_security.egg-info/SOURCES.txt Thu Oct 08 09:31:45 2015 +0200 +++ b/src/pyams_security.egg-info/SOURCES.txt Thu Oct 08 09:39:15 2015 +0200 @@ -10,6 +10,7 @@ src/pyams_security/notification.py src/pyams_security/permission.py src/pyams_security/principal.py +src/pyams_security/profile.py src/pyams_security/property.py src/pyams_security/role.py src/pyams_security/schema.py @@ -28,6 +29,7 @@ src/pyams_security/doctests/README.txt src/pyams_security/interfaces/__init__.py src/pyams_security/interfaces/notification.py +src/pyams_security/interfaces/profile.py src/pyams_security/locales/pyams_security.pot src/pyams_security/locales/fr/LC_MESSAGES/pyams_security.mo src/pyams_security/locales/fr/LC_MESSAGES/pyams_security.po @@ -78,6 +80,7 @@ src/pyams_security/views/oauth.py src/pyams_security/views/userfolder.py src/pyams_security/views/utility.py +src/pyams_security/views/templates/login-header.pt src/pyams_security/views/templates/social-login.pt src/pyams_security/views/templates/user-registration-end.pt src/pyams_security/views/templates/user-registration.pt @@ -88,12 +91,14 @@ src/pyams_security/widget/templates/permissions-set-display.pt src/pyams_security/widget/templates/permissions-set-input.pt src/pyams_security/widget/templates/principal-display.pt +src/pyams_security/widget/templates/principal-hidden.pt src/pyams_security/widget/templates/principal-input.pt src/pyams_security/widget/templates/principals-set-display.pt src/pyams_security/widget/templates/principals-set-input.pt src/pyams_security/zmi/__init__.py src/pyams_security/zmi/interfaces.py src/pyams_security/zmi/notification.py +src/pyams_security/zmi/profile.py src/pyams_security/zmi/security.py src/pyams_security/zmi/utility.py src/pyams_security/zmi/plugin/__init__.py diff -r 59683c264d94 -r 5713898178f3 src/pyams_security.egg-info/requires.txt --- a/src/pyams_security.egg-info/requires.txt Thu Oct 08 09:31:45 2015 +0200 +++ b/src/pyams_security.egg-info/requires.txt Thu Oct 08 09:39:15 2015 +0200 @@ -1,6 +1,7 @@ setuptools authomatic fanstatic +pyams_file pyramid zope.component zope.interface diff -r 59683c264d94 -r 5713898178f3 src/pyams_security/interfaces/__init__.py --- a/src/pyams_security/interfaces/__init__.py Thu Oct 08 09:31:45 2015 +0200 +++ b/src/pyams_security/interfaces/__init__.py Thu Oct 08 09:39:15 2015 +0200 @@ -33,7 +33,9 @@ from pyams_security import _ -FORBIDDEN_PERMISSION = 'system.forbidden' +# +# Permissions constants and interfaces +# class IPermission(Interface): diff -r 59683c264d94 -r 5713898178f3 src/pyams_security/locales/fr/LC_MESSAGES/pyams_security.mo Binary file src/pyams_security/locales/fr/LC_MESSAGES/pyams_security.mo has changed diff -r 59683c264d94 -r 5713898178f3 src/pyams_security/locales/fr/LC_MESSAGES/pyams_security.po --- a/src/pyams_security/locales/fr/LC_MESSAGES/pyams_security.po Thu Oct 08 09:31:45 2015 +0200 +++ b/src/pyams_security/locales/fr/LC_MESSAGES/pyams_security.po Thu Oct 08 09:39:15 2015 +0200 @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE 1.0\n" -"POT-Creation-Date: 2015-06-01 14:47+0200\n" +"POT-Creation-Date: 2015-09-25 16:58+0200\n" "PO-Revision-Date: 2015-02-18 22:19+0100\n" "Last-Translator: Thierry Florac \n" "Language-Team: French\n" @@ -16,35 +16,35 @@ "Generated-By: Lingua 3.8\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: src/pyams_security/__init__.py:33 +#: src/pyams_security/__init__.py:36 msgid "View public contents" msgstr "Voir les contenus publics" -#: src/pyams_security/__init__.py:35 +#: src/pyams_security/__init__.py:38 msgid "View protected contents" msgstr "Voir les contenus protégés" -#: src/pyams_security/__init__.py:37 +#: src/pyams_security/__init__.py:40 msgid "Manage contents properties" msgstr "Gérer les propriétés des contenus" -#: src/pyams_security/__init__.py:39 +#: src/pyams_security/__init__.py:42 msgid "View management screens" msgstr "Voir les propriétés du système" -#: src/pyams_security/__init__.py:41 +#: src/pyams_security/__init__.py:44 msgid "Manage system properties" msgstr "Gérer les propriétés du système" -#: src/pyams_security/__init__.py:44 +#: src/pyams_security/__init__.py:47 msgid "Manage security" msgstr "Gérer les paramètres de sécurité" -#: src/pyams_security/__init__.py:46 +#: src/pyams_security/__init__.py:49 msgid "Manage roles" msgstr "Gérer l'attribution des rôles" -#: src/pyams_security/principal.py:53 +#: src/pyams_security/principal.py:57 msgid "Not logged in" msgstr "Non connecté" @@ -59,56 +59,58 @@ msgid "Select permissions..." msgstr "Sélectionner des permissions..." -#: src/pyams_security/zmi/utility.py:75 +#: src/pyams_security/zmi/utility.py:77 msgid "Security" msgstr "Sécurité" -#: src/pyams_security/zmi/utility.py:84 +#: src/pyams_security/zmi/utility.py:86 msgid "Authentication and users directory plug-ins" msgstr "Modules d'authentification et dossiers utilisateurs" -#: src/pyams_security/zmi/utility.py:104 +#: src/pyams_security/zmi/utility.py:106 msgid "See plug-in contents" msgstr "Voir le contenu du module" -#: src/pyams_security/zmi/utility.py:119 -#: src/pyams_security/zmi/plugin/social.py:195 -#: src/pyams_security/zmi/plugin/social.py:328 -#: src/pyams_security/zmi/plugin/userfolder.py:192 -#: src/pyams_security/zmi/plugin/group.py:159 -#: src/pyams_security/interfaces/__init__.py:246 +#: src/pyams_security/zmi/utility.py:121 +#: src/pyams_security/zmi/plugin/social.py:198 +#: src/pyams_security/zmi/plugin/social.py:331 +#: src/pyams_security/zmi/plugin/userfolder.py:193 +#: src/pyams_security/zmi/plugin/group.py:161 +#: src/pyams_security/interfaces/__init__.py:251 msgid "Name" msgstr "Nom" -#: src/pyams_security/zmi/utility.py:128 +#: src/pyams_security/zmi/utility.py:130 msgid "Delete plug-in" msgstr "Supprimer ce module" +#: src/pyams_security/zmi/utility.py:161 +msgid "Control panel" +msgstr "Panneau de configuration" + #: src/pyams_security/zmi/utility.py:162 -#: src/pyams_security/zmi/plugin/social.py:370 -#: src/pyams_security/zmi/plugin/social.py:388 -#: src/pyams_security/zmi/plugin/social.py:443 +#: src/pyams_security/zmi/plugin/social.py:373 +#: src/pyams_security/zmi/plugin/social.py:391 +#: src/pyams_security/zmi/plugin/social.py:446 +#: src/pyams_security/zmi/plugin/userfolder.py:157 +#: src/pyams_security/zmi/plugin/group.py:196 msgid "Security manager" msgstr "Gestionnaire de sécurité" -#: src/pyams_security/zmi/utility.py:163 -msgid "Security manager plug-ins" -msgstr "Modules du gestionnaire de sécurité" - -#: src/pyams_security/zmi/utility.py:171 +#: src/pyams_security/zmi/utility.py:170 msgid "Properties..." msgstr "Propriétés..." -#: src/pyams_security/zmi/utility.py:184 -#: src/pyams_security/zmi/notification.py:58 -#: src/pyams_security/zmi/plugin/social.py:79 -#: src/pyams_security/zmi/plugin/userfolder.py:76 -#: src/pyams_security/zmi/plugin/group.py:72 -#: src/pyams_security/zmi/plugin/admin.py:63 +#: src/pyams_security/zmi/utility.py:183 +#: src/pyams_security/zmi/notification.py:60 +#: src/pyams_security/zmi/plugin/social.py:81 +#: src/pyams_security/zmi/plugin/userfolder.py:78 +#: src/pyams_security/zmi/plugin/group.py:74 +#: src/pyams_security/zmi/plugin/admin.py:65 msgid "System security manager" msgstr "Gestionnaire de sécurité" -#: src/pyams_security/zmi/utility.py:185 +#: src/pyams_security/zmi/utility.py:184 msgid "Security manager properties" msgstr "Propriétés du gestionnaire de sécurité" @@ -117,12 +119,12 @@ msgstr "Modules" #: src/pyams_security/zmi/utility.py:207 -#: src/pyams_security/interfaces/__init__.py:552 +#: src/pyams_security/interfaces/__init__.py:557 msgid "Enable social login?" msgstr "Activer les réseaux sociaux ?" #: src/pyams_security/zmi/utility.py:214 -#: src/pyams_security/interfaces/__init__.py:576 +#: src/pyams_security/interfaces/__init__.py:581 msgid "Enable free registration?" msgstr "Activer l'inscription libre ?" @@ -134,240 +136,247 @@ msgid "Given plug-in name doesn't exist!" msgstr "Le module indiqué n'existe pas !" -#: src/pyams_security/zmi/notification.py:45 +#: src/pyams_security/zmi/notification.py:46 msgid "Notifications..." msgstr "Notifications..." -#: src/pyams_security/zmi/notification.py:59 +#: src/pyams_security/zmi/notification.py:61 msgid "Notifications properties" msgstr "Paramétrage des notifications" -#: src/pyams_security/zmi/security.py:46 -msgid "Access rules..." -msgstr "Règles d'accès..." +#: src/pyams_security/zmi/profile.py:42 +msgid "User profile" +msgstr "Profil utilisateur" + +#: src/pyams_security/zmi/profile.py:54 +msgid "Edit user profile" +msgstr "Modification du profil utilisateur" -#: src/pyams_security/zmi/security.py:71 -msgid "Security management" -msgstr "Paramètres de sécurité" +#: src/pyams_security/zmi/profile.py:78 +msgid "Public profile" +msgstr "Profil public" -#: src/pyams_security/zmi/security.py:93 -msgid "Granted roles" +#: src/pyams_security/zmi/security.py:58 +msgid "Access rules" +msgstr "Droits d'accès" + +#: src/pyams_security/zmi/security.py:70 +msgid "Granted users roles" msgstr "Affectation des rôles" -#: src/pyams_security/zmi/security.py:83 src/pyams_security/zmi/security.py:84 -msgid "(inherit from parent)" -msgstr "(héritée du parent)" +#: src/pyams_security/zmi/security.py:117 +msgid "Security policy..." +msgstr "Politique de sécurité..." -#: src/pyams_security/zmi/plugin/social.py:68 +#: src/pyams_security/zmi/security.py:128 +msgid "Update security policy" +msgstr "Mise à jour de la politique de sécurité" + +#: src/pyams_security/zmi/plugin/social.py:70 msgid "Add social users folder..." msgstr "Ajouter un dossier pour les réseaux sociaux..." -#: src/pyams_security/zmi/plugin/social.py:80 +#: src/pyams_security/zmi/plugin/social.py:82 msgid "Add social users folder plug-in" msgstr "Ajout d'un dossier pour les réseaux sociaux" -#: src/pyams_security/zmi/plugin/social.py:122 +#: src/pyams_security/zmi/plugin/social.py:124 msgid "Edit social users folder plug-in properties" msgstr "Modification d'un dossier pour les réseaux sociaux" -#: src/pyams_security/zmi/plugin/social.py:163 -#: src/pyams_security/zmi/plugin/userfolder.py:160 +#: src/pyams_security/zmi/plugin/social.py:166 msgid "Search users" msgstr "Rechercher des utilisateurs" -#: src/pyams_security/zmi/plugin/social.py:172 -#: src/pyams_security/zmi/plugin/userfolder.py:169 +#: src/pyams_security/zmi/plugin/social.py:175 +#: src/pyams_security/zmi/plugin/userfolder.py:170 msgid "Search results" msgstr "Résultats de la recherche" -#: src/pyams_security/zmi/plugin/social.py:185 +#: src/pyams_security/zmi/plugin/social.py:188 msgid "User ID" msgstr "ID utilisateur" -#: src/pyams_security/zmi/plugin/social.py:205 -#: src/pyams_security/zmi/plugin/userfolder.py:202 -#: src/pyams_security/interfaces/__init__.py:257 -#: src/pyams_security/interfaces/__init__.py:333 +#: src/pyams_security/zmi/plugin/social.py:208 +#: src/pyams_security/zmi/plugin/userfolder.py:203 +#: src/pyams_security/interfaces/__init__.py:262 +#: src/pyams_security/interfaces/__init__.py:338 msgid "E-mail address" msgstr "Adresse de messagerie" -#: src/pyams_security/zmi/plugin/social.py:215 -#: src/pyams_security/interfaces/__init__.py:241 +#: src/pyams_security/zmi/plugin/social.py:218 +#: src/pyams_security/interfaces/__init__.py:246 msgid "OAuth provider name" msgstr "Nom du fournisseur" -#: src/pyams_security/zmi/plugin/social.py:225 -#: src/pyams_security/zmi/plugin/userfolder.py:212 -#: src/pyams_security/interfaces/__init__.py:281 +#: src/pyams_security/zmi/plugin/social.py:228 +#: src/pyams_security/zmi/plugin/userfolder.py:213 +#: src/pyams_security/interfaces/__init__.py:286 msgid "Registration date" msgstr "Date d'enregistrement" -#: src/pyams_security/zmi/plugin/social.py:248 -#: src/pyams_security/zmi/plugin/userfolder.py:333 +#: src/pyams_security/zmi/plugin/social.py:251 +#: src/pyams_security/zmi/plugin/userfolder.py:335 msgid "Edit user properties" msgstr "Modification des propriétés d'un utilisateur" -#: src/pyams_security/zmi/plugin/social.py:280 +#: src/pyams_security/zmi/plugin/social.py:283 msgid "Social networks login" msgstr "Connexions aux réseaux sociaux" -#: src/pyams_security/zmi/plugin/social.py:288 +#: src/pyams_security/zmi/plugin/social.py:291 msgid "Configured social networks login providers" msgstr "Connecteurs d'accès aux réseaux sociaux" -#: src/pyams_security/zmi/plugin/social.py:318 +#: src/pyams_security/zmi/plugin/social.py:321 msgid "ID" msgstr "ID" -#: src/pyams_security/zmi/plugin/social.py:337 +#: src/pyams_security/zmi/plugin/social.py:340 msgid "Delete provider" msgstr "Supprimer ce connecteur" -#: src/pyams_security/zmi/plugin/social.py:371 +#: src/pyams_security/zmi/plugin/social.py:374 msgid "Social networks login providers" msgstr "Accès aux réseaux sociaux" -#: src/pyams_security/zmi/plugin/social.py:379 +#: src/pyams_security/zmi/plugin/social.py:382 msgid "Add provider" msgstr "Ajouter un connecteur" -#: src/pyams_security/zmi/plugin/social.py:389 +#: src/pyams_security/zmi/plugin/social.py:392 msgid "Add new social login provider" msgstr "Ajout d'un nouveau connecteur" -#: src/pyams_security/zmi/plugin/social.py:444 +#: src/pyams_security/zmi/plugin/social.py:447 msgid "Edit social login provider properties" msgstr "Modification d'un connecteur" -#: src/pyams_security/zmi/plugin/social.py:104 -#: src/pyams_security/zmi/plugin/userfolder.py:101 -#: src/pyams_security/zmi/plugin/group.py:97 -#: src/pyams_security/zmi/plugin/admin.py:89 +#: src/pyams_security/zmi/plugin/social.py:106 +#: src/pyams_security/zmi/plugin/userfolder.py:103 +#: src/pyams_security/zmi/plugin/group.py:99 +#: src/pyams_security/zmi/plugin/admin.py:91 msgid "Specified prefix is already used!" msgstr "Ce préfixe est déjà utilisé !" -#: src/pyams_security/zmi/plugin/social.py:419 +#: src/pyams_security/zmi/plugin/social.py:422 msgid "This provider is already defined!" msgstr "Un connecteur pour ce réseau social est déjà défini !" -#: src/pyams_security/zmi/plugin/social.py:435 +#: src/pyams_security/zmi/plugin/social.py:438 msgid "Social provider was created successfully" msgstr "Le connecteur a été créé avec succès." -#: src/pyams_security/zmi/plugin/social.py:422 +#: src/pyams_security/zmi/plugin/social.py:425 msgid "This provider ID is already used!" msgstr "L'ID de ce connecteur est déjà utilisé !" -#: src/pyams_security/zmi/plugin/social.py:475 +#: src/pyams_security/zmi/plugin/social.py:478 msgid "No provided provider_name argument!" msgstr "Argument 'provider_name' non fourni !" -#: src/pyams_security/zmi/plugin/social.py:479 +#: src/pyams_security/zmi/plugin/social.py:482 msgid "Given provider name doesn't exist!" msgstr "Le connecteur indiqué n'existe pas !" -#: src/pyams_security/zmi/plugin/userfolder.py:65 +#: src/pyams_security/zmi/plugin/userfolder.py:67 msgid "Add local users folder..." msgstr "Ajouter un dossier d'utilisateurs locaux..." -#: src/pyams_security/zmi/plugin/userfolder.py:77 +#: src/pyams_security/zmi/plugin/userfolder.py:79 msgid "Add local users folder plug-in" msgstr "Ajout d'un dossier d'utilisateurs locaux" -#: src/pyams_security/zmi/plugin/userfolder.py:119 +#: src/pyams_security/zmi/plugin/userfolder.py:121 msgid "Edit local users folder plug-in properties" msgstr "Modification d'un dossier d'utilisateurs locaux" -#: src/pyams_security/zmi/plugin/userfolder.py:182 +#: src/pyams_security/zmi/plugin/userfolder.py:183 #: src/pyams_security/views/login.py:56 msgid "Login" msgstr "Code utilisateur" -#: src/pyams_security/zmi/plugin/userfolder.py:228 -#: src/pyams_security/interfaces/__init__.py:455 -#: src/pyams_security/interfaces/__init__.py:458 +#: src/pyams_security/zmi/plugin/userfolder.py:229 +#: src/pyams_security/interfaces/__init__.py:460 +#: src/pyams_security/interfaces/__init__.py:463 msgid "Activation date" msgstr "Date d'activation" -#: src/pyams_security/zmi/plugin/userfolder.py:248 +#: src/pyams_security/zmi/plugin/userfolder.py:249 msgid "Add user" msgstr "Ajouter un utilisateur" -#: src/pyams_security/zmi/plugin/userfolder.py:261 +#: src/pyams_security/zmi/plugin/userfolder.py:263 msgid "Add new local user" msgstr "Ajout d'un utilisateur local" -#: src/pyams_security/zmi/plugin/userfolder.py:311 +#: src/pyams_security/zmi/plugin/userfolder.py:313 #: src/pyams_security/views/userfolder.py:124 msgid "Specified login can't be used!" msgstr "Le code utilisateur indiqué ne peut pas être utilisé !" -#: src/pyams_security/zmi/plugin/userfolder.py:322 +#: src/pyams_security/zmi/plugin/userfolder.py:324 msgid "User was created successfully" msgstr "L'utilisateur a été créé avec succès." -#: src/pyams_security/zmi/plugin/group.py:61 +#: src/pyams_security/zmi/plugin/group.py:63 msgid "Add local groups folder..." msgstr "Ajouter un dossier de groupes locaux..." -#: src/pyams_security/zmi/plugin/group.py:73 +#: src/pyams_security/zmi/plugin/group.py:75 msgid "Add local groups folder plug-in" msgstr "Ajout d'un dossier de groupes locaux" -#: src/pyams_security/zmi/plugin/group.py:115 +#: src/pyams_security/zmi/plugin/group.py:117 msgid "Edit local groups folder plug-in properties" msgstr "Modification d'un dossier de groupes locaux" -#: src/pyams_security/zmi/plugin/group.py:141 -msgid "Local groups" -msgstr "Groupes locaux" +#: src/pyams_security/zmi/plugin/group.py:143 +msgid "Local groups list" +msgstr "Liste des groupes locaux" -#: src/pyams_security/zmi/plugin/group.py:169 -#: src/pyams_security/interfaces/__init__.py:499 +#: src/pyams_security/zmi/plugin/group.py:171 +#: src/pyams_security/interfaces/__init__.py:504 msgid "Description" msgstr "Description" -#: src/pyams_security/zmi/plugin/group.py:199 -msgid "Groups list" -msgstr "Liste des groupes" - -#: src/pyams_security/zmi/plugin/group.py:212 +#: src/pyams_security/zmi/plugin/group.py:213 msgid "Add group" msgstr "Ajouter un groupe" -#: src/pyams_security/zmi/plugin/group.py:225 +#: src/pyams_security/zmi/plugin/group.py:227 msgid "Add new local group" msgstr "Ajout d'un groupe local" -#: src/pyams_security/zmi/plugin/group.py:281 +#: src/pyams_security/zmi/plugin/group.py:283 msgid "Edit group properties" msgstr "Modification des propriétés d'un groupe" -#: src/pyams_security/zmi/plugin/group.py:258 +#: src/pyams_security/zmi/plugin/group.py:260 msgid "Specified group ID can't be used!" msgstr "L'ID indiqué pour ce groupe ne peut pas être utilisé !" -#: src/pyams_security/zmi/plugin/group.py:270 +#: src/pyams_security/zmi/plugin/group.py:272 msgid "Group was created successfully" msgstr "Le groupe a été créé avec succès." -#: src/pyams_security/zmi/plugin/admin.py:52 +#: src/pyams_security/zmi/plugin/admin.py:54 msgid "Add admin authentication..." msgstr "Ajouter un compte système..." -#: src/pyams_security/zmi/plugin/admin.py:64 +#: src/pyams_security/zmi/plugin/admin.py:66 msgid "Add administration authentication plug-in" msgstr "Ajout d'un compte d'administration système" -#: src/pyams_security/zmi/plugin/admin.py:107 +#: src/pyams_security/zmi/plugin/admin.py:109 msgid "Edit administration authentication plug-in" msgstr "Modification d'un compte d'administration système" -#: src/pyams_security/zmi/plugin/admin.py:130 +#: src/pyams_security/zmi/plugin/admin.py:132 msgid "WARNING" msgstr "ATTENTION" -#: src/pyams_security/zmi/plugin/admin.py:132 +#: src/pyams_security/zmi/plugin/admin.py:134 msgid "" "Before disabling plug-in, please verify that you have other administration " "access!" @@ -396,7 +405,7 @@ msgstr "Veuillez confirmer les paramètres de votre compte" #: src/pyams_security/views/userfolder.py:65 -#: src/pyams_security/views/login.py:140 +#: src/pyams_security/views/login.py:142 msgid "Cancel" msgstr "Annuler" @@ -437,14 +446,14 @@ msgid "Can't retrieve user profile!" msgstr "Impossible d'accéder à votre compte utilisateur !" -#: src/pyams_security/views/login.py:90 src/pyams_security/views/login.py:149 +#: src/pyams_security/views/login.py:90 src/pyams_security/views/login.py:151 msgid "Please enter valid credentials to log-in" msgstr "Veuillez indiquer vos paramètres de connexion" #: src/pyams_security/views/login.py:57 -#: src/pyams_security/interfaces/__init__.py:352 -#: src/pyams_security/interfaces/__init__.py:378 -#: src/pyams_security/interfaces/__init__.py:430 +#: src/pyams_security/interfaces/__init__.py:357 +#: src/pyams_security/interfaces/__init__.py:383 +#: src/pyams_security/interfaces/__init__.py:435 msgid "Password" msgstr "Mot de passe" @@ -452,7 +461,7 @@ msgid "Reset" msgstr "Annuler" -#: src/pyams_security/views/login.py:64 src/pyams_security/views/login.py:141 +#: src/pyams_security/views/login.py:64 src/pyams_security/views/login.py:143 msgid "Connect" msgstr "Connexion" @@ -483,92 +492,92 @@ msgid "Return to home page" msgstr "Retourner à la page d'accueil" -#: src/pyams_security/interfaces/__init__.py:137 +#: src/pyams_security/interfaces/__init__.py:142 msgid "Plug-in prefix" msgstr "Préfixe du module" -#: src/pyams_security/interfaces/__init__.py:138 +#: src/pyams_security/interfaces/__init__.py:143 msgid "" "This prefix is mainly used by authentication plug-ins to mark principals" msgstr "" "Ce préfixe est utilisé par les modules d'authentification pour identifier " "les utilisateurs" -#: src/pyams_security/interfaces/__init__.py:140 +#: src/pyams_security/interfaces/__init__.py:145 msgid "Plug-in title" msgstr "Libellé du module" -#: src/pyams_security/interfaces/__init__.py:143 +#: src/pyams_security/interfaces/__init__.py:148 msgid "Enabled plug-in?" msgstr "Module actif ?" -#: src/pyams_security/interfaces/__init__.py:144 +#: src/pyams_security/interfaces/__init__.py:149 msgid "You can choose to disable any plug-in..." msgstr "" "Un module inactif ne peut plus être utilisé pour authentifier ou rechercher " "les utilisateurs..." -#: src/pyams_security/interfaces/__init__.py:179 +#: src/pyams_security/interfaces/__init__.py:184 msgid "Admin. login" msgstr "Code utilisateur" -#: src/pyams_security/interfaces/__init__.py:181 +#: src/pyams_security/interfaces/__init__.py:186 msgid "Admin. password" msgstr "Mot de passe" -#: src/pyams_security/interfaces/__init__.py:239 +#: src/pyams_security/interfaces/__init__.py:244 msgid "Internal provider ID" msgstr "ID du connecteur" -#: src/pyams_security/interfaces/__init__.py:243 +#: src/pyams_security/interfaces/__init__.py:248 msgid "User name" msgstr "Nom d'utilisateur" -#: src/pyams_security/interfaces/__init__.py:248 -#: src/pyams_security/interfaces/__init__.py:343 -#: src/pyams_security/interfaces/__init__.py:414 +#: src/pyams_security/interfaces/__init__.py:253 +#: src/pyams_security/interfaces/__init__.py:348 +#: src/pyams_security/interfaces/__init__.py:419 msgid "First name" msgstr "Prénom" -#: src/pyams_security/interfaces/__init__.py:251 -#: src/pyams_security/interfaces/__init__.py:346 -#: src/pyams_security/interfaces/__init__.py:417 +#: src/pyams_security/interfaces/__init__.py:256 +#: src/pyams_security/interfaces/__init__.py:351 +#: src/pyams_security/interfaces/__init__.py:422 msgid "Last name" msgstr "Nom" -#: src/pyams_security/interfaces/__init__.py:254 +#: src/pyams_security/interfaces/__init__.py:259 msgid "Nickname" msgstr "Surnom" -#: src/pyams_security/interfaces/__init__.py:260 +#: src/pyams_security/interfaces/__init__.py:265 msgid "Timezone" msgstr "Fuseau horaire" -#: src/pyams_security/interfaces/__init__.py:263 +#: src/pyams_security/interfaces/__init__.py:268 msgid "Country" msgstr "Pays" -#: src/pyams_security/interfaces/__init__.py:266 +#: src/pyams_security/interfaces/__init__.py:271 msgid "City" msgstr "Ville" -#: src/pyams_security/interfaces/__init__.py:269 +#: src/pyams_security/interfaces/__init__.py:274 msgid "Postal code" msgstr "Code postal" -#: src/pyams_security/interfaces/__init__.py:272 +#: src/pyams_security/interfaces/__init__.py:277 msgid "Locale code" msgstr "Langue" -#: src/pyams_security/interfaces/__init__.py:275 +#: src/pyams_security/interfaces/__init__.py:280 msgid "Picture URL" msgstr "Photo (URL)" -#: src/pyams_security/interfaces/__init__.py:278 +#: src/pyams_security/interfaces/__init__.py:283 msgid "Birth date" msgstr "Date de naissance" -#: src/pyams_security/interfaces/__init__.py:314 +#: src/pyams_security/interfaces/__init__.py:319 msgid "" "Your password must contain at least three of these kinds of characters: " "lowercase letters, uppercase letters, numbers and special characters" @@ -576,20 +585,20 @@ "Votre mot de passe doit contenir au moins trois de ces types de caractères : " "minuscules, majuscules, chiffres et autres caractères" -#: src/pyams_security/interfaces/__init__.py:324 -#: src/pyams_security/interfaces/__init__.py:375 -#: src/pyams_security/interfaces/__init__.py:397 +#: src/pyams_security/interfaces/__init__.py:329 +#: src/pyams_security/interfaces/__init__.py:380 +#: src/pyams_security/interfaces/__init__.py:402 msgid "User login" msgstr "Code utilisateur" -#: src/pyams_security/interfaces/__init__.py:325 +#: src/pyams_security/interfaces/__init__.py:330 msgid "" "If you don't provide a custom login, your login will be your email address..." msgstr "" "Si vous n'indiquez pas de code utilisateur, vous pourrez utiliser votre " "adresse de messagerie pour vous connecter..." -#: src/pyams_security/interfaces/__init__.py:334 +#: src/pyams_security/interfaces/__init__.py:339 msgid "" "An email will be sent to this address to validate account activation; it " "will be used as your future user login" @@ -598,12 +607,12 @@ "permettre d'activer votre compte ; il pourra être utilisé compte identifiant " "de connexion si vous n'avez pas indiqué de code utilisateur" -#: src/pyams_security/interfaces/__init__.py:349 -#: src/pyams_security/interfaces/__init__.py:422 +#: src/pyams_security/interfaces/__init__.py:354 +#: src/pyams_security/interfaces/__init__.py:427 msgid "Company name" msgstr "Société" -#: src/pyams_security/interfaces/__init__.py:353 +#: src/pyams_security/interfaces/__init__.py:358 msgid "" "Password must be at least 8 characters long, and contain at least three kins " "of characters between lowercase letters, uppercase letters, numbers and " @@ -613,29 +622,29 @@ "moins trois types de caractères parmi les lettres minuscules, les " "majuscules, les chiffres et les caractères spéciaux" -#: src/pyams_security/interfaces/__init__.py:359 -#: src/pyams_security/interfaces/__init__.py:382 +#: src/pyams_security/interfaces/__init__.py:364 +#: src/pyams_security/interfaces/__init__.py:387 msgid "Confirmed password" msgstr "Confirmation du mot de passe" -#: src/pyams_security/interfaces/__init__.py:372 -#: src/pyams_security/interfaces/__init__.py:449 +#: src/pyams_security/interfaces/__init__.py:377 +#: src/pyams_security/interfaces/__init__.py:454 msgid "Activation hash" msgstr "Clé d'activation" -#: src/pyams_security/interfaces/__init__.py:406 +#: src/pyams_security/interfaces/__init__.py:411 msgid "User email address" msgstr "Adresse de messagerie" -#: src/pyams_security/interfaces/__init__.py:425 +#: src/pyams_security/interfaces/__init__.py:430 msgid "Password manager name" msgstr "Gestionnaire de mot de passe" -#: src/pyams_security/interfaces/__init__.py:434 +#: src/pyams_security/interfaces/__init__.py:439 msgid "Wait confirmation?" msgstr "Attendre la confirmation ?" -#: src/pyams_security/interfaces/__init__.py:435 +#: src/pyams_security/interfaces/__init__.py:440 msgid "" "If 'no', user will be activated immediately without waiting email " "confirmation" @@ -643,20 +652,20 @@ "Si 'non', ce compte utilisateur sera activé immédiatement sans attendre le " "message de confirmation" -#: src/pyams_security/interfaces/__init__.py:440 +#: src/pyams_security/interfaces/__init__.py:445 msgid "Self-registered profile?" msgstr "Profil auto-enregistré ?" -#: src/pyams_security/interfaces/__init__.py:445 +#: src/pyams_security/interfaces/__init__.py:450 msgid "Activation secret key" msgstr "Clé secrète" -#: src/pyams_security/interfaces/__init__.py:446 +#: src/pyams_security/interfaces/__init__.py:451 msgid "This private secret is used to create and check activation hash" msgstr "" "Cette clé secrète est utilisé pour créer et vérifier la clé d'activation" -#: src/pyams_security/interfaces/__init__.py:450 +#: src/pyams_security/interfaces/__init__.py:455 msgid "" "This hash is provided into activation message URL. Activation hash is " "missing for local users which were registered without waiting their " @@ -666,84 +675,84 @@ "Cette clé d'activation n'est pas définie pour les utilisateurs pour lesquels " "l'attente de confirmation n'a pas été demandée." -#: src/pyams_security/interfaces/__init__.py:490 +#: src/pyams_security/interfaces/__init__.py:495 msgid "Group ID" msgstr "ID du groupe" -#: src/pyams_security/interfaces/__init__.py:491 +#: src/pyams_security/interfaces/__init__.py:496 msgid "This ID should be unique between all groups" msgstr "Cet ID doit être unique pour tous les groupes" -#: src/pyams_security/interfaces/__init__.py:495 +#: src/pyams_security/interfaces/__init__.py:500 msgid "Title" msgstr "Nom" -#: src/pyams_security/interfaces/__init__.py:496 +#: src/pyams_security/interfaces/__init__.py:501 msgid "Public label of this group" msgstr "Libellé public de ce groupe" -#: src/pyams_security/interfaces/__init__.py:502 +#: src/pyams_security/interfaces/__init__.py:507 msgid "Group principals" msgstr "Mandants du groupe" -#: src/pyams_security/interfaces/__init__.py:503 +#: src/pyams_security/interfaces/__init__.py:508 msgid "IDs of principals contained in this group" msgstr "ID des mandants contenus dans ce groupe" -#: src/pyams_security/interfaces/__init__.py:553 +#: src/pyams_security/interfaces/__init__.py:558 msgid "Enable login via social OAuth plug-ins" msgstr "" "Autoriser la connexion à partir des réseaux sociaux via les modules OAuth" -#: src/pyams_security/interfaces/__init__.py:557 +#: src/pyams_security/interfaces/__init__.py:562 msgid "Social users folder" msgstr "Dossier des utilisateurs \"sociaux\"" -#: src/pyams_security/interfaces/__init__.py:558 +#: src/pyams_security/interfaces/__init__.py:563 msgid "Name of folder used to store social users properties" msgstr "" "Nom du dossier dans lequel seront stockés les profils des utilisateurs " "connectés via des réseaux sociaux" -#: src/pyams_security/interfaces/__init__.py:567 +#: src/pyams_security/interfaces/__init__.py:572 msgid "Authomatic secret" msgstr "Clé OAuth" -#: src/pyams_security/interfaces/__init__.py:568 +#: src/pyams_security/interfaces/__init__.py:573 msgid "This secret phrase is used to encrypt Authomatic cookie" msgstr "" "Cette phrase secrète est utilisée pour crypter le cookie d'authentification" -#: src/pyams_security/interfaces/__init__.py:572 +#: src/pyams_security/interfaces/__init__.py:577 msgid "Use social popup?" msgstr "Connection via une popup ?" -#: src/pyams_security/interfaces/__init__.py:577 +#: src/pyams_security/interfaces/__init__.py:582 msgid "If 'Yes', any use will be able to create a new user account" msgstr "Si 'oui', toute personne sera à même de se créer un compte utilisateur" -#: src/pyams_security/interfaces/__init__.py:581 +#: src/pyams_security/interfaces/__init__.py:586 msgid "Users folder" msgstr "Dossier des utilisateurs locaux" -#: src/pyams_security/interfaces/__init__.py:582 +#: src/pyams_security/interfaces/__init__.py:587 msgid "Name of users folder used to store registered principals" msgstr "Nom du dossier dans lequel seront créés les utilisateurs enregistrés" -#: src/pyams_security/interfaces/__init__.py:591 +#: src/pyams_security/interfaces/__init__.py:596 msgid "Credentials plug-ins" msgstr "Modules d'identification" -#: src/pyams_security/interfaces/__init__.py:592 +#: src/pyams_security/interfaces/__init__.py:597 msgid "These plug-ins can be used to extract request credentials" msgstr "" "Ces modules peuvent être utilisés pour extraire l'identitité des utilisateurs" -#: src/pyams_security/interfaces/__init__.py:597 +#: src/pyams_security/interfaces/__init__.py:602 msgid "Authentication plug-ins" msgstr "Modules d'authentification" -#: src/pyams_security/interfaces/__init__.py:598 +#: src/pyams_security/interfaces/__init__.py:603 msgid "" "The plug-ins can be used to check extracted credentials against a local or " "remote users database" @@ -751,88 +760,112 @@ "Ces modules sont utilisés pour vérifier l'identité des utilisateurs vis à " "vis d'une base d'utilisateurs locale ou distante" -#: src/pyams_security/interfaces/__init__.py:603 +#: src/pyams_security/interfaces/__init__.py:608 msgid "Directory plug-ins" msgstr "Modules d'annuaires" -#: src/pyams_security/interfaces/__init__.py:604 +#: src/pyams_security/interfaces/__init__.py:609 msgid "The plug-in can be used to extract principals information" msgstr "" "Ces modules peuvent être utilisés pour extraire les propriétés des " "utilisateurs" -#: src/pyams_security/interfaces/__init__.py:678 +#: src/pyams_security/interfaces/__init__.py:683 msgid "Provider name" msgstr "Nom du fournisseur" -#: src/pyams_security/interfaces/__init__.py:682 +#: src/pyams_security/interfaces/__init__.py:687 msgid "Provider ID" msgstr "ID du fournisseur" -#: src/pyams_security/interfaces/__init__.py:683 +#: src/pyams_security/interfaces/__init__.py:688 msgid "This value should be unique between all providers" msgstr "Cette valeur numérique doit être unique pour tous les fournisseurs" -#: src/pyams_security/interfaces/__init__.py:687 +#: src/pyams_security/interfaces/__init__.py:692 msgid "Provider consumer key" msgstr "Clé cliente" -#: src/pyams_security/interfaces/__init__.py:690 +#: src/pyams_security/interfaces/__init__.py:695 msgid "Provider secret" msgstr "Clé secrète" -#: src/pyams_security/interfaces/__init__.py:708 +#: src/pyams_security/interfaces/__init__.py:713 msgid "Inherit parent security?" msgstr "Héritage de la sécurité ?" -#: src/pyams_security/interfaces/__init__.py:709 +#: src/pyams_security/interfaces/__init__.py:714 msgid "Get access control entries (ACE) inherited from parent levels" msgstr "Utiliser les règles d'accès (ACE) héritées du parent" -#: src/pyams_security/interfaces/__init__.py:714 -msgid "Public permissions" -msgstr "Permissions publiques" +#: src/pyams_security/interfaces/__init__.py:719 +msgid "Public denied permissions" +msgstr "Permissions publiques retirées" -#: src/pyams_security/interfaces/__init__.py:715 +#: src/pyams_security/interfaces/__init__.py:720 +msgid "" +"These permissions will be denied to all users. Denied permissions take " +"precedence over granted ones." +msgstr "" +"Ces permissions seront retirées à tous les utilisateurs. Les permissions " +"retirées sont prioritaires par rapport aux permissions accordées." + +#: src/pyams_security/interfaces/__init__.py:725 +msgid "Public granted permissions" +msgstr "Permissions publiques accordées" + +#: src/pyams_security/interfaces/__init__.py:726 msgid "These permissions will be granted to all users" -msgstr "Ces permissions seront attribuées à tous les utilisateurs" +msgstr "Ces permissions seront accordées à tous les utilisateurs" + +#: src/pyams_security/interfaces/__init__.py:729 +msgid "Authenticated denied permissions" +msgstr "Permissions authentifiées retirées" -#: src/pyams_security/interfaces/__init__.py:718 -msgid "Authenticated permissions" -msgstr "Permissions authentifiées" +#: src/pyams_security/interfaces/__init__.py:730 +msgid "" +"These permissions will be denied to authenticated users. Denied permissions " +"take precedence over granted ones." +msgstr "" +"Ces permissions seront retirées aux utilisateurs authentifiés. Les " +"permissions retirées sont prioritaires par rapport aux permissions accordées." -#: src/pyams_security/interfaces/__init__.py:719 +#: src/pyams_security/interfaces/__init__.py:735 +msgid "Authenticated granted permissions" +msgstr "Permissions authentifiées accordées" + +#: src/pyams_security/interfaces/__init__.py:736 msgid "These permissions will be granted to authenticated users" msgstr "Ces permissions seront attribuées à tous les utilisateurs authentifiés" -#: src/pyams_security/interfaces/__init__.py:723 +#: src/pyams_security/interfaces/__init__.py:740 msgid "Inherit parent roles?" msgstr "Héritage des rôles ?" -#: src/pyams_security/interfaces/__init__.py:724 +#: src/pyams_security/interfaces/__init__.py:741 msgid "Get roles granted on parent levels" msgstr "Disposer des rôles affectés aux niveaux parents" -#: src/pyams_security/interfaces/__init__.py:341 +#: src/pyams_security/interfaces/__init__.py:346 msgid "Your email address is not valid!" msgstr "Votre adresse de messagerie est incorrecte !" -#: src/pyams_security/interfaces/__init__.py:365 -#: src/pyams_security/interfaces/__init__.py:388 +#: src/pyams_security/interfaces/__init__.py:370 +#: src/pyams_security/interfaces/__init__.py:393 msgid "You didn't confirmed your password correctly!" msgstr "Vous n'avez pas confirmé votre mot de passe correctement !" -#: src/pyams_security/interfaces/__init__.py:412 +#: src/pyams_security/interfaces/__init__.py:417 msgid "Given email address is not valid!" msgstr "L'adrese de messagerie indiquée est invalide !" -#: src/pyams_security/interfaces/__init__.py:565 +#: src/pyams_security/interfaces/__init__.py:570 msgid "You can't activate social login without selecting a social users folder" msgstr "" "Vous ne pouvez pas activer la connexion via les réseaux sociaux sans " "sélectionner de dossier de stockage des utilisateurs" -#: src/pyams_security/interfaces/__init__.py:589 +#: src/pyams_security/interfaces/__init__.py:594 msgid "You can't activate open registration without selecting a users folder" msgstr "" "Vous ne pouvez pas activer les fonctions d'inscription libre sans " @@ -913,6 +946,14 @@ "Les notifications ne peuvent pas être activées si vous ne séletionnez pas un " "outil d'envoi de messages" +#: src/pyams_security/interfaces/profile.py:33 +msgid "Profile's avatar" +msgstr "Avatar du profil" + +#: src/pyams_security/interfaces/profile.py:34 +msgid "This picture will be associated to your user profile" +msgstr "Cette image sera associée à votre profil utilisateur" + #: src/pyams_security/plugin/http.py:44 msgid "HTTP Basic credentials" msgstr "Authentification HTTP Basic" @@ -991,5 +1032,17 @@ "Vous avez créé un nouveau compte que vous devez confirmer avant de pouvoir " "utiliser ce service." +#~ msgid "Security management" +#~ msgstr "Paramètres de sécurité" + +#~ msgid "Security manager plug-ins" +#~ msgstr "Modules du gestionnaire de sécurité" + +#~ msgid "(inherit from parent)" +#~ msgstr "(héritée du parent)" + +#~ msgid "Groups list" +#~ msgstr "Liste des groupes" + #~ msgid "Edit local roles" #~ msgstr "Gestion des règles d'accès" diff -r 59683c264d94 -r 5713898178f3 src/pyams_security/locales/pyams_security.pot --- a/src/pyams_security/locales/pyams_security.pot Thu Oct 08 09:31:45 2015 +0200 +++ b/src/pyams_security/locales/pyams_security.pot Thu Oct 08 09:39:15 2015 +0200 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE 1.0\n" -"POT-Creation-Date: 2015-06-01 14:47+0200\n" +"POT-Creation-Date: 2015-09-25 16:58+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" @@ -16,35 +16,35 @@ "Content-Transfer-Encoding: 8bit\n" "Generated-By: Lingua 3.10.dev0\n" -#: ./src/pyams_security/__init__.py:33 +#: ./src/pyams_security/__init__.py:36 msgid "View public contents" msgstr "" -#: ./src/pyams_security/__init__.py:35 +#: ./src/pyams_security/__init__.py:38 msgid "View protected contents" msgstr "" -#: ./src/pyams_security/__init__.py:37 +#: ./src/pyams_security/__init__.py:40 msgid "Manage contents properties" msgstr "" -#: ./src/pyams_security/__init__.py:39 +#: ./src/pyams_security/__init__.py:42 msgid "View management screens" msgstr "" -#: ./src/pyams_security/__init__.py:41 -msgid "Manage system properties" -msgstr "" - #: ./src/pyams_security/__init__.py:44 +msgid "Manage system properties" +msgstr "" + +#: ./src/pyams_security/__init__.py:47 msgid "Manage security" msgstr "" -#: ./src/pyams_security/__init__.py:46 +#: ./src/pyams_security/__init__.py:49 msgid "Manage roles" msgstr "" -#: ./src/pyams_security/principal.py:53 +#: ./src/pyams_security/principal.py:57 msgid "Not logged in" msgstr "" @@ -59,56 +59,58 @@ msgid "Select permissions..." msgstr "" -#: ./src/pyams_security/zmi/utility.py:75 +#: ./src/pyams_security/zmi/utility.py:77 msgid "Security" msgstr "" -#: ./src/pyams_security/zmi/utility.py:84 +#: ./src/pyams_security/zmi/utility.py:86 msgid "Authentication and users directory plug-ins" msgstr "" -#: ./src/pyams_security/zmi/utility.py:104 +#: ./src/pyams_security/zmi/utility.py:106 msgid "See plug-in contents" msgstr "" -#: ./src/pyams_security/zmi/utility.py:119 -#: ./src/pyams_security/zmi/plugin/social.py:195 -#: ./src/pyams_security/zmi/plugin/social.py:328 -#: ./src/pyams_security/zmi/plugin/userfolder.py:192 -#: ./src/pyams_security/zmi/plugin/group.py:159 -#: ./src/pyams_security/interfaces/__init__.py:246 +#: ./src/pyams_security/zmi/utility.py:121 +#: ./src/pyams_security/zmi/plugin/social.py:198 +#: ./src/pyams_security/zmi/plugin/social.py:331 +#: ./src/pyams_security/zmi/plugin/userfolder.py:193 +#: ./src/pyams_security/zmi/plugin/group.py:161 +#: ./src/pyams_security/interfaces/__init__.py:251 msgid "Name" msgstr "" -#: ./src/pyams_security/zmi/utility.py:128 +#: ./src/pyams_security/zmi/utility.py:130 msgid "Delete plug-in" msgstr "" +#: ./src/pyams_security/zmi/utility.py:161 +msgid "Control panel" +msgstr "" + #: ./src/pyams_security/zmi/utility.py:162 -#: ./src/pyams_security/zmi/plugin/social.py:370 -#: ./src/pyams_security/zmi/plugin/social.py:388 -#: ./src/pyams_security/zmi/plugin/social.py:443 +#: ./src/pyams_security/zmi/plugin/social.py:373 +#: ./src/pyams_security/zmi/plugin/social.py:391 +#: ./src/pyams_security/zmi/plugin/social.py:446 +#: ./src/pyams_security/zmi/plugin/userfolder.py:157 +#: ./src/pyams_security/zmi/plugin/group.py:196 msgid "Security manager" msgstr "" -#: ./src/pyams_security/zmi/utility.py:163 -msgid "Security manager plug-ins" +#: ./src/pyams_security/zmi/utility.py:170 +msgid "Properties..." msgstr "" -#: ./src/pyams_security/zmi/utility.py:171 -msgid "Properties..." +#: ./src/pyams_security/zmi/utility.py:183 +#: ./src/pyams_security/zmi/notification.py:60 +#: ./src/pyams_security/zmi/plugin/social.py:81 +#: ./src/pyams_security/zmi/plugin/userfolder.py:78 +#: ./src/pyams_security/zmi/plugin/group.py:74 +#: ./src/pyams_security/zmi/plugin/admin.py:65 +msgid "System security manager" msgstr "" #: ./src/pyams_security/zmi/utility.py:184 -#: ./src/pyams_security/zmi/notification.py:58 -#: ./src/pyams_security/zmi/plugin/social.py:79 -#: ./src/pyams_security/zmi/plugin/userfolder.py:76 -#: ./src/pyams_security/zmi/plugin/group.py:72 -#: ./src/pyams_security/zmi/plugin/admin.py:63 -msgid "System security manager" -msgstr "" - -#: ./src/pyams_security/zmi/utility.py:185 msgid "Security manager properties" msgstr "" @@ -117,12 +119,12 @@ msgstr "" #: ./src/pyams_security/zmi/utility.py:207 -#: ./src/pyams_security/interfaces/__init__.py:552 +#: ./src/pyams_security/interfaces/__init__.py:557 msgid "Enable social login?" msgstr "" #: ./src/pyams_security/zmi/utility.py:214 -#: ./src/pyams_security/interfaces/__init__.py:576 +#: ./src/pyams_security/interfaces/__init__.py:581 msgid "Enable free registration?" msgstr "" @@ -134,241 +136,247 @@ msgid "Given plug-in name doesn't exist!" msgstr "" -#: ./src/pyams_security/zmi/notification.py:45 +#: ./src/pyams_security/zmi/notification.py:46 msgid "Notifications..." msgstr "" -#: ./src/pyams_security/zmi/notification.py:59 +#: ./src/pyams_security/zmi/notification.py:61 msgid "Notifications properties" msgstr "" -#: ./src/pyams_security/zmi/security.py:46 -msgid "Access rules..." +#: ./src/pyams_security/zmi/profile.py:42 +msgid "User profile" msgstr "" -#: ./src/pyams_security/zmi/security.py:71 -msgid "Security management" +#: ./src/pyams_security/zmi/profile.py:54 +msgid "Edit user profile" +msgstr "" + +#: ./src/pyams_security/zmi/profile.py:78 +msgid "Public profile" msgstr "" -#: ./src/pyams_security/zmi/security.py:93 -msgid "Granted roles" +#: ./src/pyams_security/zmi/security.py:58 +msgid "Access rules" +msgstr "" + +#: ./src/pyams_security/zmi/security.py:70 +msgid "Granted users roles" msgstr "" -#: ./src/pyams_security/zmi/security.py:83 -#: ./src/pyams_security/zmi/security.py:84 -msgid "(inherit from parent)" +#: ./src/pyams_security/zmi/security.py:117 +msgid "Security policy..." msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:68 +#: ./src/pyams_security/zmi/security.py:128 +msgid "Update security policy" +msgstr "" + +#: ./src/pyams_security/zmi/plugin/social.py:70 msgid "Add social users folder..." msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:80 +#: ./src/pyams_security/zmi/plugin/social.py:82 msgid "Add social users folder plug-in" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:122 +#: ./src/pyams_security/zmi/plugin/social.py:124 msgid "Edit social users folder plug-in properties" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:163 -#: ./src/pyams_security/zmi/plugin/userfolder.py:160 +#: ./src/pyams_security/zmi/plugin/social.py:166 msgid "Search users" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:172 -#: ./src/pyams_security/zmi/plugin/userfolder.py:169 +#: ./src/pyams_security/zmi/plugin/social.py:175 +#: ./src/pyams_security/zmi/plugin/userfolder.py:170 msgid "Search results" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:185 +#: ./src/pyams_security/zmi/plugin/social.py:188 msgid "User ID" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:205 -#: ./src/pyams_security/zmi/plugin/userfolder.py:202 -#: ./src/pyams_security/interfaces/__init__.py:257 -#: ./src/pyams_security/interfaces/__init__.py:333 +#: ./src/pyams_security/zmi/plugin/social.py:208 +#: ./src/pyams_security/zmi/plugin/userfolder.py:203 +#: ./src/pyams_security/interfaces/__init__.py:262 +#: ./src/pyams_security/interfaces/__init__.py:338 msgid "E-mail address" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:215 -#: ./src/pyams_security/interfaces/__init__.py:241 +#: ./src/pyams_security/zmi/plugin/social.py:218 +#: ./src/pyams_security/interfaces/__init__.py:246 msgid "OAuth provider name" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:225 -#: ./src/pyams_security/zmi/plugin/userfolder.py:212 -#: ./src/pyams_security/interfaces/__init__.py:281 +#: ./src/pyams_security/zmi/plugin/social.py:228 +#: ./src/pyams_security/zmi/plugin/userfolder.py:213 +#: ./src/pyams_security/interfaces/__init__.py:286 msgid "Registration date" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:248 -#: ./src/pyams_security/zmi/plugin/userfolder.py:333 +#: ./src/pyams_security/zmi/plugin/social.py:251 +#: ./src/pyams_security/zmi/plugin/userfolder.py:335 msgid "Edit user properties" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:280 +#: ./src/pyams_security/zmi/plugin/social.py:283 msgid "Social networks login" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:288 +#: ./src/pyams_security/zmi/plugin/social.py:291 msgid "Configured social networks login providers" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:318 +#: ./src/pyams_security/zmi/plugin/social.py:321 msgid "ID" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:337 +#: ./src/pyams_security/zmi/plugin/social.py:340 msgid "Delete provider" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:371 +#: ./src/pyams_security/zmi/plugin/social.py:374 msgid "Social networks login providers" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:379 +#: ./src/pyams_security/zmi/plugin/social.py:382 msgid "Add provider" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:389 +#: ./src/pyams_security/zmi/plugin/social.py:392 msgid "Add new social login provider" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:444 +#: ./src/pyams_security/zmi/plugin/social.py:447 msgid "Edit social login provider properties" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:104 -#: ./src/pyams_security/zmi/plugin/userfolder.py:101 -#: ./src/pyams_security/zmi/plugin/group.py:97 -#: ./src/pyams_security/zmi/plugin/admin.py:89 +#: ./src/pyams_security/zmi/plugin/social.py:106 +#: ./src/pyams_security/zmi/plugin/userfolder.py:103 +#: ./src/pyams_security/zmi/plugin/group.py:99 +#: ./src/pyams_security/zmi/plugin/admin.py:91 msgid "Specified prefix is already used!" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:419 +#: ./src/pyams_security/zmi/plugin/social.py:422 msgid "This provider is already defined!" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:435 +#: ./src/pyams_security/zmi/plugin/social.py:438 msgid "Social provider was created successfully" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:422 +#: ./src/pyams_security/zmi/plugin/social.py:425 msgid "This provider ID is already used!" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:475 +#: ./src/pyams_security/zmi/plugin/social.py:478 msgid "No provided provider_name argument!" msgstr "" -#: ./src/pyams_security/zmi/plugin/social.py:479 +#: ./src/pyams_security/zmi/plugin/social.py:482 msgid "Given provider name doesn't exist!" msgstr "" -#: ./src/pyams_security/zmi/plugin/userfolder.py:65 +#: ./src/pyams_security/zmi/plugin/userfolder.py:67 msgid "Add local users folder..." msgstr "" -#: ./src/pyams_security/zmi/plugin/userfolder.py:77 +#: ./src/pyams_security/zmi/plugin/userfolder.py:79 msgid "Add local users folder plug-in" msgstr "" -#: ./src/pyams_security/zmi/plugin/userfolder.py:119 +#: ./src/pyams_security/zmi/plugin/userfolder.py:121 msgid "Edit local users folder plug-in properties" msgstr "" -#: ./src/pyams_security/zmi/plugin/userfolder.py:182 +#: ./src/pyams_security/zmi/plugin/userfolder.py:183 #: ./src/pyams_security/views/login.py:56 msgid "Login" msgstr "" -#: ./src/pyams_security/zmi/plugin/userfolder.py:228 -#: ./src/pyams_security/interfaces/__init__.py:455 -#: ./src/pyams_security/interfaces/__init__.py:458 +#: ./src/pyams_security/zmi/plugin/userfolder.py:229 +#: ./src/pyams_security/interfaces/__init__.py:460 +#: ./src/pyams_security/interfaces/__init__.py:463 msgid "Activation date" msgstr "" -#: ./src/pyams_security/zmi/plugin/userfolder.py:248 +#: ./src/pyams_security/zmi/plugin/userfolder.py:249 msgid "Add user" msgstr "" -#: ./src/pyams_security/zmi/plugin/userfolder.py:261 +#: ./src/pyams_security/zmi/plugin/userfolder.py:263 msgid "Add new local user" msgstr "" -#: ./src/pyams_security/zmi/plugin/userfolder.py:311 +#: ./src/pyams_security/zmi/plugin/userfolder.py:313 #: ./src/pyams_security/views/userfolder.py:124 msgid "Specified login can't be used!" msgstr "" -#: ./src/pyams_security/zmi/plugin/userfolder.py:322 +#: ./src/pyams_security/zmi/plugin/userfolder.py:324 msgid "User was created successfully" msgstr "" -#: ./src/pyams_security/zmi/plugin/group.py:61 +#: ./src/pyams_security/zmi/plugin/group.py:63 msgid "Add local groups folder..." msgstr "" -#: ./src/pyams_security/zmi/plugin/group.py:73 +#: ./src/pyams_security/zmi/plugin/group.py:75 msgid "Add local groups folder plug-in" msgstr "" -#: ./src/pyams_security/zmi/plugin/group.py:115 +#: ./src/pyams_security/zmi/plugin/group.py:117 msgid "Edit local groups folder plug-in properties" msgstr "" -#: ./src/pyams_security/zmi/plugin/group.py:141 -msgid "Local groups" +#: ./src/pyams_security/zmi/plugin/group.py:143 +msgid "Local groups list" msgstr "" -#: ./src/pyams_security/zmi/plugin/group.py:169 -#: ./src/pyams_security/interfaces/__init__.py:499 +#: ./src/pyams_security/zmi/plugin/group.py:171 +#: ./src/pyams_security/interfaces/__init__.py:504 msgid "Description" msgstr "" -#: ./src/pyams_security/zmi/plugin/group.py:199 -msgid "Groups list" -msgstr "" - -#: ./src/pyams_security/zmi/plugin/group.py:212 +#: ./src/pyams_security/zmi/plugin/group.py:213 msgid "Add group" msgstr "" -#: ./src/pyams_security/zmi/plugin/group.py:225 +#: ./src/pyams_security/zmi/plugin/group.py:227 msgid "Add new local group" msgstr "" -#: ./src/pyams_security/zmi/plugin/group.py:281 +#: ./src/pyams_security/zmi/plugin/group.py:283 msgid "Edit group properties" msgstr "" -#: ./src/pyams_security/zmi/plugin/group.py:258 +#: ./src/pyams_security/zmi/plugin/group.py:260 msgid "Specified group ID can't be used!" msgstr "" -#: ./src/pyams_security/zmi/plugin/group.py:270 +#: ./src/pyams_security/zmi/plugin/group.py:272 msgid "Group was created successfully" msgstr "" -#: ./src/pyams_security/zmi/plugin/admin.py:52 +#: ./src/pyams_security/zmi/plugin/admin.py:54 msgid "Add admin authentication..." msgstr "" -#: ./src/pyams_security/zmi/plugin/admin.py:64 +#: ./src/pyams_security/zmi/plugin/admin.py:66 msgid "Add administration authentication plug-in" msgstr "" -#: ./src/pyams_security/zmi/plugin/admin.py:107 +#: ./src/pyams_security/zmi/plugin/admin.py:109 msgid "Edit administration authentication plug-in" msgstr "" -#: ./src/pyams_security/zmi/plugin/admin.py:130 +#: ./src/pyams_security/zmi/plugin/admin.py:132 msgid "WARNING" msgstr "" -#: ./src/pyams_security/zmi/plugin/admin.py:132 +#: ./src/pyams_security/zmi/plugin/admin.py:134 msgid "" "Before disabling plug-in, please verify that you have other administration " "access!" @@ -395,7 +403,7 @@ msgstr "" #: ./src/pyams_security/views/userfolder.py:65 -#: ./src/pyams_security/views/login.py:140 +#: ./src/pyams_security/views/login.py:142 msgid "Cancel" msgstr "" @@ -430,14 +438,14 @@ msgstr "" #: ./src/pyams_security/views/login.py:90 -#: ./src/pyams_security/views/login.py:149 +#: ./src/pyams_security/views/login.py:151 msgid "Please enter valid credentials to log-in" msgstr "" #: ./src/pyams_security/views/login.py:57 -#: ./src/pyams_security/interfaces/__init__.py:352 -#: ./src/pyams_security/interfaces/__init__.py:378 -#: ./src/pyams_security/interfaces/__init__.py:430 +#: ./src/pyams_security/interfaces/__init__.py:357 +#: ./src/pyams_security/interfaces/__init__.py:383 +#: ./src/pyams_security/interfaces/__init__.py:435 msgid "Password" msgstr "" @@ -446,7 +454,7 @@ msgstr "" #: ./src/pyams_security/views/login.py:64 -#: ./src/pyams_security/views/login.py:141 +#: ./src/pyams_security/views/login.py:143 msgid "Connect" msgstr "" @@ -474,324 +482,344 @@ msgid "Return to home page" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:137 +#: ./src/pyams_security/interfaces/__init__.py:142 msgid "Plug-in prefix" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:138 +#: ./src/pyams_security/interfaces/__init__.py:143 msgid "" "This prefix is mainly used by authentication plug-ins to mark principals" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:140 +#: ./src/pyams_security/interfaces/__init__.py:145 msgid "Plug-in title" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:143 +#: ./src/pyams_security/interfaces/__init__.py:148 msgid "Enabled plug-in?" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:144 +#: ./src/pyams_security/interfaces/__init__.py:149 msgid "You can choose to disable any plug-in..." msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:179 +#: ./src/pyams_security/interfaces/__init__.py:184 msgid "Admin. login" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:181 +#: ./src/pyams_security/interfaces/__init__.py:186 msgid "Admin. password" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:239 +#: ./src/pyams_security/interfaces/__init__.py:244 msgid "Internal provider ID" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:243 +#: ./src/pyams_security/interfaces/__init__.py:248 msgid "User name" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:248 -#: ./src/pyams_security/interfaces/__init__.py:343 -#: ./src/pyams_security/interfaces/__init__.py:414 +#: ./src/pyams_security/interfaces/__init__.py:253 +#: ./src/pyams_security/interfaces/__init__.py:348 +#: ./src/pyams_security/interfaces/__init__.py:419 msgid "First name" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:251 -#: ./src/pyams_security/interfaces/__init__.py:346 -#: ./src/pyams_security/interfaces/__init__.py:417 +#: ./src/pyams_security/interfaces/__init__.py:256 +#: ./src/pyams_security/interfaces/__init__.py:351 +#: ./src/pyams_security/interfaces/__init__.py:422 msgid "Last name" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:254 +#: ./src/pyams_security/interfaces/__init__.py:259 msgid "Nickname" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:260 +#: ./src/pyams_security/interfaces/__init__.py:265 msgid "Timezone" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:263 +#: ./src/pyams_security/interfaces/__init__.py:268 msgid "Country" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:266 +#: ./src/pyams_security/interfaces/__init__.py:271 msgid "City" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:269 +#: ./src/pyams_security/interfaces/__init__.py:274 msgid "Postal code" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:272 +#: ./src/pyams_security/interfaces/__init__.py:277 msgid "Locale code" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:275 +#: ./src/pyams_security/interfaces/__init__.py:280 msgid "Picture URL" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:278 +#: ./src/pyams_security/interfaces/__init__.py:283 msgid "Birth date" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:314 +#: ./src/pyams_security/interfaces/__init__.py:319 msgid "" "Your password must contain at least three of these kinds of characters: " "lowercase letters, uppercase letters, numbers and special characters" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:324 -#: ./src/pyams_security/interfaces/__init__.py:375 -#: ./src/pyams_security/interfaces/__init__.py:397 +#: ./src/pyams_security/interfaces/__init__.py:329 +#: ./src/pyams_security/interfaces/__init__.py:380 +#: ./src/pyams_security/interfaces/__init__.py:402 msgid "User login" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:325 +#: ./src/pyams_security/interfaces/__init__.py:330 msgid "" "If you don't provide a custom login, your login will be your email address..." msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:334 +#: ./src/pyams_security/interfaces/__init__.py:339 msgid "" "An email will be sent to this address to validate account activation; it will" " be used as your future user login" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:349 -#: ./src/pyams_security/interfaces/__init__.py:422 +#: ./src/pyams_security/interfaces/__init__.py:354 +#: ./src/pyams_security/interfaces/__init__.py:427 msgid "Company name" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:353 +#: ./src/pyams_security/interfaces/__init__.py:358 msgid "" "Password must be at least 8 characters long, and contain at least three kins " "of characters between lowercase letters, uppercase letters, numbers and " "special characters" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:359 -#: ./src/pyams_security/interfaces/__init__.py:382 +#: ./src/pyams_security/interfaces/__init__.py:364 +#: ./src/pyams_security/interfaces/__init__.py:387 msgid "Confirmed password" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:372 -#: ./src/pyams_security/interfaces/__init__.py:449 +#: ./src/pyams_security/interfaces/__init__.py:377 +#: ./src/pyams_security/interfaces/__init__.py:454 msgid "Activation hash" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:406 +#: ./src/pyams_security/interfaces/__init__.py:411 msgid "User email address" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:425 +#: ./src/pyams_security/interfaces/__init__.py:430 msgid "Password manager name" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:434 +#: ./src/pyams_security/interfaces/__init__.py:439 msgid "Wait confirmation?" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:435 +#: ./src/pyams_security/interfaces/__init__.py:440 msgid "" "If 'no', user will be activated immediately without waiting email " "confirmation" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:440 +#: ./src/pyams_security/interfaces/__init__.py:445 msgid "Self-registered profile?" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:445 +#: ./src/pyams_security/interfaces/__init__.py:450 msgid "Activation secret key" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:446 +#: ./src/pyams_security/interfaces/__init__.py:451 msgid "This private secret is used to create and check activation hash" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:450 +#: ./src/pyams_security/interfaces/__init__.py:455 msgid "" "This hash is provided into activation message URL. Activation hash is missing" " for local users which were registered without waiting their confirmation." msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:490 +#: ./src/pyams_security/interfaces/__init__.py:495 msgid "Group ID" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:491 +#: ./src/pyams_security/interfaces/__init__.py:496 msgid "This ID should be unique between all groups" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:495 +#: ./src/pyams_security/interfaces/__init__.py:500 msgid "Title" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:496 +#: ./src/pyams_security/interfaces/__init__.py:501 msgid "Public label of this group" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:502 +#: ./src/pyams_security/interfaces/__init__.py:507 msgid "Group principals" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:503 +#: ./src/pyams_security/interfaces/__init__.py:508 msgid "IDs of principals contained in this group" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:553 +#: ./src/pyams_security/interfaces/__init__.py:558 msgid "Enable login via social OAuth plug-ins" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:557 +#: ./src/pyams_security/interfaces/__init__.py:562 msgid "Social users folder" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:558 +#: ./src/pyams_security/interfaces/__init__.py:563 msgid "Name of folder used to store social users properties" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:567 +#: ./src/pyams_security/interfaces/__init__.py:572 msgid "Authomatic secret" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:568 +#: ./src/pyams_security/interfaces/__init__.py:573 msgid "This secret phrase is used to encrypt Authomatic cookie" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:572 +#: ./src/pyams_security/interfaces/__init__.py:577 msgid "Use social popup?" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:577 +#: ./src/pyams_security/interfaces/__init__.py:582 msgid "If 'Yes', any use will be able to create a new user account" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:581 +#: ./src/pyams_security/interfaces/__init__.py:586 msgid "Users folder" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:582 +#: ./src/pyams_security/interfaces/__init__.py:587 msgid "Name of users folder used to store registered principals" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:591 +#: ./src/pyams_security/interfaces/__init__.py:596 msgid "Credentials plug-ins" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:592 +#: ./src/pyams_security/interfaces/__init__.py:597 msgid "These plug-ins can be used to extract request credentials" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:597 +#: ./src/pyams_security/interfaces/__init__.py:602 msgid "Authentication plug-ins" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:598 +#: ./src/pyams_security/interfaces/__init__.py:603 msgid "" "The plug-ins can be used to check extracted credentials against a local or " "remote users database" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:603 +#: ./src/pyams_security/interfaces/__init__.py:608 msgid "Directory plug-ins" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:604 +#: ./src/pyams_security/interfaces/__init__.py:609 msgid "The plug-in can be used to extract principals information" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:678 -msgid "Provider name" -msgstr "" - -#: ./src/pyams_security/interfaces/__init__.py:682 -msgid "Provider ID" -msgstr "" - #: ./src/pyams_security/interfaces/__init__.py:683 +msgid "Provider name" +msgstr "" + +#: ./src/pyams_security/interfaces/__init__.py:687 +msgid "Provider ID" +msgstr "" + +#: ./src/pyams_security/interfaces/__init__.py:688 msgid "This value should be unique between all providers" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:687 +#: ./src/pyams_security/interfaces/__init__.py:692 msgid "Provider consumer key" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:690 +#: ./src/pyams_security/interfaces/__init__.py:695 msgid "Provider secret" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:708 +#: ./src/pyams_security/interfaces/__init__.py:713 msgid "Inherit parent security?" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:709 -msgid "Get access control entries (ACE) inherited from parent levels" -msgstr "" - #: ./src/pyams_security/interfaces/__init__.py:714 -msgid "Public permissions" +msgid "Get access control entries (ACE) inherited from parent levels" +msgstr "" + +#: ./src/pyams_security/interfaces/__init__.py:719 +msgid "Public denied permissions" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:715 +#: ./src/pyams_security/interfaces/__init__.py:720 +msgid "" +"These permissions will be denied to all users. Denied permissions take " +"precedence over granted ones." +msgstr "" + +#: ./src/pyams_security/interfaces/__init__.py:725 +msgid "Public granted permissions" +msgstr "" + +#: ./src/pyams_security/interfaces/__init__.py:726 msgid "These permissions will be granted to all users" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:718 -msgid "Authenticated permissions" +#: ./src/pyams_security/interfaces/__init__.py:729 +msgid "Authenticated denied permissions" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:719 +#: ./src/pyams_security/interfaces/__init__.py:730 +msgid "" +"These permissions will be denied to authenticated users. Denied permissions " +"take precedence over granted ones." +msgstr "" + +#: ./src/pyams_security/interfaces/__init__.py:735 +msgid "Authenticated granted permissions" +msgstr "" + +#: ./src/pyams_security/interfaces/__init__.py:736 msgid "These permissions will be granted to authenticated users" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:723 +#: ./src/pyams_security/interfaces/__init__.py:740 msgid "Inherit parent roles?" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:724 +#: ./src/pyams_security/interfaces/__init__.py:741 msgid "Get roles granted on parent levels" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:341 +#: ./src/pyams_security/interfaces/__init__.py:346 msgid "Your email address is not valid!" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:365 -#: ./src/pyams_security/interfaces/__init__.py:388 +#: ./src/pyams_security/interfaces/__init__.py:370 +#: ./src/pyams_security/interfaces/__init__.py:393 msgid "You didn't confirmed your password correctly!" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:412 +#: ./src/pyams_security/interfaces/__init__.py:417 msgid "Given email address is not valid!" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:565 +#: ./src/pyams_security/interfaces/__init__.py:570 msgid "You can't activate social login without selecting a social users folder" msgstr "" -#: ./src/pyams_security/interfaces/__init__.py:589 +#: ./src/pyams_security/interfaces/__init__.py:594 msgid "You can't activate open registration without selecting a users folder" msgstr "" @@ -866,6 +894,14 @@ msgid "Notifications can't be enabled without mailer utility" msgstr "" +#: ./src/pyams_security/interfaces/profile.py:33 +msgid "Profile's avatar" +msgstr "" + +#: ./src/pyams_security/interfaces/profile.py:34 +msgid "This picture will be associated to your user profile" +msgstr "" + #: ./src/pyams_security/plugin/http.py:44 msgid "HTTP Basic credentials" msgstr "" diff -r 59683c264d94 -r 5713898178f3 src/pyams_security/utility.py --- a/src/pyams_security/utility.py Thu Oct 08 09:31:45 2015 +0200 +++ b/src/pyams_security/utility.py Thu Oct 08 09:39:15 2015 +0200 @@ -179,6 +179,13 @@ return principal return MissingPrincipal(id=principal_id) + def get_all_principals(self, principal_id): + principals = set() + if principal_id: + for plugin in self.get_directory_plugins(): + principals.update(plugin.get_all_principals(principal_id)) + return principals + def find_principals(self, query): principals = set() for plugin in self.get_directory_plugins(): @@ -272,7 +279,7 @@ manager = self._get_security_manager(request) if manager is not None: principals |= set(manager.effective_principals(principal_id)) - logger.debug('principals = {0}'.format(str(principals))) + logger.debug('principals = {0}'.format(str(sorted(principals)))) return principals def remember(self, request, principal, **kw):