Index: WAeUP_SRP/base/skins/waeup_directory/member_create_form.pt
===================================================================
--- WAeUP_SRP/base/skins/waeup_directory/member_create_form.pt	(revision 2564)
+++ WAeUP_SRP/base/skins/waeup_directory/member_create_form.pt	(revision 2565)
@@ -3,28 +3,36 @@
   global dir here/portal_directories/?dirname;
   global dirtitle dir/title_or_id;
-  "/>
+  global allowed context/isStaff;"
+  />
 <metal:block use-macro="here/main_template/macros/master">
-
-  <metal:block fill-slot="action_slot" 
+  <metal:block tal:condition="allowed"
+               fill-slot="action_slot" 
                tal:define="actions python:context.getMembersDirectoryActions('create')">   
      <span metal:use-macro="here/member_view/macros/members_actions" />
   </metal:block>
-  <metal:block fill-slot="main" tal:define="
-          dummy dir/checkCreateEntryAllowed;
-          validate python: request.has_key('member_create_form');
-          create_request python: validate and request or nothing;
-          res python: dir.renderCreateEntryDetailed(
-          validate=validate, request=create_request,
-          created_callback='member_created');
-          global rendered_main python: res[0];
-          rendered_ok python: res[1];
-          ds python: res[2];
-          global portal_status_message python: validate and (rendered_ok and 
-          'psm_content_changed' or 'psm_content_error') or '';"
-          >
-    <h3>
-      Create Member     
-    </h3>        
-    <div tal:replace="structure rendered_main">Rendered main...</div>
+  <metal:block fill-slot="main">
+    <metal:block tal:condition="not: allowed">
+      <span tal:content="here/illegal_view" />
+    </metal:block>
+    <metal:block tal:condition="allowed">
+      <metal:block tal:define="
+      dummy dir/checkCreateEntryAllowed;
+      validate python: request.has_key('member_create_form');
+      create_request python: validate and request or nothing;
+      res python: dir.renderCreateEntryDetailed(
+      validate=validate, request=create_request,
+      created_callback='member_created');
+      global rendered_main python: res[0];
+      rendered_ok python: res[1];
+      ds python: res[2];
+      global portal_status_message python: validate and (rendered_ok and 
+      'psm_content_changed' or 'psm_content_error') or '';"
+      >
+        <h3>
+          Create Member     
+        </h3>        
+        <div tal:replace="structure rendered_main">Rendered main...</div>
+      </metal:block>
+    </metal:block>
   </metal:block>
 </metal:block>
Index: WAeUP_SRP/base/skins/waeup_directory/member_edit_form.pt
===================================================================
--- WAeUP_SRP/base/skins/waeup_directory/member_edit_form.pt	(revision 2564)
+++ WAeUP_SRP/base/skins/waeup_directory/member_edit_form.pt	(revision 2565)
@@ -1,31 +1,40 @@
 <tal:block define="
-  global id request/id;
+  global id request/id|nothing;
   global dirname string:members;
   global dir here/portal_directories/?dirname;
   global dirtitle dir/title_or_id;
-  "/>
+  global allowed context/isStaff;"
+  />
 <metal:block use-macro="here/main_template/macros/master">
-  <metal:block fill-slot="action_slot" 
-               tal:define="actions python:context.getMembersDirectoryActions('edit')">   
+  <metal:block tal:condition="allowed"
+               fill-slot="action_slot" 
+               tal:define="actions python:context.getMembersDirectoryActions('edit')">
      <span metal:use-macro="here/member_view/macros/members_actions" />
   </metal:block>
-  <metal:block fill-slot="main" tal:define="
-          title_field dir/title_field;
-          validate python: request.has_key('member_edit_form');
-          edit_request python: validate and request or nothing;
-          res python: dir.renderEditEntryDetailed(id, request=edit_request);
-          global rendered_main python: res[0];
-          rendered_ok python: res[1];
-          ds python: res[2];
-          global title ds/?title_field|id;
-          portal_status_message request/portal_status_message|nothing;
-          global portal_status_message python: portal_status_message or (validate 
-          and (rendered_ok and 'psm_content_changed' or 'psm_content_error')) 
-          or '';"
-          >
-    <h3>
-      <span tal:content="ds/fullname" />     
-    </h3>        
-    <div tal:replace="structure rendered_main">Rendered main...</div>
+  <metal:block fill-slot="main">
+    <metal:block tal:condition="not: allowed">
+      <span tal:content="here/illegal_view" />
+    </metal:block>
+    <metal:block tal:condition="allowed">
+      <metal:block tal:define="
+      title_field dir/title_field;
+      validate python: request.has_key('member_edit_form');
+      edit_request python: validate and request or nothing;
+      res python: dir.renderEditEntryDetailed(id, request=edit_request);
+      global rendered_main python: res[0];
+      rendered_ok python: res[1];
+      ds python: res[2];
+      global title ds/?title_field|id;
+      portal_status_message request/portal_status_message|nothing;
+      global portal_status_message python: portal_status_message or (validate 
+      and (rendered_ok and 'psm_content_changed' or 'psm_content_error')) 
+      or '';"
+      >
+        <h3>
+          <span tal:content="ds/fullname" />     
+        </h3>        
+        <div tal:replace="structure rendered_main">Rendered main...</div>
+      </metal:block>
+    </metal:block>
   </metal:block>
 </metal:block>
