diff --git a/addons/project_gtd/__init__.py b/addons/project_gtd/__init__.py deleted file mode 100644 index cb17064b6b8..00000000000 --- a/addons/project_gtd/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# 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 . -# -############################################################################## -import project_gtd -import wizard -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/project_gtd/__openerp__.py b/addons/project_gtd/__openerp__.py deleted file mode 100644 index ee14df38101..00000000000 --- a/addons/project_gtd/__openerp__.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# 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 . -# -############################################################################## - - -{ - 'name': 'Todo Lists', - 'version': '1.0', - 'category': 'Project Management', - 'sequence': 100, - 'summary': 'Personal Tasks, Contexts, Timeboxes', - 'description': """ -Implement concepts of the "Getting Things Done" methodology -=========================================================== - -This module implements a simple personal to-do list based on tasks. It adds an editable list of tasks simplified to the minimum required fields in the project application. - -The to-do list is based on the GTD methodology. This world-wide used methodology is used for personal time management improvement. - -Getting Things Done (commonly abbreviated as GTD) is an action management method created by David Allen, and described in a book of the same name. - -GTD rests on the principle that a person needs to move tasks out of the mind by recording them externally. That way, the mind is freed from the job of remembering everything that needs to be done, and can concentrate on actually performing those tasks. - """, - 'author': 'OpenERP SA', - 'images': ['images/project_gtd.jpeg'], - 'depends': ['project'], - 'data': [ - 'project_gtd_data.xml', - 'project_gtd_view.xml', - 'security/ir.model.access.csv', - 'wizard/project_gtd_empty_view.xml', - 'wizard/project_gtd_fill_view.xml', - ], - 'demo': ['project_gtd_demo.xml'], - 'test':['test/task_timebox.yml'], - 'installable': True, - 'auto_install': False, -} -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_gtd/project_gtd.py b/addons/project_gtd/project_gtd.py deleted file mode 100644 index 47569e863aa..00000000000 --- a/addons/project_gtd/project_gtd.py +++ /dev/null @@ -1,122 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# 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 . -# -############################################################################## - -import sys - -from openerp.osv import fields, osv -from openerp import tools -from openerp.tools.translate import _ - -class project_gtd_context(osv.osv): - _name = "project.gtd.context" - _description = "Context" - _columns = { - 'name': fields.char('Context', size=64, required=True, select=1, translate=1), - 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of contexts."), - } - _defaults = { - 'sequence': 1 - } - _order = "sequence, name" - - - -class project_gtd_timebox(osv.osv): - _name = "project.gtd.timebox" - _order = "sequence" - _columns = { - 'name': fields.char('Timebox', size=64, required=True, select=1, translate=1), - 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of timebox."), - 'icon': fields.selection(tools.icons, 'Icon', size=64), - } - - -class project_task(osv.osv): - _inherit = "project.task" - _columns = { - 'timebox_id': fields.many2one('project.gtd.timebox', "Timebox",help="Time-laps during which task has to be treated"), - 'context_id': fields.many2one('project.gtd.context', "Context",help="The context place where user has to treat task"), - } - - def copy_data(self, cr, uid, id, default=None, context=None): - if context is None: - context = {} - if not default: - default = {} - default['timebox_id'] = False - default['context_id'] = False - return super(project_task,self).copy_data(cr, uid, id, default, context) - - def _get_context(self, cr, uid, context=None): - ids = self.pool.get('project.gtd.context').search(cr, uid, [], context=context) - return ids and ids[0] or False - - _defaults = { - 'context_id': _get_context - } - def next_timebox(self, cr, uid, ids, *args): - timebox_obj = self.pool.get('project.gtd.timebox') - timebox_ids = timebox_obj.search(cr,uid,[]) - if not timebox_ids: return True - for task in self.browse(cr,uid,ids): - timebox = task.timebox_id.id - if not timebox: - self.write(cr, uid, task.id, {'timebox_id': timebox_ids[0]}) - elif timebox_ids.index(timebox) != len(timebox_ids)-1: - index = timebox_ids.index(timebox) - self.write(cr, uid, task.id, {'timebox_id': timebox_ids[index+1]}) - return True - - def prev_timebox(self, cr, uid, ids, *args): - timebox_obj = self.pool.get('project.gtd.timebox') - timebox_ids = timebox_obj.search(cr,uid,[]) - for task in self.browse(cr,uid,ids): - timebox = task.timebox_id.id - if timebox: - if timebox_ids.index(timebox): - index = timebox_ids.index(timebox) - self.write(cr, uid, task.id, {'timebox_id': timebox_ids[index - 1]}) - else: - self.write(cr, uid, task.id, {'timebox_id': False}) - return True - - def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): - if not context: context = {} - res = super(project_task,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu) - search_extended = False - timebox_obj = self.pool.get('project.gtd.timebox') - if (res['type'] == 'search') and context.get('gtd', False): - tt = timebox_obj.browse(cr, uid, timebox_obj.search(cr,uid,[]), context=context) - search_extended ='' - for time in tt: - if time.icon: - icon = time.icon - else : - icon="" - search_extended += '''\n''' - search_extended +='''''' - - res['arch'] = tools.ustr(res['arch']).replace('', search_extended) - - return res - - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_gtd/project_gtd_data.xml b/addons/project_gtd/project_gtd_data.xml deleted file mode 100644 index 9d8c99f23ff..00000000000 --- a/addons/project_gtd/project_gtd_data.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - Office - 0 - - - Travel - 2 - - - - Today - terp-go-today - - - This Week - terp-go-week - - - Long Term - terp-project - - - - - - - mail.group - - notification - - Todo Lists application installed! - Add todo items on project tasks, to help you organize your work.

