Index: WAeUP_SRP/trunk/skins/waeup_directory/getWAeUPDirectoryActions.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_directory/getWAeUPDirectoryActions.py	(revision 953)
+++ WAeUP_SRP/trunk/skins/waeup_directory/getWAeUPDirectoryActions.py	(revision 953)
@@ -0,0 +1,76 @@
+##parameters=actions, dirname, dir, mode, id=''
+#$Id: getDirectoryActions.py 25260 2005-07-26 00:41:23Z atchertchian $
+"""
+Get the actions to provide on a directory view
+
+Parameters are:
+- the current actions
+- the directory id
+- the directory itself
+- the mode (create, edit, view or search)
+- the entry id (eventually)
+
+Return the updated actions
+"""
+
+from Products.CMFCore.utils import getToolByName
+
+utool = getToolByName(context, 'portal_url')
+base_url = utool.getBaseUrl()
+
+create_action = {
+    'id': 'new_entry',
+    'url': base_url+'member_create_form?dirname='+dirname,
+    'name': 'cpsdir_label_create_entry',
+    'category': 'object',
+    }
+
+search_action = {
+    'id': 'search_entry',
+    'url': base_url+'search_members_form?dirname='+dirname,
+    'name': 'cpsdir_label_search_entry',
+    'category': 'object'
+    }
+
+view_action = {
+    'id': 'view_entry',
+    'url': base_url+'member_view?dirname='+dirname+'&id='+id,
+    'name': 'cpsdir_label_view_entry',
+    'category': 'object',
+    }
+
+edit_action = {
+    'id': 'edit_entry',
+    'url': base_url+'member_edit_form?dirname='+dirname+'&id='+id,
+    'name': 'cpsdir_label_edit_entry',
+    'category': 'object',
+    }
+
+confirm_text = context.translation_service('description_confirm_delete')
+confirm_text.encode('ISO-8859-15', 'ignore')
+delete_action = {
+    'id': 'delete_entry',
+    'url': base_url+'member_delete?dirname='+dirname+'&id='+id,
+    'onclick': 'return window.confirm(\''+ confirm_text +'\')' ,
+    'name': 'cpsdir_label_delete_entry',
+    'category': 'object',
+    }
+
+
+# only actions with category 'object' have to be changed
+
+if dir.isSearchEntriesAllowed():
+    actions.update({'object': [search_action]})
+
+if dir.isCreateEntryAllowed():
+    actions['object'].append(create_action)
+
+if mode in ['view', 'edit']:
+    if dir.isViewEntryAllowed(id):
+        actions['object'].append(view_action)
+    if dir.isEditEntryAllowed(id):
+        actions['object'].append(edit_action)
+    if dir.isDeleteEntryAllowed(id):
+        actions['object'].append(delete_action)
+
+return actions
Index: WAeUP_SRP/trunk/skins/waeup_directory/layout_waeup_dir_edit.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_directory/layout_waeup_dir_edit.pt	(revision 952)
+++ WAeUP_SRP/trunk/skins/waeup_directory/layout_waeup_dir_edit.pt	(revision 953)
@@ -67,9 +67,9 @@
     <tal:block condition="has_edits">
     <input type="submit" class="standalone"
-      name="cpsdirectory_entry_edit_form:method"
+      name="member_edit_form:method"
       value="button_change" i18n:attributes="value"
       tal:condition="not:creation" />
     <input type="submit" class="standalone"
-      name="cpsdirectory_entry_create_form:method"
+      name="member_create_form:method"
       value="button_create" i18n:attributes="value"
       tal:condition="creation" />
