X-Git-Url: https://git.cyclocoop.org/%7Bplugin_url%20id=%24id%7D?a=blobdiff_plain;f=lhc.py;h=aefa162d64fbd80382a37d1580bd8a9149f8a652;hb=a1ad8111fe2717ba5fc24c1abfaabf62deaae2fc;hp=b1fca6a5bce09dfe474880ad4e5dcdbf94c0503e;hpb=4070bbc8aebddc832793083275e816de421e5b3f;p=burette%2Flhc.git diff --git a/lhc.py b/lhc.py index b1fca6a..aefa162 100644 --- a/lhc.py +++ b/lhc.py @@ -26,6 +26,7 @@ from openerp.osv import orm from openerp.osv import fields from openerp.tools.translate import _ import openerp.addons.decimal_precision as dp +import datetime class res_partner(orm.Model): @@ -41,6 +42,33 @@ class res_partner(orm.Model): res[obj.id] = '' return res + def _bikecoop_activity_dates_check(self, cr, uid, ids, context=None): + #TODO : check condition and return boolean accordingly + currentDateTime = datetime.datetime.now() + date = currentDateTime.date() + year = date.strftime("%Y") + + min_date = 1950 + max_date = int(year) + + for partner in self.browse(cr, uid, ids, context=context): + if partner.bikecoop_activity_start == 0 and partner.bikecoop_activity_stop == 0: + return True + if partner.bikecoop_activity_start < 0 or partner.bikecoop_activity_stop < 0: + return False + if partner.bikecoop_activity_start == 0 and partner.bikecoop_activity_stop > 0: + return False + if partner.bikecoop_activity_stop > max_date or partner.bikecoop_activity_stop < min_date: + if partner.bikecoop_activity_stop != 0: + return False + if partner.bikecoop_activity_start > max_date or partner.bikecoop_activity_start < min_date: + if partner.bikecoop_activity_start != 0: + return False + if partner.bikecoop_activity_stop < partner.bikecoop_activity_start: + if partner.bikecoop_activity_stop != 0: + return False + return True + _columns = { 'usual_contact': fields.boolean( 'Usual contact', @@ -65,6 +93,8 @@ class res_partner(orm.Model): size=240, help="""One more email. Warning: there are no email notification with this email. Only the main email can receive notifications."""), + 'bikecoop_activity_start': fields.integer('Bikecoop activity start year'), + 'bikecoop_activity_stop': fields.integer('Bikecoop activity end year'), } _defaults = { @@ -72,6 +102,11 @@ class res_partner(orm.Model): } + _constraints = [ + (_bikecoop_activity_dates_check, 'Error: Bikecoop activity dates are inconsistent!', ['Bikecoop activity dates']), + ] + + class product_template(orm.Model): _inherit = 'product.template'