[Formulaire] birthdate-->year of birth
authorLudovic CHEVALIER <ludovic.chevalier@heureux-cyclage.org>
Thu, 6 Dec 2012 10:24:00 +0000 (11:24 +0100)
committerLudovic CHEVALIER <ludovic.chevalier@heureux-cyclage.org>
Thu, 6 Dec 2012 10:24:00 +0000 (11:24 +0100)
bikecoop.py
view/bikecoop.xml

index 1db080d..bd6b740 100644 (file)
@@ -25,11 +25,24 @@ class Partner(osv.osv):
 
     _columns = {
         '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'),
     }
 
+    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()
 
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
index c91a6ef..b6160ab 100644 (file)
                         </div>
                     </group>
                     <group attrs="{'invisible': [('is_company','=',True)]}">
-                        <field name="date" string="Birthdate"/>
+                        <field name="year" placeholder="1900" attrs="{'required': [('is_company','=', False)]}"/>
                         <field name="gender_id" domain="[('domain','=', 'gender')]" placeholder="Other, Female or Male" attrs="{'required': [('is_company','=', False)]}"/>
-                        <field name="nationality_id" placeholder="France" domain="[('is_company','=', False)]" attrs="{'required': [('is_company','=', False)]}"/>
-                        <field name="occupation_id" domain="[('domain','=', 'occupation')]" attrs="{'required': [('is_company','=', False)]}"/>
+                        <field name="nationality_id" placeholder="France" attrs="{'required': [('is_company','=', False)]}"/>
+                        <field name="occupation_id" placeholder="Student/Employee/Other" domain="[('domain','=', 'occupation')]" attrs="{'required': [('is_company','=', False)]}"/>
                     </group>
                 </group>
                 <notebook>