X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=axes.py;h=ce86c009d6ef67f09ac0709fd711e53be641743a;hb=7d91b04970f96b32a368dc885c6c2f91e4691116;hp=8b2233d3ec743d8b35fb1771a0cabf92a3bfc9fb;hpb=cc417d71113e954f1100380ce2977fe8bfc72bde;p=OpenERP%2Fcmmi.git diff --git a/axes.py b/axes.py index 8b2233d..ce86c00 100644 --- a/axes.py +++ b/axes.py @@ -11,7 +11,7 @@ class Mesurable(osv.Model): _description = "Table de reference des mesusrables." - _statuts = [("cree", "Crée"), ("encours", "En cours"), + _states = [("cree", "Crée"), ("encours", "En cours"), ("termine", "Terminé"), ("abandonne", "Abandonné"), ("suspendu", "Suspendu"), ("generique", "Générique")] @@ -30,7 +30,7 @@ class Mesurable(osv.Model): "name": fields.char(string="Title", size=64, required=True), "description": fields.text(string="Description"), "commentaire": fields.text(string="Commentaire"), - "statut": fields.selection(_statuts, string="Statut"), + "state": fields.selection(_states, string="State"), "version": fields.char(string="Version", size=16), "date_jalon": fields.date(string="Jalon"), "date_init_deb": fields.date(string="Init début"), @@ -39,13 +39,13 @@ class Mesurable(osv.Model): "date_plan_fin": fields.date(string="Plan fin"), "date_reel_deb": fields.date(string="Réel début"), "date_reel_fin": fields.date(string="Réel fin"), - "nb_jours_projets": fields.function(_nb_jours_init, + "nb_jours_initial": fields.function(_nb_jours_init, type="integer", string="Nombre de jour"), } _defaults = { - "statut": "cree", + "state": "cree", } _sql_constraints = [ @@ -73,9 +73,9 @@ class Mesurable(osv.Model): return # TODO: message d'avertissement ids = ids[0] - palier = self.read(cr, uid, ids, ['date_plan_deb', 'date_plan_fin', 'statut'], context) + palier = self.read(cr, uid, ids, ['date_plan_deb', 'date_plan_fin', 'state'], context) - if palier['statut'] != 'cree': + if palier['state'] != 'cree': return self.write( @@ -84,7 +84,7 @@ class Mesurable(osv.Model): ids, { 'date_init_deb' : palier['date_plan_deb'], 'date_init_fin' : palier['date_plan_fin'], - 'statut': 'encours' + 'state': 'encours' }, context) return self @@ -96,18 +96,71 @@ class Mesurable(osv.Model): return # TODO: message d'avertissement ids = ids[0] - mesurable = self.read(cr, uid, ids, ['statut'], context, context) - if mesurable['statut'] != 'encours': + mesurable = self.read(cr, uid, ids, ['state'], context, context) + if mesurable['state'] != 'encours': return self.write( cr, uid, ids, - {'statut': 'suspendu'}, + {'state': 'suspendu'}, context, ) + return self + def terminer(self, cr, uid, ids, context=None): + if type(ids) == list: + if len(ids) != 1: + return # TODO: message d'avertissement + ids = ids[0] + mesurable = self.read(cr, uid, ids, ['state'], context, context) + if mesurable['state'] != 'encours': + return + self.write( + cr, + uid, + ids, + {'state': 'termine'}, + context, + ) + return self + + def abandonner(self, cr, uid, ids, context=None): + if type(ids) == list: + if len(ids) != 1: + return # TODO: message d'avertissement + ids = ids[0] + + mesurable = self.read(cr, uid, ids, ['state'], context, context) + if not ('encours', 'cree').__contains__(mesurable['state']): + return + self.write( + cr, + uid, + ids, + {'state': 'abandonne'}, + context, + ) + return self + + def reprendre(self, cr, uid, ids, context=None): + if type(ids) == list: + if len(ids) != 1: + return # TODO: message d'avertissement + ids = ids[0] + + mesurable = self.read(cr, uid, ids, ['state'], context, context) + if mesurable['state'] != 'suspendu': + return + self.write( + cr, + uid, + ids, + {'state': 'encours'}, + context, + ) + return self #------------ TRAVAIL CALCUL JOURS OUVRES ------------ @staticmethod