MODE_ANONYMOUS = 'anonymous'
 security.declarePublic('MODE_ANONYMOUS')
 
+MODE_PASS_ANONYMOUS = 'pass_anonymous'
+security.declarePublic('MODE_PASS_ANONYMOUS')
+
 MODE_MANAGER = 'manager'
 security.declarePublic('MODE_MANAGER')
 
 MODE_REVIEWED = 'reviewed'
 security.declarePublic('MODE_REVIEWED')
 
-MODES = [MODE_ANONYMOUS, MODE_MANAGER, MODE_REVIEWED]
+MODES = [MODE_ANONYMOUS, MODE_PASS_ANONYMOUS, MODE_MANAGER, MODE_REVIEWED]
 security.declarePublic('MODES')
 
 DEFAULT_MEMBER_GROUP = 'members'
         urlTool = getToolByName(self, 'portal_url')
         portal = urlTool.getPortalObject()
     
-        if mode in [MODE_ANONYMOUS, MODE_REVIEWED] :
+        if mode in [MODE_ANONYMOUS, MODE_PASS_ANONYMOUS, MODE_REVIEWED] :
             portal.manage_permission(AddPortalMember, roles = ['Anonymous', 'Manager'], acquire=1)
         elif mode == MODE_MANAGER :
             portal.manage_permission(AddPortalMember, roles = ['Manager', 'UserManager'], acquire=0)
             p=Permission(AddPortalMember, [], portal)
             return p.getRoles()
         
-        if mode in [MODE_ANONYMOUS, MODE_REVIEWED] :
+        if mode in [MODE_ANONYMOUS, MODE_PASS_ANONYMOUS, MODE_REVIEWED] :
             if 'Anonymous' in rolesOfAddPortalMemberPerm() : return False
             
         elif mode == MODE_MANAGER :
 
 msgid ""
 msgstr ""
 "Project-Id-Version: Plinn 2.0\n"
-"POT-Creation-Date: Mon Sep  1 20:46:10 2014\n"
+"POT-Creation-Date: Wed Sep  3 22:19:34 2014\n"
 "PO-Revision-Date: 2013-11-28 13:12+0100\n"
 "Last-Translator:  Benoît PIN\n"
 "Language-Team: CRI http://cri.ensmp.fr\n"
 msgid "Please rename each listed object."
 msgstr ""
 
-#: n/RegistrationTool.py:228
+#: n/RegistrationTool.py:231
 msgid "How to reset your password on the %s website"
 msgstr ""
 
-#: n/RegistrationTool.py:243
+#: n/RegistrationTool.py:246
 msgid "Unknown user name. Please retry."
 msgstr ""
 
-#: n/RegistrationTool.py:258
+#: n/RegistrationTool.py:261
 msgid "Invalid reset password request."
 msgstr ""
 
-#: n/RegistrationTool.py:264
+#: n/RegistrationTool.py:267
 msgid "Your reset password request has expired. You can ask a new one."
 msgstr ""
 
-#: n/RegistrationTool.py:273
+#: n/RegistrationTool.py:276
 msgid "Password successfully updated."
 msgstr ""
 
-#: n/RegistrationTool.py:275
+#: n/RegistrationTool.py:278
 msgid "\"%s\" username not found."
 msgstr ""
 
 #: n/skins/custom_generic/logged_in.py:50
 #: n/skins/photo_theme/homepage_dispatcher.py:14
 #: n/skins/photo_theme/homepage_dispatcher.py:17
-#: n/skins/photo_theme/homepage_dispatcher.py:20
+#: n/skins/photo_theme/homepage_dispatcher.py:25
+#: n/skins/photo_theme/homepage_dispatcher.py:28
 msgid "Login success"
 msgstr ""
 
 #: n/skins/custom_generic/talkback_tree.pt:82
 #: n/skins/generic/gruf_macros.pt:77 n/skins/generic/gruf_macros.pt:410
 #: n/skins/generic/header_widgets.pt:32 n/skins/generic/header_widgets.pt:173
