from openerp.osv import osv, fields
from datetime import date, timedelta, datetime
+
# ================================ MESURABLE ================================ #
class Mesurable(osv.Model):
_name = "cmmi.axes.mesurable"
palier = self.read(cr, uid, ids, ['date_plan_deb', 'date_plan_fin', 'state'], context)
if palier['state'] != 'cree':
- return {
- 'warning': { # FIXME: ne fonctionne pas
- 'title' : "Warning: not a list",
- 'message' : "You cannot have negative number of seats",
- },
- }
+ return # TODO: Message d'erreur : ne fonctionne pas pour les boutons
+ # Trouver alternative
self.write(
cr,
def suspendre(self, cr, uid, ids, context=None):
if type(ids) == list:
if len(ids) != 1:
- return # TODO: message d'avertissement
+ return
ids = ids[0]
mesurable = self.read(cr, uid, ids, ['state'], context, context)
if mesurable['state'] != 'encours':
- return
+ return # TODO: Message d'erreur : ne fonctionne pas pour les boutons
+ # Trouver alternative
self.write(
cr,
uid,
)
return self
+
def terminer(self, cr, uid, ids, context=None):
if type(ids) == list:
if len(ids) != 1:
- return # TODO: message d'avertissement
+ return
ids = ids[0]
mesurable = self.read(cr, uid, ids, ['state'], context, context)
if mesurable['state'] != 'encours':
- return
+ return # TODO: Message d'erreur : ne fonctionne pas pour les boutons
+ # Trouver alternative
self.write(
cr,
uid,
)
return self
+
def abandonner(self, cr, uid, ids, context=None):
if type(ids) == list:
if len(ids) != 1:
- return # TODO: message d'avertissement
+ return
ids = ids[0]
mesurable = self.read(cr, uid, ids, ['state'], context, context)
if not ('encours', 'cree').__contains__(mesurable['state']):
- return
+ return # TODO: Message d'erreur : ne fonctionne pas pour les boutons
+ # Trouver alternative
self.write(
cr,
uid,
)
return self
+
def reprendre(self, cr, uid, ids, context=None):
if type(ids) == list:
if len(ids) != 1:
- return # TODO: message d'avertissement
+ return
ids = ids[0]
mesurable = self.read(cr, uid, ids, ['state'], context, context)
if mesurable['state'] != 'suspendu':
- return
+ return # TODO: Message d'erreur : ne fonctionne pas pour les boutons
+ # Trouver alternative
self.write(
cr,
uid,
return osv.Model.create(self, cr, uid, vals, context=context)
+
# ================================ CHANTIER ================================= #
class Chantier(osv.Model):
_name = "cmmi.axes.chantier"
from openerp.osv import osv, fields
+# ================================== MODULE ================================= #
class Module(osv.Model):
_name = "cmmi.description.module"
}
+# ================================= DOMAINE ================================= #
class Domaine(osv.Model):
_name = "cmmi.description.domaine"
from openerp.osv import osv, fields
+# ================================ EVOLUTION ================================ #
class Evolution(osv.Model):
_name = "cmmi.evolution"
# "charges": fields.one2many("cmmi.evolution.charge", # Supprimé !
# "evolution_id",
# string="Charges"),
+ # Backrefs
"module_id": fields.many2one("cmmi.description.module",
string="Modules"),
"chantier_id": fields.many2one("cmmi.axes.chantier",
}
+# ================================== PHASE ================================== #
class Phase(osv.Model):
_name = "cmmi.evolution.phase"
# TODO: gérer la création d'une phase d'évolution.
# 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 du palier et de la phase (concaténés avec un retour à la ligne entre les deux).
+ # 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.
return osv.Model.create(self, cr, uid, vals, context=context)
+# ================================== CHARGE ================================= #
class Charge(osv.Model):
_name = "cmmi.evolution.charge"
string="Team Member",
required=True),
}
-
from openerp.osv import osv, fields
+# ================================= ROLE MO ================================= #
class RoleMO(osv.Model):
"""Role MO: différents types de MOE et MOA"""
}
+# ==================================== MO =================================== #
class Mo(osv.Model):
_name = "cmmi.mo"
"rang": "primaire"}
+
+# =================================== MOE =================================== #
class Moe(osv.Model):
_name = "cmmi.mo.moe"
+# =================================== MOA =================================== #
class Moa(osv.Model):
_name = "cmmi.mo.moa"
from openerp.osv import osv, fields
+# =============================== TEAM MEMBER =============================== #
class Teammember(osv.Model):
_name = "res.partner"
from openerp.osv import osv, fields
+# ================================== PHASE ================================== #
class Phase(osv.Model):
_name = "cmmi.phase"
from openerp.osv import osv, fields
+# ================================== PROJET ================================= #
class Projet(osv.Model):
_name = "cmmi.projet"
+# ============================= PROJET DOMAINE ============================== #
class ProjetDomaine(osv.Model):
_name = "cmmi.projet.domaine"
+# =============================== PROJET MOE ================================ #
class ProjetMoe(osv.Model):
_name = "cmmi.projet.moe"
+# =============================== PROJET MOA ================================ #
class ProjetMoa(osv.Model):
_name = "cmmi.projet.moa"
+# =============================== PROJET PHASE ============================== #
class ProjetPhase(osv.Model):
_name = "cmmi.projet.phase"
+# ============================ PROJET TEAM MEMBER =========================== #
class ProjetTeammember(osv.Model):
_name = "cmmi.projet.teammember"