[Erp5-report] r18687 - /erp5/trunk/products/ERP5Security/ERP5UserManager.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Jan 14 15:13:26 CET 2008


Author: aurel
Date: Mon Jan 14 15:13:26 2008
New Revision: 18687

URL: http://svn.erp5.org?rev=18687&view=rev
Log:
if dates are defined on an assignment, compare them at login time

Modified:
    erp5/trunk/products/ERP5Security/ERP5UserManager.py

Modified: erp5/trunk/products/ERP5Security/ERP5UserManager.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Security/ERP5UserManager.py?rev=18687&r1=18686&r2=18687&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Security/ERP5UserManager.py (original)
+++ erp5/trunk/products/ERP5Security/ERP5UserManager.py Mon Jan 14 15:13:26 2008
@@ -29,7 +29,7 @@
 from Products.ERP5Type.Cache import CachingMethod
 from ZODB.POSException import ConflictError
 import sys
-
+from DateTime import DateTime
 from zLOG import LOG, PROBLEM
 
 try :
@@ -101,6 +101,15 @@
             try:
               # get assignment
               assignment_list = [x for x in user.contentValues(portal_type="Assignment") if x.getValidationState() == "open"]
+              login_date = DateTime()
+              # compare date if they are defined
+              for assignment in assignment_list:
+                if assignment.getStartDate() is not None and \
+                       assignment.getStartDate() >= login_date:
+                  return None
+                if assignment.getStopDate() is not None and \
+                       assignment.getStopDate() < login_date:
+                  return None                  
               if pw_validate(user.getPassword(), password) and \
                      len(assignment_list): #user.getCareerRole() == 'internal':
                 return login, login # use same for user_id and login




More information about the Erp5-report mailing list