-#: n/skins/generic/send_email_form.pt:79
+#: n/skins/generic/send_email_form.pt:79 n/www/configureRegistrationTool.pt:43
 msgid "Validate"
 msgstr ""
 
 msgid "(No description)"
 msgstr ""
 
+#: n/www/configureRegistrationTool.pt:4
+msgid "Configure ${portal_calendar} Tool"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:6
+msgid "Select registration mode"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:11
+msgid "Anonymous registration"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:17
+msgid "Anonymous registration with password"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:23
+msgid "Portal manager registration"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:30
+msgid "Reviewed registration"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:34
+msgid "Workflow chain"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:39
+msgid "Role mapping mismatch : click Validate to solve this problem !"
+msgstr ""
+
 #: n/www/manage_solr.pt:4
 msgid "Configure Solr delegated indexes"
 msgstr ""
 msgid "Advanced search"
 msgstr ""
 
-msgid "Anonymous registration"
-msgstr ""
-
 msgid "Appointment"
 msgstr ""
 
 msgid "Comment"
 msgstr ""
 
-msgid "Configure ${portal_calendar} Tool"
-msgstr ""
-
 msgid "Container block"
 msgstr ""
 
 msgid "Play"
 msgstr ""
 
-msgid "Portal manager registration"
-msgstr ""
-
 msgid "Portal Role"
 msgstr ""
 
 msgid "retract_to_shared"
 msgstr ""
 
-msgid "Reviewed registration"
-msgstr ""
-
 msgid "Reviewer"
 msgstr ""
 
 msgid "Role(s)"
 msgstr ""
 
-msgid "Role mapping mismatch : click Validate to solve this problem !"
-msgstr ""
-
 msgid "Roles to assign:"
 msgstr ""
 
 msgid "Select Member(s) and a role(s) to assign:"
 msgstr ""
 
-msgid "Select registration mode"
-msgstr ""
-
 msgid "September"
 msgstr ""
 
 msgid "Work"
 msgstr ""
 
-msgid "Workflow chain"
-msgstr ""
-
 msgid "You are not allowed to delete: "
 msgstr ""
 
 
 msgid ""
 msgstr ""
 "Project-Id-Version: Plinn 2.0\n"
-"POT-Creation-Date: Mon Sep  1 20:46:10 2014\n"
-"PO-Revision-Date: 2014-07-21 16:33+0200\n"
+"POT-Creation-Date: Wed Sep  3 22:19:34 2014\n"
+"PO-Revision-Date: 2014-09-03 22:22+0200\n"
 "Last-Translator:  Benoît PIN\n"
 "Language-Team: CRI http://cri.ensmp.fr\n"
 "Language: \n"
 msgid "Please rename each listed object."
 msgstr "Veuillez renommer tous les éléments listés."
 
-#: n/RegistrationTool.py:228
+#: n/RegistrationTool.py:231
 msgid "How to reset your password on the %s website"
 msgstr "Comment réinitialiser votre mot de passe sur le site %s"
 
-#: n/RegistrationTool.py:243
+#: n/RegistrationTool.py:246
 msgid "Unknown user name. Please retry."
 msgstr "Nom d'utilisateur inconnu. Veuillez réessayer."
 
-#: n/RegistrationTool.py:258
+#: n/RegistrationTool.py:261
 msgid "Invalid reset password request."
 msgstr "Demande de réinitialisation de mot de passe invalide."
 
-#: n/RegistrationTool.py:264
+#: n/RegistrationTool.py:267
 msgid "Your reset password request has expired. You can ask a new one."
 msgstr ""
 "Votre demande de réinitialisation de mot de passe a expiré. Vous pouvez en "
 "demander une nouvelle."
 
-#: n/RegistrationTool.py:273
+#: n/RegistrationTool.py:276
 msgid "Password successfully updated."
 msgstr "Mot de passe correctement mis à jour."
 
-#: n/RegistrationTool.py:275
+#: n/RegistrationTool.py:278
 msgid "\"%s\" username not found."
 msgstr "Nom : « %s » non trouvé."
 
 #: n/skins/custom_generic/logged_in.py:50
 #: n/skins/photo_theme/homepage_dispatcher.py:14
 #: n/skins/photo_theme/homepage_dispatcher.py:17
