Modification de la relation projet-phase en projet-phase.type
[OpenERP/cmmi.git] / axes.py
1 #-*- coding: utf8 -*-
2 '''
3 '''
4
5 from openerp.osv import osv, fields
6
7
8 class Mesurable(osv.Model):
9     _name = "cmmi.axes.mesurable"
10
11     _statuts = [("cree", "Crée"), ("encours", "En cours"),
12                 ("termine", "Terminé"), ("abandonne", "Abandonné"),
13                 ("suspendu", "Suspendu"), ("generique", "Générique")]
14
15     _columns = {
16         "name": fields.char(string="Title", size=64, required=True),
17         "description": fields.text(string="Description"),
18         "commentaire": fields.text(string="Commentaire"),
19         "statut": fields.selection(_statuts, string="Statut"),
20         "version": fields.char(string="Version", size=16),
21         "date_jalon": fields.date(string="Jalon"),
22         "date_init_deb": fields.date(string="Date initiale début"),
23         "date_init_fin": fields.date(string="Date initiale de fin"),
24         "date_plan_deb": fields.date(string="Date plannifiée début"),
25         "date_plan_fin": fields.date(string="Date plannifiée de fin"),
26         "date_reel_deb": fields.date(string="Data réelle début"),
27         "date_reel_fin": fields.date(string="Data réelle fin"),
28     }
29
30     _sql_constraints = [
31         (
32             "date_init_deb_before_date_init_fin",
33             "CHECK(date_init_deb<> date_init_fin)",
34             "The date_init_deb should be previous date_init_fin",
35         ),
36         (
37             "date_plan_deb_before_date_plan_fin",
38             "CHECK(date_plan_deb <> date_plan_fin)",
39             "The date_plan_deb should be previous date_plan_fin",
40         ),
41         (
42             "date_reel_deb_before_date_reel_fin",
43             "CHECK(date_reel_deb<> date_reel_fin)",
44             "The date_reel_deb should be previous date_reel_fin",
45         ),
46     ]
47
48
49 class Chantier(osv.Model):
50     _name = "cmmi.axes.chantier"
51
52     _inherit = "cmmi.axes.mesurable"
53
54     _columns = {
55         "projet_id": fields.many2one("cmmi.projet",
56                                      string="Projet",
57                                      required=True),
58         "evolutions": fields.one2many("cmmi.evolution",
59                                       "chantier_id",
60                                       string="Evolutions"),
61     }
62
63
64 class Palier(osv.Model):
65     _name = "cmmi.axes.palier"
66
67     _inherit = "cmmi.axes.mesurable"
68
69     _types_palier = [("normal", "Normal"), ("exceptionnel", "Exceptionnel"),
70                      ("correctif", "Correctif"), ("autre", "Autre")]
71
72     _columns = {
73         "type_palier": fields.selection(_types_palier, string="Type"),
74         "projet_id": fields.many2one("cmmi.projet",
75                                      string="Projet",
76                                      required=True),
77         "evolutions": fields.one2many("cmmi.evolution",
78                                       "palier_id",
79                                       string="Evolutions"),
80         "phases": fields.one2many("cmmi.phase",
81                                   "palier_id",
82                                   string="Phases"),
83     }