Index: WAeUP_SRP/trunk/skins/waeup_directory/member_create_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_directory/member_create_form.pt	(revision 953)
+++ WAeUP_SRP/trunk/skins/waeup_directory/member_create_form.pt	(revision 953)
@@ -0,0 +1,37 @@
+<tal:block define="
+  global dirname request/dirname|string:members;
+  global dir here/portal_directories/?dirname;
+  global dirtitle dir/title_or_id;
+  "/>
+<metal:block use-macro="here/main_template/macros/master">
+  <metal:block fill-slot="style_slot">
+    <tal:block define="global actions
+      python:context.getWAeUPDirectoryActions(actions, dirname, dir, 'create')"/>
+
+    <link rel="Stylesheet" type="text/css" href=""
+      tal:attributes="href string:${base_url}document.css" />
+  </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>
+
+</metal:block>
Index: WAeUP_SRP/trunk/skins/waeup_directory/member_created.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_directory/member_created.py	(revision 953)
+++ WAeUP_SRP/trunk/skins/waeup_directory/member_created.py	(revision 953)
@@ -0,0 +1,23 @@
+##parameters=datastructure
+"""
+Do the necessary rendering or redirection after an entry has been
+successfully created and filled with the initial values by the user.
+
+The context is the directory.
+
+May return a rendered document, or do a redirect.
+"""
+
+from urllib import urlencode
+
+dirname = context.getId()
+id_field = context.id_field
+id = datastructure.getDataModel()[id_field]
+
+portal_url = context.portal_url()
+args = urlencode({'dirname': dirname,
+                  'id': id,
+                  'portal_status_message': 'psm_entry_created',
+                  })
+action_path = 'member_edit_form?'+args
+context.REQUEST.RESPONSE.redirect('%s/%s' % (portal_url, action_path))
Index: WAeUP_SRP/trunk/skins/waeup_directory/member_delete.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_directory/member_delete.py	(revision 953)
+++ WAeUP_SRP/trunk/skins/waeup_directory/member_delete.py	(revision 953)
@@ -0,0 +1,41 @@
+##parameters=dirname=None, id=None, ids=[], REQUEST=None
+# $Id: member_delete.py 21607 2005-05-17 08:36:35Z atchertchian $
+"""
+This script can be both called with request parameters or with form parameters
+"""
+
+from zLOG import LOG, DEBUG
+logKey = 'member_delete'
+
+if REQUEST is not None:
+    psm = 'psm_entry_deleted'
+    if REQUEST.form.has_key('dirname'):
+        dirname = REQUEST.form.get('dirname')
+        #LOG(logKey, DEBUG, "dirname = %s" % dirname)
+
+    if REQUEST.form.get('ids'):
+        ids = REQUEST.form.get('ids')
+        #LOG(logKey, DEBUG, "ids = %s" % str(ids))
+
+dir = context.portal_directories[dirname]
+
+if id:
+    try:
+        dir.deleteEntry(id)
+    except ValueError, e:
+        msg = str(e)
+        if REQUEST is not None and \
+               msg.find("Operation not allowed on non-leaf") > 0:
+            psm = 'psm_entry_delete_not_allowed_on_non_leaf'
+        else:
+            raise
+
+if ids:
+    for id in ids:
+        dir.deleteEntry(id)
+
+if REQUEST is not None:
+    portal_url = context.portal_url()
+    REQUEST.RESPONSE.redirect('%s/search_members_form?dirname=%s'
+                              '&portal_status_message=%s' %
+                              (portal_url, dirname, psm))
Index: WAeUP_SRP/trunk/skins/waeup_directory/member_edit_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_directory/member_edit_form.pt	(revision 953)
+++ WAeUP_SRP/trunk/skins/waeup_directory/member_edit_form.pt	(revision 953)
@@ -0,0 +1,37 @@
+<tal:block define="
+  global id request/id;
+  global dirname string:members;
+  global dir here/portal_directories/?dirname;
+  global dirtitle dir/title_or_id;
+  "/>
+<metal:block use-macro="here/main_template/macros/master">
+
+  <metal:block fill-slot="style_slot">
+    <tal:block define="global actions
+      python:context.getWAeUPDirectoryActions(actions, dirname, dir, 'edit', id)"/>
+    <link rel="Stylesheet" type="text/css" href=""
+      tal:attributes="href string:${base_url}document.css" />
+  </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>
+
+</metal:block>
Index: WAeUP_SRP/trunk/skins/waeup_directory/member_view.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_directory/member_view.pt	(revision 952)
+++ WAeUP_SRP/trunk/skins/waeup_directory/member_view.pt	(revision 953)
@@ -6,29 +6,25 @@
   "/>
 <metal:block use-macro="here/main_template/macros/master">
+
   <metal:block fill-slot="style_slot">
-    <tal:block define="dummy
-      python:context.setDirectoryBreadCrumbs(request, dirname, dir, dirtitle)"/>
     <tal:block define="global actions
-      python:context.getDirectoryActions(actions, dirname, dir, 'view', id)"/>
-
+      python:context.getWAeUPDirectoryActions(actions, dirname, dir, 'view', id)"/>
     <link rel="Stylesheet" type="text/css" href=""
       tal:attributes="href string:${base_url}document.css" />
   </metal:block>
 