-#: n/skins/photo_theme/homepage_dispatcher.py:20
+#: n/skins/photo_theme/homepage_dispatcher.py:25
+#: n/skins/photo_theme/homepage_dispatcher.py:28
 msgid "Login success"
 msgstr "Connexion réussie"
 
 #: n/skins/custom_generic/talkback_tree.pt:82
 #: n/skins/generic/gruf_macros.pt:77 n/skins/generic/gruf_macros.pt:410
 #: n/skins/generic/header_widgets.pt:32 n/skins/generic/header_widgets.pt:173
-#: n/skins/generic/send_email_form.pt:79
+#: n/skins/generic/send_email_form.pt:79 n/www/configureRegistrationTool.pt:43
 msgid "Validate"
 msgstr "Valider"
 
 msgid "(No description)"
 msgstr "(Sans description)"
 
+#: n/www/configureRegistrationTool.pt:4
+msgid "Configure ${portal_calendar} Tool"
+msgstr "Configurer l'outil ${portal_calendar}"
+
+#: n/www/configureRegistrationTool.pt:6
+msgid "Select registration mode"
+msgstr "Sélectionner le mode d'inscription"
+
+#: n/www/configureRegistrationTool.pt:11
+msgid "Anonymous registration"
+msgstr "Inscription anonyme"
+
+#: n/www/configureRegistrationTool.pt:17
+msgid "Anonymous registration with password"
+msgstr "Inscription anonyme avec mot de passe"
+
+#: n/www/configureRegistrationTool.pt:23
+msgid "Portal manager registration"
+msgstr "Inscription par l'administrateur"
+
+#: n/www/configureRegistrationTool.pt:30
+msgid "Reviewed registration"
+msgstr "Inscription modérée"
+
+#: n/www/configureRegistrationTool.pt:34
+msgid "Workflow chain"
+msgstr "Séquence de workflow"
+
+#: n/www/configureRegistrationTool.pt:39
+msgid "Role mapping mismatch : click Validate to solve this problem !"
+msgstr ""
+"Paramétrage des rôles non concordant, cliquer sur Valider pour résoudre le "
+"problème !"
+
 #: n/www/manage_solr.pt:4
 msgid "Configure Solr delegated indexes"
 msgstr "Configurer les index délégués à Solr"
 msgid "Advanced search"
 msgstr "Recherche avancée"
 
-msgid "Anonymous registration"
-msgstr "Inscription anonyme"
-
 msgid "Appointment"
 msgstr "Rendez-vous"
 
 msgid "Comment"
 msgstr "Commenter"
 
-msgid "Configure ${portal_calendar} Tool"
-msgstr "Configurer l'outil ${portal_calendar}"
-
 msgid "Container block"
 msgstr "Conteneur"
 
 msgid "Play"
 msgstr "Lecture"
 
-msgid "Portal manager registration"
-msgstr "Inscription par l'administrateur"
-
 msgid "Portal Role"
 msgstr "Rôle du portail"
 
 msgid "retract_to_shared"
 msgstr "retirer"
 
-msgid "Reviewed registration"
-msgstr "Inscription modérée"
-
 msgid "Reviewer"
 msgstr "Modérateur"
 
 msgid "Role(s)"
 msgstr "Rôle(s)"
 
-msgid "Role mapping mismatch : click Validate to solve this problem !"
-msgstr ""
-"Paramétrage des rôles non concordant, cliquer sur Valider pour résoudre le "
-"problème !"
-
 msgid "Roles to assign:"
 msgstr "Rôles à assigner"
 
 msgid "Select Member(s) and a role(s) to assign:"
 msgstr "Sélectionner le(s) membre(s) et le(s) rôle(s) à assigner :"
 
-msgid "Select registration mode"
-msgstr "Sélectionner le mode d'inscription"
-
 msgid "September"
 msgstr "Septembre"
 
 msgid "Work"
 msgstr "Travail"
 
