from openerp.osv import fields
from openerp.tools.translate import _
import openerp.addons.decimal_precision as dp
+import datetime
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',
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 = {
}
+ _constraints = [
+ (_bikecoop_activity_dates_check, 'Error: Bikecoop activity dates are inconsistent!', ['Bikecoop activity dates']),
+ ]
+
+
class product_template(orm.Model):
_inherit = 'product.template'
</xpath>
<xpath expr="//page[@string='Membership']/group/group/div" position="after">
<field name="kit_sent" attrs="{'invisible': [('membership_state','not in', ('old', 'waiting', 'invoiced', 'free', 'paid'))]}"/>
+ <field name="bikecoop_activity_start" attrs="{'invisible': [('is_company','=', False)]}" />
+ <field name="bikecoop_activity_stop" attrs="{'invisible': [('is_company','=', False)]}"/>
</xpath>
</field>
</record>