[Erp5-report] r41553 fx.algrain - in /erp5/trunk/bt5/erp5_credential: SkinTemplateItem/port...

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Dec 20 18:07:33 CET 2010


Author: fx.algrain
Date: Mon Dec 20 18:07:33 2010
New Revision: 41553

URL: http://svn.erp5.org?rev=41553&view=rev
Log:
Fix update of assignement when assignment exist

Modified:
    erp5/trunk/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRequest_updatePersonAssignment.xml
    erp5/trunk/bt5/erp5_credential/bt/revision

Modified: erp5/trunk/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRequest_updatePersonAssignment.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRequest_updatePersonAssignment.xml?rev=41553&r1=41552&r2=41553&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRequest_updatePersonAssignment.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_credential/SkinTemplateItem/portal_skins/erp5_credential/CredentialRequest_updatePersonAssignment.xml [utf8] Mon Dec 20 18:07:33 2010
@@ -62,15 +62,15 @@ organisation = context.getDestinationDec
 \n
 assignment_configuration = {}\n
 #Look on current assignement\n
-old_role_list = context.portal_categories.role.getCategoryChildRelativeUrlList()\n
-# XXX remove the base \'role/\'. A better way could be possible\n
-old_role_list = [x.replace(\'role/\', \'\', 1) for x in old_role_list]\n
+old_role_list = context.portal_categories.role.getCategoryChildLogicalPathItemList()[1:]\n
+#old_role_list look like [[\'title\',\'logical_path\'],]\n
+old_role_list = [ category[1] for category in old_role_list]\n
 for role in context.getRoleList():\n
   has_assignment = person.countFolder(portal_type=\'Assignment\',\n
                                                role = role,\n
                                                validation_state = \'open\')\n
 \n
-  assignment_configuration[role] = bool(has_assignment)\n
+  assignment_configuration[role] = bool(has_assignment[0][0])\n
   old_role_list.remove(role)\n
 \n
 #Close old assignement\n
@@ -81,10 +81,25 @@ assignment_duration = context.portal_pre
 today = DateTime()\n
 delay = today+assignment_duration\n
 \n
-organisation_url = organisation and organisation.getRelativeUrl() or None;\n
-for role,create_assingment in assignment_configuration.items():\n
-  if create_assingment:\n
-    assignment_for_website = person.newContent(\n
+organisation_url = organisation is not None and organisation.getRelativeUrl() or None;\n
+for role,has_assignment in assignment_configuration.items():\n
+  if has_assignment:\n
+    #Update assignment\n
+    current_assignment_list = person.searchFolder(portal_type=\'Assignment\',\n
+                                                role = role,\n
+                                                validation_state = \'open\')\n
+    for assignment in current_assignment_list:\n
+      assignment = assignment.getObject()\n
+      assignment.update()\n
+      assignment.edit(site = context.getSite(),\n
+                      activity = context.getActivityList(),                    \n
+                      function = context.getFunctionList(),\n
+                      destination = organisation_url,\n
+                      stop_date=delay)\n
+      assignment.open()\n
+  else:\n
+    #Create assignment\n
+    assignment = person.newContent(\n
         portal_type=\'Assignment\',\n
         title = \'%s %s Assignment\' % (context.getSite(\'\').capitalize(), role.capitalize()),\n
         role = role,\n
@@ -93,17 +108,9 @@ for role,create_assingment in assignment
         function = context.getFunctionList(),\n
         destination = organisation_url,\n
         start_date = today,\n
-        stop_date = delay\n
-        )\n
+        stop_date = delay)\n
 \n
-    assignment_for_website.open()\n
-  else:\n
-    #Update assignment\n
-    current_assignment_list = person.searchFolder(portal_type=\'Assignment\',\n
-                                                role = role,\n
-                                                validation_state = \'open\')\n
-    for assignment in current_assignment_list:\n
-      assignment.getObject().setStopDate(delay)\n
+    assignment.open()\n
 </string> </value>
         </item>
         <item>

Modified: erp5/trunk/bt5/erp5_credential/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_credential/bt/revision?rev=41553&r1=41552&r2=41553&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_credential/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_credential/bt/revision [utf8] Mon Dec 20 18:07:33 2010
@@ -1 +1 @@
-320
\ No newline at end of file
+321
\ No newline at end of file



More information about the Erp5-report mailing list