[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