diff options
| author | mra (Open ERP) <mra@tinyerp.com> | 2010-04-07 11:54:16 +0530 |
|---|---|---|
| committer | mra (Open ERP) <mra@tinyerp.com> | 2010-04-07 11:54:16 +0530 |
| commit | 2be4475cbae79cb8d8cdcf7bf32761a4e372710c (patch) | |
| tree | 3eae027d2e815af40ee2edbcb815275a17a5008c | |
| parent | 69aa483b1cda9e8c13cd4ea9cc0b51d2b73309d2 (diff) | |
[ADD] project_gtd: Project timebox empty wizard => osv memory
bzr revid: mra@tinyerp.com-20100407062416-zjbwr9zme1zxroqs
| -rw-r--r-- | addons/project_gtd/__terp__.py | 5 | ||||
| -rw-r--r-- | addons/project_gtd/project_gtd_wizard.xml | 6 | ||||
| -rw-r--r-- | addons/project_gtd/wizard/project_gtd_empty.py | 64 | ||||
| -rw-r--r-- | addons/project_gtd/wizard/project_gtd_empty_view.xml | 42 |
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 |