-This application supports the Getting Things Done (GTD) methodology, based on David Allen's book.

]]>
-
- -
-
diff --git a/addons/project_gtd/project_gtd_demo.xml b/addons/project_gtd/project_gtd_demo.xml deleted file mode 100644 index 00ba897c4e2..00000000000 --- a/addons/project_gtd/project_gtd_demo.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - Home - 3 - - - Car - 1 - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/project_gtd/project_gtd_view.xml b/addons/project_gtd/project_gtd_view.xml deleted file mode 100644 index 0ae335d9bfb..00000000000 --- a/addons/project_gtd/project_gtd_view.xml +++ /dev/null @@ -1,132 +0,0 @@ - - - - - project.gtd.context.tree - project.gtd.context - - - - - - - - - - project.gtd.context.form - project.gtd.context - -
- - - - -
-
-
- - - Contexts - project.gtd.context - Contexts are defined in the "Getting Things Done" methodology. It allows you to categorize your tasks according to the context in which they have to be done: at the office, at home, when I take my car, etc. - - - - - - project.gtd.timebox.tree - project.gtd.timebox - - - - - - - - - - - project.gtd.timebox.form - project.gtd.timebox - -
- - - - - -
-
-
- - - Timeboxes - project.gtd.timebox - form - tree,form - - Timeboxes are defined in the "Getting Things Done" methodology. A timebox defines a period of time in order to categorize your tasks: today, this week, this month, long term. - - - - - - project.task.tree.timebox - project.task - - - - - - - - - - - project.task.form.timebox - project.task - - - - - - - - - - - project.task.gtd.search - project.task - 50 - - - - - - - - - - - - - - - - - - - My Tasks - project.task - - {'set_editable':True,'set_visible':True,'gtd':True,'user_invisible':True, "search_default_open": 1} - [('user_id','=',uid)] - form - kanban,tree,form,calendar,gantt,graph - - - - -
-
diff --git a/addons/project_gtd/security/ir.model.access.csv b/addons/project_gtd/security/ir.model.access.csv deleted file mode 100644 index d85ac8a5d0c..00000000000 --- a/addons/project_gtd/security/ir.model.access.csv +++ /dev/null @@ -1,5 +0,0 @@ -id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_project_gtd_context_user,project.gtd.context project user,model_project_gtd_context,project.group_project_user,1,0,0,0 -access_project_gtd_timebox_user,project.gtd.timebox project user,model_project_gtd_timebox,project.group_project_user,1,0,0,0 -access_project_gtd_context_manager,project.gtd.context project manager,model_project_gtd_context,project.group_project_manager,1,1,1,1 -access_project_gtd_timebox_manager,project.gtd.timebox project manager,model_project_gtd_timebox,project.group_project_manager,1,1,1,1 diff --git a/addons/project_gtd/static/description/icon.png b/addons/project_gtd/static/description/icon.png deleted file mode 100644 index 2f888a90a60..00000000000 Binary files a/addons/project_gtd/static/description/icon.png and /dev/null differ diff --git a/addons/project_gtd/test/task_timebox.yml b/addons/project_gtd/test/task_timebox.yml deleted file mode 100644 index 8efa7219b21..00000000000 --- a/addons/project_gtd/test/task_timebox.yml +++ /dev/null @@ -1,45 +0,0 @@ -- - In order to test the process of Timebox in Project Management module, - I set my task from Daily to Weekly Timebox through Plannify Timebox -- - !record {model: project.timebox.fill.plan, id: plan_id}: - task_ids: [project.project_task_10] - timebox_id: timebox_daily - timebox_to_id: timebox_weekly -- - I set the task from Daily Timebox to Weekly Timebox -- - !python {model: project.timebox.fill.plan}: | - self.process(cr, uid, [ref("plan_id")]) -- - I check task is set to Weekly Timebox -- - !assert {model: project.task, id: project.project_task_10, string: Task should be set to weekly timebox}: - - timebox_id.id == ref("timebox_weekly") -- - I Empty the Weekly Timebox -- - !python {model: project.timebox.empty}: | - self._empty(cr, uid, {"active_model": "project.gtd.timebox", - "active_ids":[ref("timebox_weekly")], - "active_id": ref("timebox_weekly"), - }) -- - I check task 'Develop Module in Sale Management' is no more in Weekly Timebox -- - !assert {model: project.task, id: project.project_task_10 , string: Task is not in Weekly Timebox }: - - timebox_id.id != ref("timebox_weekly") -- - I set Previous Timebox on task -- - !python {model: project.task}: | - previous_timebox = self.prev_timebox(cr, uid, [ref("project.project_task_10")], - {'active_ids': [ref("project_gtd.menu_open_gtd_timebox_tree")],}) - assert previous_timebox == True, "I set Previous Timebox on task" -- - I set Next Timebox on task -- - !python {model: project.task}: | - next_timebox = self.next_timebox(cr, uid, [ref("project.project_task_10")], - {'active_ids': [ref("project_gtd.menu_open_gtd_timebox_tree")],}) - assert next_timebox == True, "I set Next Timebox on task" \ No newline at end of file diff --git a/addons/project_gtd/wizard/__init__.py b/addons/project_gtd/wizard/__init__.py deleted file mode 100644 index aa2bbc22c45..00000000000 --- a/addons/project_gtd/wizard/__init__.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# 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 . -# -############################################################################## - -import project_gtd_empty -import project_gtd_fill - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - diff --git a/addons/project_gtd/wizard/project_gtd_empty.py b/addons/project_gtd/wizard/project_gtd_empty.py deleted file mode 100644 index b477c12567a..00000000000 --- a/addons/project_gtd/wizard/project_gtd_empty.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# 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 . -# -############################################################################## - -from openerp.osv import fields, osv -from openerp.tools.translate import _ - -class project_timebox_empty(osv.osv_memory): - - _name = 'project.timebox.empty' - _description = 'Project Timebox Empty' - _columns = { - 'name': fields.char('Name', size=32) - } - - 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 = [] - 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.stage_id and task.stage_id.fold) or (task.user_id.id <> uid): - close.append(task.id) - else: - up.append(task.id) - if up: - obj_task.write(cr, uid, up, {'timebox_id':ids[0]}) - if close: - obj_task.write(cr, uid, close, {'timebox_id':False}) - return {} - - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_gtd/wizard/project_gtd_empty_view.xml b/addons/project_gtd/wizard/project_gtd_empty_view.xml deleted file mode 100644 index 053c0013e73..00000000000 --- a/addons/project_gtd/wizard/project_gtd_empty_view.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - Empty Timebox - project.timebox.empty - -
-
-
- - - Empty Timebox - ir.actions.act_window - project.timebox.empty - form - form - - {'record_id' : active_id} - new - - - - - Empty Timebox - client_action_multi - - action - project.gtd.timebox - - - -
-
diff --git a/addons/project_gtd/wizard/project_gtd_fill.py b/addons/project_gtd/wizard/project_gtd_fill.py deleted file mode 100644 index 121bd7efdac..00000000000 --- a/addons/project_gtd/wizard/project_gtd_fill.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 Tiny SPRL (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# 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 . -# -############################################################################## - -from openerp.osv import fields, osv - -class project_timebox_fill(osv.osv_memory): - - _name = 'project.timebox.fill.plan' - _description = 'Project Timebox Fill' - _columns = { - 'timebox_id': fields.many2one('project.gtd.timebox', 'Get from Timebox', required=True), - 'timebox_to_id': fields.many2one('project.gtd.timebox', 'Set to Timebox', required=True), - 'task_ids': fields.many2many('project.task', 'project_task_rel', 'task_id', 'fill_id', 'Tasks selection') - } - - def _get_from_tb(self, cr, uid, context=None): - ids = self.pool.get('project.gtd.timebox').search(cr, uid, [], context=context) - return ids and ids[0] or False - - def _get_to_tb(self, cr, uid, context=None): - if context is None: - context = {} - if 'active_id' in context: - return context['active_id'] - return False - - _defaults = { - 'timebox_id': _get_from_tb, - 'timebox_to_id': _get_to_tb, - } - - def process(self, cr, uid, ids, context=None): - if not ids: - return {} - data = self.read(cr, uid, ids, [], context=context) - if not data[0]['task_ids']: - return {} - self.pool.get('project.task').write(cr, uid, data[0]['task_ids'], {'timebox_id':data[0]['timebox_to_id'][0]}) - return {'type': 'ir.actions.act_window_close'} - - -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/project_gtd/wizard/project_gtd_fill_view.xml b/addons/project_gtd/wizard/project_gtd_fill_view.xml deleted file mode 100644 index 626dfb699b8..00000000000 --- a/addons/project_gtd/wizard/project_gtd_fill_view.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - Plannify Timebox - project.timebox.fill.plan - -
- - - - - -
-
- -
-
- - - Plannify Timebox - ir.actions.act_window - project.timebox.fill.plan - form - form - - {'record_id' : active_id} - new - - - - - Plannify Timebox - client_action_multi - - action - project.gtd.timebox - - - -
-