X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=bikecoop.py;h=20af8f5c90b04ca50f0052cefb44c3e9136591d7;hb=cbedf768b63a385fc547f672f9ddf6b469273106;hp=bc8b6776c616b1c21a730eee0337da51ca60279a;hpb=748821f843d2e78383ffdc6d4316598c32898de9;p=burette%2Fbikecoop.git diff --git a/bikecoop.py b/bikecoop.py index bc8b677..20af8f5 100644 --- a/bikecoop.py +++ b/bikecoop.py @@ -1,13 +1,39 @@ # -*- coding: utf-8 -*- -from osv import fields, osv +############################################################################## +# +# Bikecoop module for OpenERP, Custom module for bike coop' +# Copyright (C) 2012-2013 L'Heureux Cyclage () +# +# This file is a part of Bikecoop +# +# Bikecoop is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Bikecoop is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +############################################################################## -class Occupation(osv.osv): - _name = 'bikecoop.partner.occupation' - _description = 'If partner is a person, what is his job or studies' +from openerp.osv import fields, osv +import openerp.addons.decimal_precision as dp +from datetime import date + + +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 occupation'), - 'name': fields.char('Name', size=128, help='Name of the job or studies', required=True), + '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'), } @@ -15,18 +41,41 @@ class Occupation(osv.osv): 'active': lambda *a: 1, } -Occupation() +Theme() class Partner(osv.osv): _inherit = 'res.partner' _columns = { - 'associate_members': fields.one2many('res.partner', 'associate_member', 'Associate members', help='Members who are associated to this partner.'), 'nationality_id': fields.many2one('res.country', 'Nationality', help='Partner\'s nationality if he is a person'), - 'occupation_id': fields.many2one('bikecoop.partner.occupation', 'Job or studies', help='Partner`s job or studies 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'), } + 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 > date.today().year: + return False + return True + + _constraints = [ + (_check_year, 'Error: this year is not valid.', ['year']), + ] Partner() + +class product_template(osv.osv): + _inherit = 'product.template' + + _columns = { + 'standard_price': fields.float('Cost', digits_compute=dp.get_precision('Product Price'), help="Cost price of the product used for standard stock valuation in accounting and used as a base price on purchase orders.", groups="base.group_user,point_of_sale.group_pos_user"), + } + +product_template() + + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: