[DATA] +members
[burette/letriseratop.git] / letriseratop.py
1 # -*- coding: utf-8 -*-
2 ##############################################################################
3 #
4 # letriseratop module for OpenERP, Custom module for Étu'Récup
5 # Copyright (C) 2014-2018 Le Tri Sera Top
6 #
7 # This file is a part of letriseratop
8 #
9 # letriseratop is free software: you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation, either version 3 of the License, or
12 # (at your option) any later version.
13 #
14 # letriseratop is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #
22 ##############################################################################
23
24 from openerp.osv import orm
25 from openerp.osv import fields
26
27
28 class Partner(orm.Model):
29 _inherit = 'res.partner'
30
31 def _get_bikecoop_theme_type(self, cr, uid, ids, name, args, context=None):
32 """Return themes type for selected partners"""
33 res = {}
34 partners = self.browse(cr, uid, ids, context=context)
35 for partner in partners:
36 res[partner.id] = False
37 if partner.occupation_id.type == 'studies':
38 res[partner.id] = True
39 return res
40
41 def onchange_occupation_id(self, cr, uid, ids, occupation_id):
42 """Define if a partner is a student based on his/her occupation type"""
43 v = {}
44 occupations = self.pool.get('bikecoop.partner.theme')
45 occupation = occupations.browse(cr, uid, occupation_id)
46 if occupation.type == 'studies':
47 v['is_student'] = True
48 else:
49 v['is_student'] = False
50
51 return {'value': v}
52
53 _columns = {
54 'newsletter': fields.boolean(
55 'Do you want to receive our monthly newsletter?'),
56 'is_student': fields.function(_get_bikecoop_theme_type,
57 method=True,
58 string='Student?',
59 type='boolean',
60 store=True),
61 'want_to_be_volunteer': fields.boolean(
62 'Do you want to receive some informations about volunteer \
63 activities?',
64 help='… in company and its activities: bikecoop, events, …'),
65 }
66
67
68 class Theme(orm.Model):
69 _inherit = 'bikecoop.partner.theme'
70
71 _columns = {
72 'type': fields.selection([('studies', 'Studies')],
73 'Type',
74 help='An extra field to categorize themes.'),
75 }
76
77
78 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: