Bon, bah , je me réponds :
1) en ZMI, au niveau du site > onglet "Security" pour la permission "Add portal member" décocher "Acquire" est cocher pour "Manager"
à ce niveau, seul les admin du site peuvent créer des cptes, mais le process reste accessible au non admin bien qu'aucun cpte ne soit créé, pas de message d'info, pour résoudre cela :
2) Toujours en ZMI, J'ai customisé le template "join_form" : si rôle "Manager" rien ne change, sinon affichage d'un message d'info…
<body>
<div metal:fill-slot="main"
tal:define="errors options/state/getErrors;">
<h1 i18n:translate="heading_registration_form">Registration Form</h1>
<!-- Affiche le formulaire si rôle est "Manager" - TCR : custom du 11/01/08 -->
<div tal:condition="python:mtool.getAuthenticatedMember().has_role('Manager')== 1">
<form action=""
method="post"
class="enableUnloadProtection"
tal:define="allowEnterPassword site_properties/validate_email|nothing;"
tal:attributes="action template_id" >
...
...
</form>
</div>
<!-- Affiche message si rôle n'est pss "Manager" - TCR : custom du 11/01/08 -->
<div tal:condition="python:mtool.getAuthenticatedMember().has_role('Manager')== 0">
<p>Désolé, vous n'avez pas les autorisations nécessaires.</p>
<p>
<a tal:attributes="href here/absolute_url" class="selected">Accueil</a>
</p>
</div>
</div>
</body>
De plus, et facultatif, à la place de "s'inscrire", j'ai ajouté "Créer un compte" uniquement visible par les admins du site, même utilisation que la création depuis la PMI (cela évite simplement d'aller en PMI, mais la création depuis celle-ci est toujours possible…) > en ZMI portal_registration (ZMI) > Add an action
Title> Créer un compte
Id> creercompte
URL (Expression)> string:${portal_url}/join_form?came_from_prefs=1
Condition (Expression)> python:portal.portal_membership.getAuthenticatedMember().has_role('Manager')==1
Permission: Add Portal Memeber
Category: user
Visible:
coché
Bon, je sais au niveau Condition et Permission, c'est ceinture et bretelles !
Thierry