Gestion du domaine principal
[OpenERP/cmmi.git] / projet.py
index 4e2e7a6..8967371 100644 (file)
--- a/projet.py
+++ b/projet.py
@@ -9,10 +9,29 @@ class Projet(osv.Model):
 
     _name = "cmmi.projet"
 
+    def _get_main_domain(self, cr, uid, ids, field_name=None, arg=None, context=None):
+        if type(ids) in (int, float):
+            ids = [ids]
+
+        projects = self.browse(cr, uid, ids, context=context)
+
+        result = {}
+
+        for project in projects:
+            for domain in project.domains:
+                if domain.main:
+                    result[project.id] = domain.name
+                    break
+            else:
+                result[project.id] = "Any domain is selected as main domain yet"
+
+        return result
+
+
     _columns = {
         "name": fields.char(string="Title", size=64, required=True),
         "description": fields.text(string="Description"),
-        "domaines": fields.one2many("cmmi.projet.domaine",
+        "domains": fields.one2many("cmmi.projet.domaine",
                                     "project_id",
                                     string="Domaines"),
         "team_members": fields.many2many("cmmi.partner.teammember",
@@ -49,10 +68,9 @@ class Projet(osv.Model):
                                   "project_id",
                                   string="MOA principale",
                                   domaine=[('main', '=', True)]),
-        "main_domain": fields.one2many("cmmi.projet.domaine",
-                                       "project_id",
-                                       string="Domaine principal",
-                                       domaine=[('main', '=', True)]),
+        "main_domain": fields.function(_get_main_domain,
+                                       type="string",
+                                       string="Domaine principal"),
     }
 
     def action_add_domain(self, cr, uid, ids, context=None):