-msgid "Workflow chain"
-msgstr "Séquence de workflow"
-
 msgid "You are not allowed to delete: "
 msgstr "Vous n'êtes pas autorisé à supprimer : "
 
 
 msgid "Advanced search"
 msgstr ""
 
-msgid "Anonymous registration"
-msgstr ""
-
 msgid "Appointment"
 msgstr ""
 
 msgid "Comment"
 msgstr ""
 
-msgid "Configure ${portal_calendar} Tool"
-msgstr ""
-
 msgid "Container block"
 msgstr ""
 
 msgid "Play"
 msgstr ""
 
-msgid "Portal manager registration"
-msgstr ""
-
 msgid "Portal Role"
 msgstr ""
 
 msgid "retract_to_shared"
 msgstr ""
 
-msgid "Reviewed registration"
-msgstr ""
-
 msgid "Reviewer"
 msgstr ""
 
 msgid "Role(s)"
 msgstr ""
 
-msgid "Role mapping mismatch : click Validate to solve this problem !"
-msgstr ""
-
 msgid "Roles to assign:"
 msgstr ""
 
 msgid "Select Member(s) and a role(s) to assign:"
 msgstr ""
 
-msgid "Select registration mode"
-msgstr ""
-
 msgid "September"
 msgstr ""
 
 msgid "Work"
 msgstr ""
 
-msgid "Workflow chain"
-msgstr ""
-
 msgid "You are not allowed to delete: "
 msgstr ""
 
 
 msgid ""
 msgstr ""
 "Project-Id-Version: 2.0 beta 1\n"
-"POT-Creation-Date: Mon Sep  1 20:46:10 2014\n"
+"POT-Creation-Date: Wed Sep  3 22:20:58 2014\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Zope 3 Developers <zope-dev@zope.org>\n"
 msgid "Please rename each listed object."
 msgstr ""
 
-#: n/RegistrationTool.py:228
+#: n/RegistrationTool.py:231
 msgid "How to reset your password on the %s website"
 msgstr ""
 
-#: n/RegistrationTool.py:243
+#: n/RegistrationTool.py:246
 msgid "Unknown user name. Please retry."
 msgstr ""
 
-#: n/RegistrationTool.py:258
+#: n/RegistrationTool.py:261
 msgid "Invalid reset password request."
 msgstr ""
 
-#: n/RegistrationTool.py:264
+#: n/RegistrationTool.py:267
 msgid "Your reset password request has expired. You can ask a new one."
 msgstr ""
 
-#: n/RegistrationTool.py:273
+#: n/RegistrationTool.py:276
 msgid "Password successfully updated."
 msgstr ""
 
-#: n/RegistrationTool.py:275
+#: n/RegistrationTool.py:278
 msgid "\"%s\" username not found."
 msgstr ""
 
 #: n/skins/custom_generic/logged_in.py:50
 #: n/skins/photo_theme/homepage_dispatcher.py:14
 #: n/skins/photo_theme/homepage_dispatcher.py:17
-#: n/skins/photo_theme/homepage_dispatcher.py:20
+#: n/skins/photo_theme/homepage_dispatcher.py:25
+#: n/skins/photo_theme/homepage_dispatcher.py:28
 msgid "Login success"
 msgstr ""
 
 #: n/skins/generic/header_widgets.pt:32
 #: n/skins/generic/header_widgets.pt:173
 #: n/skins/generic/send_email_form.pt:79
+#: n/www/configureRegistrationTool.pt:43
 msgid "Validate"
 msgstr ""
 
 msgid "(No description)"
 msgstr ""
 
+#: n/www/configureRegistrationTool.pt:4
+msgid "Configure ${portal_calendar} Tool"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:6
+msgid "Select registration mode"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:11
+msgid "Anonymous registration"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:17
+msgid "Anonymous registration with password"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:23
+msgid "Portal manager registration"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:30
+msgid "Reviewed registration"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:34
+msgid "Workflow chain"
+msgstr ""
+
+#: n/www/configureRegistrationTool.pt:39
+msgid "Role mapping mismatch : click Validate to solve this problem !"
+msgstr ""
+
 #: n/www/manage_solr.pt:4
 msgid "Configure Solr delegated indexes"
 msgstr ""
 msgid "Advanced search"
 msgstr ""
 
