Correction apporté sur un many2many
[OpenERP/cmmi.git] / mo.py
1 #-*- coding: utf8 -*-
2 '''
3 Ce module contient tout ce qui est nécessaire pour qualifier une MO
4
5 On distingue deux grands rôles qui sont les MOE et les MOA :
6
7 MOE = Maîtrise d'oeuvre (ceuf qui font)
8 MOA = Maîtrise d'ouvrage (ceux qui demandent et contrôlent)
9 '''
10
11 from openerp.osv import osv, fields
12
13
14 class RoleMO(osv.Model):
15     """Role MO: différents types de MOE et MOA"""
16
17     _name = "cmmi.mo.role"
18
19     _statuts = [("actif", "Actif"), ("inactif", "Inactif")]
20
21     _types_mo = [("MOE", "MOE"), ("MOA", "MOA")]
22
23     _columns = {
24         "name": fields.char(string="Title", size=64, required=True),
25         "code": fields.char(string="Code", size=8, required=True),
26         "description": fields.text(string="Description"),
27         "statut": fields.selection(_statuts, string="Statut"),
28         "type_mo": fields.selection(_types_mo,
29                                     string="Type de MO",
30                                     required=True),
31         "mo_ids": fields.one2many("cmmi.mo",
32                                   "role_mo_id",
33                                   string="MOs"),
34     }
35
36
37 class Mo(osv.Model):
38     _name = "cmmi.mo"
39
40     _rangs = [("primaire", "Primaire"),
41               ("secondaire", "Secondaire"),
42               ("generique", "Générique")]
43
44     _columns = {
45         "name": fields.char(string="Title"),
46         "description": fields.text(string="Description"),
47         "rang": fields.selection(_rangs, string="Rang", required=True),
48         "role_mo_id": fields.many2one("cmmi.mo.role", string="Role"),
49 #        "charges": fields.one2many("cmmi.evolution.charge", # TODO: Faire l'association teammember MO plutôt que MO.
50 #                                   "mo_id",
51 #                                   string="Charges"),
52     }
53
54     _defaults = {
55         "rang": "primaire"}
56
57
58 class Moe(osv.Model):
59     _name = "cmmi.mo.moe"
60     _inherit = "cmmi.mo"
61
62     _columns = {
63         "projets": fields.one2many("cmmi.projet",
64                                    "moe_id",
65                                    string="Projets"),
66     }
67
68
69
70 class Moa(osv.Model):
71     _name = "cmmi.mo.moa"
72     _inherit = "cmmi.mo"
73
74     _columns = {
75         "projets": fields.one2many("cmmi.projet",
76                                    "moa_id",
77                                    string="Projets"),
78     }