X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=bikecoop.py;h=bd6b74028196add561b5049faa45fa73bf92b15d;hb=d545e61ce0d48fdecfeecd136ccedd52453f5928;hp=51c44176ac5b0fd9d31803100ecf4a4498846cc5;hpb=21171b7632021f31d645043f8a956ee7ba3c37d5;p=burette%2Fbikecoop.git diff --git a/bikecoop.py b/bikecoop.py index 51c4417..bd6b740 100644 --- a/bikecoop.py +++ b/bikecoop.py @@ -2,13 +2,14 @@ from osv import fields, osv -class Studies(osv.osv): - _name = 'bikecoop.studies' - _description = 'If partner is student, what is his school.' +class Theme(osv.osv): + _name = 'bikecoop.partner.theme' + _description = 'Themes that could be related to a partner' _columns = { - 'code': fields.char('Code', size=8, help='Code of the school'), - 'name': fields.char('Name', size=128, help='Name of the school.', required=True), + 'code': fields.char('Code', size=8, help='Code of the occupation'), + 'name': fields.char('Name', size=128, help='Name of the job or studies', required=True, translate=True), + 'domain': fields.selection([('gender', 'Gender'), ('occupation', 'Occupation'), ('volunteer', 'Volunteer')], 'Domain', required=True, size=24), 'active': fields.boolean('Active', help='If check, this object is always available'), } @@ -16,19 +17,31 @@ class Studies(osv.osv): 'active': lambda *a: 1, } -Studies() +Theme() class Partner(osv.osv): _inherit = 'res.partner' _columns = { - 'studies_id': fields.many2one('bikecoop.studies', 'School', help='If partner is student, school where he is studing.'), + 'nationality_id': fields.many2one('res.country', 'Nationality', help='Partner\'s nationality if he is a person'), + 'year': fields.integer('Year of birth', help='This partner year of birth'), + 'occupation_id': fields.many2one('bikecoop.partner.theme', 'Occupation', help='Main occupation of this partner'), + 'volunteer_ids': fields.many2many('bikecoop.partner.theme', 'res_partner_bikecoop_theme_rel', 'partner_id', 'theme_id', 'Want to be volunteer?', help='What kind of volunteer activities you want to do with us?'), + 'gender_id': fields.many2one('bikecoop.partner.theme', 'Gender'), } - _defaults = { - 'studies_id': lambda *a: 1, - } + def _check_year(self, cr, uid, ids, context=None): + obj = self.browse(cr, uid, ids[0], context=context) + if obj.year: + if obj.year < 1900 or obj.year > 2100: + return False + return True + + _constraints = [ + (_check_year, 'Error: this year is not valid.', ['year']), + ] + Partner()