-  <metal:block fill-slot="header">
-    <h1>
-      <span i18n:translate="" tal:content="dirtitle" />:
-      <span i18n:translate="cpsdir_label_view_entry">view entry</span>
-    </h1>
-    <div class="description">
-    </div>
-  </metal:block>
+
 
   <metal:block fill-slot="main" tal:define="
-    title_field dir/title_field;
+    
     res python: dir.renderEntryDetailed(id);
     global rendered_main python: res[0];
     ds python: res[1];
     global title ds/?title_field|id;">
+    
+    <h3>
+      <span tal:content="ds/fullname" />     
+    </h3>
+
 
     <div tal:replace="structure rendered_main">Rendered main...</div>
Index: WAeUP_SRP/trunk/skins/waeup_directory/members_edit_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_directory/members_edit_form.pt	(revision 952)
+++ 	(revision )
@@ -1,43 +1,0 @@
-<tal:block define="
-  global id request/id;
-  global dirname string:members;
-  global dir here/portal_directories/?dirname;
-  global dirtitle dir/title_or_id;
-  "/>
-<metal:block use-macro="here/main_template/macros/master">
-  <metal:block fill-slot="style_slot">
-    <tal:block define="dummy
-      python:context.setDirectoryBreadCrumbs(request, dirname, dir, dirtitle)"/>
-    <tal:block define="global actions
-      python:context.getDirectoryActions(actions, dirname, dir, 'edit', id)"/>
-
-    <link rel="Stylesheet" type="text/css" href=""
-      tal:attributes="href string:${base_url}document.css" />
-  </metal:block>
-
-  <metal:block fill-slot="header">
-    <h1>
-      <span i18n:translate="" tal:content="dirtitle" />:
-      <span i18n:translate="cpsdir_label_edit_entry">Edit entry</span>
-    </h1>
-    <div class="description">
-    </div>
-  </metal:block>
-
-  <metal:block fill-slot="main" tal:define="
-      title_field dir/title_field;
-      validate python: request.has_key('cpsdirectory_entry_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 '';">
-    <div tal:replace="structure rendered_main">Rendered main...</div>
-  </metal:block>
-
-</metal:block>
Index: WAeUP_SRP/trunk/skins/waeup_directory/search_members.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_directory/search_members.py	(revision 952)
+++ WAeUP_SRP/trunk/skins/waeup_directory/search_members.py	(revision 953)
@@ -56,5 +56,5 @@
     results = dir.searchEntries(return_fields=return_fields, **mapping)
 except SearchSizeLimitExceeded, e:
-    rendered = dir.cpsdirectory_entry_search_errors(exception=e)
+    rendered = dir.member_search_errors(exception=e)
     return rendered, 'results'
 
Index: WAeUP_SRP/trunk/skins/waeup_directory/search_members_form.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_directory/search_members_form.pt	(revision 952)
+++ WAeUP_SRP/trunk/skins/waeup_directory/search_members_form.pt	(revision 953)
@@ -9,5 +9,5 @@
       python:context.setDirectoryBreadCrumbs(request, dirname, dir, dirtitle)"/>
     <tal:block define="global actions
-      python:context.getDirectoryActions(actions, dirname, dir, 'search')"/>
+      python:context.getWAeUPDirectoryActions(actions, dirname, dir, 'search')"/>
 
     <link rel="Stylesheet" type="text/css" href=""
@@ -27,14 +27,8 @@
     global portal_status_message python: (validate and not ok and
       'psm_content_error') or request.form.get('portal_status_message', '');">
-    <h1>
-      <span i18n:translate="" tal:content="dirtitle" />:
-      <span tal:condition="python: ok == 'results'"
-        i18n:translate="">cpsdir_label_results
-      </span>
-      <span tal:condition="python: ok != 'results'"
-         i18n:translate="cpsdir_label_search_entry">search an entry
-      </span>
-    </h1>
-
+    <h3>
+      Search Member Section
+    </h3>
+    <br />
     <div tal:replace="structure rendered_main">Rendered main...</div>
   </metal:block>
Index: WAeUP_SRP/trunk/skins/waeup_directory/search_members_results.pt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_directory/search_members_results.pt	(revision 952)
+++ WAeUP_SRP/trunk/skins/waeup_directory/search_members_results.pt	(revision 953)
@@ -16,5 +16,5 @@
   ">
   <div style="padding-left: 1.5em">
-    <form action="cpsdirectory_entry_delete" method="post">
+    <form action="member_delete" method="post">
       <table tal:condition="results" summary="search result list">
         <tr>
