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

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Jan 25 13:05:10 CET 2011


Author: fx.algrain
Date: Tue Jan 25 13:05:10 2011
New Revision: 42649

URL: http://svn.erp5.org?rev=42649&view=rev
Log:
Fix get of assignment to update. Reduce use of catalog search.  

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=42649&r1=42648&r2=42649&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] Tue Jan 25 13:05:10 2011
@@ -66,30 +66,31 @@ old_role_list = context.portal_categorie
 #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[0][0])\n
   old_role_list.remove(role)\n
+ \n
 \n
 #Close old assignement\n
-context.CredentialRequest_closePersonAssignment(old_role_list)\n
+open_assignment_list = context.CredentialRequest_closePersonAssignment(old_role_list)\n
 \n
 #Initialisation\n
 assignment_duration = context.portal_preferences.getPreferredCredentialAssignmentDuration()\n
 today = DateTime()\n
 delay = today+assignment_duration\n
 \n
+current_assignment_list = {}\n
+for assignment in open_assignment_list:\n
+  role = assignement.getRole()\n
+  if role in current_assignment_list:\n
+    current_assignment_list[role].append(assignment)\n
+  else:\n
+    current_assignment_list[role] = [assignment]\n
+    \n
+\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
+for role in context.getRoleList():\n
+  if role in current_assignment_list:\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
+    for assignment in current_assignment_list[role]:\n
       assignment.update()\n
       assignment.edit(site = context.getSite(),\n
                       activity = context.getActivityList(),                    \n

Modified: erp5/trunk/bt5/erp5_credential/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_credential/bt/revision?rev=42649&r1=42648&r2=42649&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_credential/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_credential/bt/revision [utf8] Tue Jan 25 13:05:10 2011
@@ -1 +1 @@
-323
\ No newline at end of file
+324



More information about the Erp5-report mailing list