3 from openerp.osv import osv, fields
5 class PalierPhaseWizard(osv.TransientModel):
7 _name = "cmmi.palier.phase.wizard"
10 def default_get(self, cr, uid, fields, context=None):
11 result = osv.TransientModel.default_get(self, cr, uid, fields, context=context)
12 palier_id = context.get('palier_id', False)
14 result['palier_id'] = palier_id
18 def _phases_selection(self, cr, uid, context=None):
19 phase_model = self.pool.get("cmmi.projet.phase")
20 palier_phase_model = self.pool.get("cmmi.axes.palier.phase")
22 if context is None or not context.has_key("palier_id"):
25 # on recherche des palier-phases
26 links_ids = palier_phase_model.search(
29 [('palier_id', '=', context["palier_id"])],
33 # on recherche phases déjà présentes dans le palier
34 excluded_ids = list(set([p['phase_id'][0] for p in palier_phase_model.read(
42 # on exclu les phases déjà présentes dans le palier
43 phases_ids = phase_model.search(
46 [('id', 'not in', excluded_ids), ('selectionne', '=', True)],
50 print [(p["id"], p["name"]) for p in phase_model.read(
54 fields=["id", "name"],
57 return [(p["id"], p["name"]) for p in phase_model.read(
61 fields=["id", "name"],
66 def action_add_phase_to_palier(self, cr, uid, ids, context=None):
67 palier_phase_model = self.pool.get("cmmi.axes.palier.phase")
71 result = self.read(cr, uid, id, context=context)
73 palier_phase_model.create (
76 {"palier_id": result["palier_id"][0],"phase_id": result["phase_id"]},
80 return {'type': 'ir.actions.act_window_close'}
84 "palier_id": fields.many2one("cmmi.axes.palier",
87 # "phase_id": fields.selection("cmmi.projet.phase",
90 # domain=[("selectionne", "=", True)]),
91 "phase_id": fields.selection(_phases_selection,