-msgid "Anonymous registration"
-msgstr ""
-
 msgid "Appointment"
 msgstr ""
 
 msgid "Comment"
 msgstr ""
 
-msgid "Configure ${portal_calendar} Tool"
-msgstr ""
-
 msgid "Container block"
 msgstr ""
 
 msgid "Play"
 msgstr ""
 
-msgid "Portal manager registration"
-msgstr ""
-
 msgid "Portal Role"
 msgstr ""
 
 msgid "retract_to_shared"
 msgstr ""
 
-msgid "Reviewed registration"
-msgstr ""
-
 msgid "Reviewer"
 msgstr ""
 
 msgid "Role(s)"
 msgstr ""
 
-msgid "Role mapping mismatch : click Validate to solve this problem !"
-msgstr ""
-
 msgid "Roles to assign:"
 msgstr ""
 
 msgid "Select Member(s) and a role(s) to assign:"
 msgstr ""
 
-msgid "Select registration mode"
-msgstr ""
-
 msgid "September"
 msgstr ""
 
 msgid "Work"
 msgstr ""
 
-msgid "Workflow chain"
-msgstr ""
-
 msgid "You are not allowed to delete: "
 msgstr ""
 
 
   <br />
   <h4 i18n:translate="">Select registration mode</h4>
   <form action="." method="post" tal:attributes="action here/absolute_url">
-    <label><input type="radio" name="registration_mode" value="anonymous" tal:attributes="checked python:here.getMode() == 'anonymous'" /> <span i18n:translate="" tal:omit-tag="">Anonymous registration</span></label><br />
-    <label><input type="radio" name="registration_mode" value="manager" tal:attributes="checked python:here.getMode() == 'manager'"  /> <span i18n:translate="" tal:omit-tag="">Portal manager registration</span></label><br />
+    <label>
+      <input type="radio" name="registration_mode" value="anonymous"
+             tal:attributes="checked python:here.getMode() == 'anonymous'"/>
+      <span i18n:translate="" tal:omit-tag="">Anonymous registration</span>
+    </label>
+    <br/>
+    <label>
+      <input type="radio" name="registration_mode" value="pass_anonymous"
+             tal:attributes="checked python:here.getMode() == 'pass_anonymous'"/>
+      <span i18n:translate="" tal:omit-tag="">Anonymous registration with password</span>
+    </label>
+    <br/>
+    <label>
+      <input type="radio" name="registration_mode" value="manager"
+             tal:attributes="checked python:here.getMode() == 'manager'"/>
+      <span i18n:translate="" tal:omit-tag="">Portal manager registration</span>
+    </label>
+    <br/>
     <div>
-           <label><input type="radio" name="registration_mode" value="reviewed" tal:attributes="checked python:here.getMode() == 'reviewed'" /> <span i18n:translate="" tal:omit-tag="">Reviewed registration</span></label><br />
+           <label>
+        <input type="radio" name="registration_mode" value="reviewed"
+               tal:attributes="checked python:here.getMode() == 'reviewed'"/>
+        <span i18n:translate="" tal:omit-tag="">Reviewed registration</span>
+      </label>
+      <br/>
            <div style="margin-left : 1em">
         <em i18n:translate="" >Workflow chain</em><br />
-        <input type="text" name="chain" size="50" value="workflow chain" tal:attributes="value here/getWfChain" />
+        <input type="text" name="chain" size="50" value="workflow chain"
+               tal:attributes="value here/getWfChain"/>
       </div>
          </div>
          <h5 style="color : red" i18n:translate=""
-                               tal:condition="here/roleMappingMismatch">Role mapping mismatch : click Validate to solve this problem !</h5>
+                               tal:condition="here/roleMappingMismatch">
+        Role mapping mismatch : click Validate to solve this problem !
+    </h5>
     <input type="submit" name="configureTool:method" value="Validate" i18n:attributes="value" />
   </form>
 </div>