summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormra (Open ERP) <mra@tinyerp.com>2010-04-07 11:54:16 +0530
committermra (Open ERP) <mra@tinyerp.com>2010-04-07 11:54:16 +0530
commit2be4475cbae79cb8d8cdcf7bf32761a4e372710c (patch)
tree3eae027d2e815af40ee2edbcb815275a17a5008c
parent69aa483b1cda9e8c13cd4ea9cc0b51d2b73309d2 (diff)
[ADD] project_gtd: Project timebox empty wizard => osv memory
bzr revid: mra@tinyerp.com-20100407062416-zjbwr9zme1zxroqs
-rw-r--r--addons/project_gtd/__terp__.py5
-rw-r--r--addons/project_gtd/project_gtd_wizard.xml6
-rw-r--r--addons/project_gtd/wizard/project_gtd_empty.py64
-rw-r--r--addons/project_gtd/wizard/project_gtd_empty_view.xml42
4 files changed, 83 insertions, 34 deletions
diff --git a/addons/project_gtd/__terp__.py b/addons/project_gtd/__terp__.py
index 47531886575..a8ecff2fa52 100644
--- a/addons/project_gtd/__terp__.py
+++ b/addons/project_gtd/__terp__.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
@@ -15,7 +15,7 @@
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
@@ -45,6 +45,7 @@ performing those tasks.
'project_gtd_view.xml',
'project_gtd_wizard.xml',
'security/ir.model.access.csv',
+ 'wizard/project_gtd_empty_view.xml'
],
'demo_xml': ['project_gtd_demo.xml'],
'installable': True,
diff --git a/addons/project_gtd/project_gtd_wizard.xml b/addons/project_gtd/project_gtd_wizard.xml
index f6b9f7597be..9f5e202b0f3 100644
--- a/addons/project_gtd/project_gtd_wizard.xml
+++ b/addons/project_gtd/project_gtd_wizard.xml
@@ -10,18 +10,18 @@
<!-- <menuitem name="My Daily Timebox" id="menu_open_time_daily_inbox" -->
<!-- parent="menu_open_time" action="open_gtd_timebox_daily"-->
<!-- icon="STOCK_JUSTIFY_FILL" type="wizard"/>-->
-
+
<wizard string="Plannify Timebox"
model="project.gtd.timebox"
name="project.gtd.timebox.fill"
id="open_gtd_timebox_fill"/>
- <wizard string="Empty Timebox"
+ <!--<wizard string="Empty Timebox"
model="project.gtd.timebox"
name="project.gtd.timebox.empty"
id="open_gtd_timebox_empty"/>
-
+-->
</data>
</openerp>
diff --git a/addons/project_gtd/wizard/project_gtd_empty.py b/addons/project_gtd/wizard/project_gtd_empty.py
index a2ebe2e8dba..4eb4de12c12 100644
--- a/addons/project_gtd/wizard/project_gtd_empty.py
+++ b/addons/project_gtd/wizard/project_gtd_empty.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
@@ -15,46 +15,52 @@
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
+from osv import osv, fields
+from tools.translate import _
+class project_timebox_empty(osv.osv_memory):
-import wizard
-import netsvc
-import time
-import pooler
-from osv import osv
-from tools.translate import _
+ _name = 'project.timebox.empty'
+ _description = 'Project Timebox Empty'
+ _columns = {
+ 'name': fields.char('Name', size=32)
+ }
-class wiz_timebox_empty(wizard.interface):
- def _empty(self, cr, uid, data, context):
- pool = pooler.get_pool(cr.dbname)
- ids = pool.get('project.gtd.timebox').search(cr, uid, [])
- if not len(ids):
- raise wizard.except_wizard(_('Error !'), _('No timebox child of this one !'))
- tids = pool.get('project.task').search(cr, uid, [('timebox_id','=',data['id'])])
+ def view_init(self, cr , uid , fields_list, context=None):
+ if context is None:
+ context = {}
+ self._empty(cr, uid, context=context)
+ pass
+
+ def _empty(self, cr, uid, context=None):
close = []
up = []
- for task in pool.get('project.task').browse(cr, uid, tids, context):
- if (task.state in ('cancel','done')) or (task.user_id.id<>uid):
+ obj_tb = self.pool.get('project.gtd.timebox')
+ obj_task = self.pool.get('project.task')
+
+ if context is None:
+ context = {}
+ if not 'active_id' in context:
+ return {}
+
+ ids = obj_tb.search(cr, uid, [], context=context)
+ if not len(ids):
+ raise osv.except_osv(_('Error !'), _('No timebox child of this one !'))
+ tids = obj_task.search(cr, uid, [('timebox_id', '=', context['active_id'])])
+ for task in obj_task.browse(cr, uid, tids, context):
+ if (task.state in ('cancel','done')) or (task.user_id.id <> uid):
close.append(task.id)
else:
up.append(task.id)
if up:
- pool.get('project.task').write(cr, uid, up, {'timebox_id':ids[0]})
+ obj_task.write(cr, uid, up, {'timebox_id':ids[0]})
if close:
- pool.get('project.task').write(cr, uid, close, {'timebox_id':False})
+ obj_task.write(cr, uid, close, {'timebox_id':False})
return {}
- states = {
- 'init' : {
- 'actions' : [_empty],
- 'result' : {'type':'state', 'state':'end'}
- }
- }
-wiz_timebox_empty('project.gtd.timebox.empty')
-
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+project_timebox_empty()
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file
diff --git a/addons/project_gtd/wizard/project_gtd_empty_view.xml b/addons/project_gtd/wizard/project_gtd_empty_view.xml
new file mode 100644
index 00000000000..ef71ae72978
--- /dev/null
+++ b/addons/project_gtd/wizard/project_gtd_empty_view.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data>
+
+ <record id="view_project_gtd_empty" model="ir.ui.view">
+ <field name="name">Empty Timebox</field>
+ <field name="model">project.timebox.empty</field>
+ <field name="type">form</field>
+ <field name="arch" type="xml">
+ <form string="Empty Timebox">
+ <label string="Timebox Empty Process Completed Successfully."/>
+ <group colspan="4" col="6">
+ <button icon="gtk-ok" colspan="4" special="cancel" string="_Ok"/>
+ </group>
+ </form>
+ </field>
+ </record>
+
+ <record id="action_project_gtd_empty" model="ir.actions.act_window">
+ <field name="name">Empty Timebox</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">project.timebox.empty</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">form</field>
+ <field name="view_id" ref="view_project_gtd_empty"/>
+ <field name="context">{'record_id' : active_id}</field>
+ <field name="target">new</field>
+ </record>
+
+ <record model="ir.values" id="project_gtd_empty_values">
+ <field name="model_id" ref="model_project_gtd_timebox" />
+ <field name="object" eval="1" />
+ <field name="name">Empty Timebox</field>
+ <field name="key2">client_action_multi</field>
+ <field name="value" eval="'ir.actions.act_window,' + str(ref('action_project_gtd_empty'))" />
+ <field name="key">action</field>
+ <field name="model">project.gtd.timebox</field>
+ </record>
+
+
+ </data>
+</openerp> \ No newline at end of file