X-Git-Url: https://git.cyclocoop.org/?a=blobdiff_plain;f=eturecup.py;h=0b934ed1688e65234934cc83e2b4ba075fd1fa24;hb=HEAD;hp=14a3298b30e2c01829532a4348da31da07cfc47c;hpb=4d7b40d51c8e1183d91ba107fcf33f7fd0bd4359;p=burette%2Feturecup.git diff --git a/eturecup.py b/eturecup.py index 14a3298..0b934ed 100644 --- a/eturecup.py +++ b/eturecup.py @@ -43,11 +43,13 @@ class Partner(orm.Model): v = {} partners = self.browse(cr, uid, ids) occupations = self.pool.get('bikecoop.partner.theme') - for partner in partners: - v['is_student'] = False - occupation = occupations.browse(cr, uid, occupation_id) - if occupation.type == 'studies': + occupation = occupations.browse(cr, uid, occupation_id) + if occupation.type == 'studies': v['is_student'] = True + else: + v['is_student'] = False + v['is_scholarship'] = False + return {'value': v} _columns = { @@ -55,17 +57,32 @@ class Partner(orm.Model): 'Do you want to receive our monthly newsletter?'), 'is_student': fields.function(_get_bikecoop_theme_type, method=True, - string='Is this partner a student?', + string='Student?', type='boolean', store=True), - 'scholarship': fields.boolean('Scholarship', - help='Is this student a scholarship?'), + 'is_scholarship': fields.boolean('Scholarship', + help='Is this student a scholarship?'), 'want_to_be_volunteer': fields.boolean( 'Do you want to receive some informations about volunteer \ activities?', help='… in company and its activities: bikecoop, events, …'), } + def _check_occupation_is_not_studies(self, cr, uid, ids, context=None): + """Check if partners are students. If not, they can't be + scholarships.""" + partners = self.browse(cr, uid, ids, context=context) + for partner in partners: + if partner.occupation_id.type != 'studies': + if partner.is_scholarship: + return False + return True + + _constraints = [ + (_check_occupation_is_not_studies, 'Error: This partner can\'t be a\ + scholarship because s·he isn\'t a student.', ['is_scholarship']), + ] + class Theme(orm.Model): _inherit = 'bikecoop.partner.theme'