Ajout de boutons d'actions pour les palier
authorAlicia FLOREZ <alicflorez@gmail.com>
Mon, 10 Jun 2013 15:46:34 +0000 (17:46 +0200)
committerAlicia FLOREZ <alicflorez@gmail.com>
Mon, 10 Jun 2013 15:46:34 +0000 (17:46 +0200)
axes.py
evolution.py
views/palier.xml

diff --git a/axes.py b/axes.py
index be4b6ae..84cf5c9 100644 (file)
--- a/axes.py
+++ b/axes.py
@@ -5,7 +5,6 @@
 from openerp.osv import osv, fields
 from datetime import date, timedelta, datetime
 
-
 # ================================ MESURABLE ================================ #
 class Mesurable(osv.Model):
     _name = "cmmi.axes.mesurable"
@@ -68,7 +67,7 @@ class Mesurable(osv.Model):
     ]
 
 
-    def commencer(self, cr, uid, ids, context=None):
+    def action_commencer(self, cr, uid, ids, context=None):
         if type(ids) == list:
             if len(ids) != 1:
                 return
@@ -77,8 +76,7 @@ class Mesurable(osv.Model):
         palier = self.read(cr, uid, ids, ['date_plan_deb', 'date_plan_fin', 'state'], context)
 
         if palier['state'] != 'cree':
-            return  # TODO: Message d'erreur : ne fonctionne pas pour les boutons
-                    # Trouver alternative
+            return
 
         self.write(
             cr,
@@ -92,16 +90,15 @@ class Mesurable(osv.Model):
         return self
 
 
-    def suspendre(self, cr, uid, ids, context=None):
+    def action_suspendre(self, cr, uid, ids, context=None):
         if type(ids) == list:
             if len(ids) != 1:
-                return
+                return # TODO: message d'avertissement
             ids = ids[0]
 
-        mesurable = self.read(cr, uid, ids, ['state'], context, context)
+        mesurable = self.read(cr, uid, ids, ['state'], context)
         if mesurable['state'] != 'encours':
-            return  # TODO: Message d'erreur : ne fonctionne pas pour les boutons
-                    # Trouver alternative
+            return
         self.write(
             cr,
             uid,
@@ -111,17 +108,15 @@ class Mesurable(osv.Model):
         )
         return self
 
-
-    def terminer(self, cr, uid, ids, context=None):
+    def action_terminer(self, cr, uid, ids, context=None):
         if type(ids) == list:
             if len(ids) != 1:
-                return
+                return # TODO: message d'avertissement
             ids = ids[0]
 
-        mesurable = self.read(cr, uid, ids, ['state'], context, context)
+        mesurable = self.read(cr, uid, ids, ['state'], context)
         if mesurable['state'] != 'encours':
-            return  # TODO: Message d'erreur : ne fonctionne pas pour les boutons
-                    # Trouver alternative
+            return
         self.write(
             cr,
             uid,
@@ -131,17 +126,15 @@ class Mesurable(osv.Model):
         )
         return self
 
-
-    def abandonner(self, cr, uid, ids, context=None):
+    def action_abandonner(self, cr, uid, ids, context=None):
         if type(ids) == list:
             if len(ids) != 1:
-                return
+                return # TODO: message d'avertissement
             ids = ids[0]
 
-        mesurable = self.read(cr, uid, ids, ['state'], context, context)
+        mesurable = self.read(cr, uid, ids, ['state'], context)
         if not ('encours', 'cree').__contains__(mesurable['state']):
-            return  # TODO: Message d'erreur : ne fonctionne pas pour les boutons
-                    # Trouver alternative
+            return
         self.write(
             cr,
             uid,
@@ -151,17 +144,15 @@ class Mesurable(osv.Model):
         )
         return self
 
-
-    def reprendre(self, cr, uid, ids, context=None):
+    def action_reprendre(self, cr, uid, ids, context=None):
         if type(ids) == list:
             if len(ids) != 1:
-                return
+                return # TODO: message d'avertissement
             ids = ids[0]
 
-        mesurable = self.read(cr, uid, ids, ['state'], context, context)
+        mesurable = self.read(cr, uid, ids, ['state'], context)
         if mesurable['state'] != 'suspendu':
-            return  # TODO: Message d'erreur : ne fonctionne pas pour les boutons
-                    # Trouver alternative
+            return
         self.write(
             cr,
             uid,
@@ -343,7 +334,6 @@ class PalierPhase(osv.Model):
         return osv.Model.create(self, cr, uid, vals, context=context)
 
 
-
 # ================================ CHANTIER ================================= #
 class Chantier(osv.Model):
     _name = "cmmi.axes.chantier"
index f746039..3c68f5c 100644 (file)
@@ -68,6 +68,7 @@ class Phase(osv.Model):
                                 type='char',
                                 store=True,
                                 string="Nom de la phase"),
+        "description": fields.text(string="Description"),
         "phase_id": fields.many2one("cmmi.axes.palier.phase",
                                     string="Phase"),
         "evolution_id": fields.many2one("cmmi.evolution",
@@ -79,8 +80,22 @@ class Phase(osv.Model):
         # Vérifier les valeurs contenues dans vals et les modifier / rajouter si nécessaire selon les cas suivants
 
         # Si description est vide, alors par défaut, recopie de la description de l'evolution et de la phase (concaténés avec un retour à la ligne entre les deux).
-        # Si commentaire est vide, alors par défaut, recopie du commentaire du palier.
-        # Si version est vide, alors par dégaut, recopie de la version du palier.
+        # Si commentaire est vide, alors par défaut, recopie du commentaire de ?
+        # Si version est vide, alors par dégaut, recopie de la version de ?
+#        phase_model = self.pool.get("cmmi.axes.palier.phase")
+#        evolution_model = self.pool.get("cmmi.evolution")
+#
+#        phase = phase_model.read(cr, vals["phase_id"], fields=None,context=None)
+#        evolution = evolution_model.read(cr, vals["evolution_id"], fields=None,context=None)
+
+#        if vals["description"] == "":
+#            vals["description"] = "" + evolution["description"] + "\n" + phase["description"]
+
+#        if vals["commentaire"] == "" # cmmi.evolution.phase n'a pas de commentaire
+#            vals["commentaire"] = evolution["commentaire"]
+
+#        if vals["version"] == "" # cmmi.evolution.phase n'a pas de version
+#            vals["version"] = phase["version"]
 
         return osv.Model.create(self, cr, uid, vals, context=context)
 
index c71fa87..bb06b62 100644 (file)
@@ -9,8 +9,12 @@
             <field name="arch" type="xml">
                 <form string="Formulaire palier" version="7.0">
                     <header>
-                        <button string="Commencer le palier" type="object" name="commencer" class="oe_highlight" />
-                        <field name="state" widget="statusbar" statusbar_visible="cree,encours"/>
+                        <button string="Commencer" type="object" name="action_commencer" states="cree" class="oe_highlight" />
+                        <button string="Suspendre" type="object" name="action_suspendre" states="encours" class="oe_highlight" />
+                        <button string="Terminer" type="object" name="action_terminer" states="encours" class="oe_highlight" />
+                        <button string="Abandonner" type="object" name="action_abandonner" states="encours,cree" class="oe_highlight" />
+                        <button string="Reprendre" type="object" name="action_reprendre" states="suspendu" class="oe_highlight" />
+                        <field name="state" widget="statusbar" statusbar_visible="cree,encours,termine" />
                     </header>
 
                     <sheet>