[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