diff options
| author | nch@tinyerp.com <> | 2010-02-04 11:43:10 +0530 |
|---|---|---|
| committer | nch@tinyerp.com <> | 2010-02-04 11:43:10 +0530 |
| commit | fbfdca6eb047c648039b82ca5b7b6efad5e6a550 (patch) | |
| tree | cb4687b6400c07d133bc32aefcb4223a0a47cd5d | |
| parent | 6d728c723d9b8475f995a02ca00501cad250085d (diff) | |
[IMP]:improved project task and project_gtd view set them according to context
bzr revid: nch@tinyerp.com-20100204061310-w7zxlxd4uquc98j0
| -rw-r--r-- | addons/project/project_view.xml | 20 | ||||
| -rw-r--r-- | addons/project_gtd/project_gtd.py | 25 | ||||
| -rw-r--r-- | addons/project_gtd/project_gtd_view.xml | 40 |
3 files changed, 32 insertions, 53 deletions
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index 1e75b2a9a82..cdb5e0912c4 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -361,22 +361,24 @@ <tree colors="grey:state in ('cancelled','done');blue:remaining_hours<0;red:bool(date_deadline) and (date_deadline<current_date) and (state in ('draft','open'));black:state not in ('cancelled','done')" string="Tasks"> <field name="sequence" invisible="1"/> <field name="name"/> - <field name="project_id" icon="gtk-indent"/> + <field name="project_id" icon="gtk-indent" invisible="context.get('set_visible',False)"/> <field name="user_id"/> - <field name="remaining_hours" widget="float_time" sum="Remaining Hours"/> - <field name="date_deadline"/> - <field name="type" groups="base.group_extended"/> - <button name="next_type" + <field name="remaining_hours" widget="float_time" sum="Remaining Hours" invisible="context.get('set_visible',False)"/> + <field name="date_deadline" invisible="context.get('set_visible',False)"/> + <field name="type" groups="base.group_extended" invisible="context.get('set_visible',False)"/> + <field name="date_start" invisible="1"/> + <field name="date_end" invisible="1"/> + <button name="next_type" invisible="context.get('set_visible',False)" states="draft,open,pending" string="Change Stage" type="object" icon="gtk-go-forward" groups="base.group_extended" help="Change Type"/> - <field name="progress" widget="progressbar"/> - <field name="state"/> - <button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-execute" help="For changing to open state"/> - <button groups="base.group_extended" name="%(wizard_delegate_task)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-execute" help="For changing to delegate state"/> + <field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/> + <field name="state" invisible="context.get('set_visible',False)"/> + <button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-execute" help="For changing to open state" invisible="context.get('set_visible',False)"/> + <button groups="base.group_extended" name="%(wizard_delegate_task)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-execute" help="For changing to delegate state" /> <button name="%(wizard_close_task)d" states="pending,open" string="Done" type="action" icon="gtk-jump-to" help="For changing to done state"/> <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel" help="For cancelling the task"/> </tree> diff --git a/addons/project_gtd/project_gtd.py b/addons/project_gtd/project_gtd.py index 1f2927e06f5..e21233fa3ef 100644 --- a/addons/project_gtd/project_gtd.py +++ b/addons/project_gtd/project_gtd.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/>. # ############################################################################## @@ -49,7 +49,7 @@ class project_gtd_context(osv.osv): 'sequence': lambda *args: 1 } _order = "sequence, name" - + project_gtd_context() @@ -61,7 +61,7 @@ class project_gtd_timebox(osv.osv): 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of timebox."), 'icon': fields.selection(tools.icons, 'Icon', size=64), } - + def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): res = super(project_gtd_timebox,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu) if (res['type']=='form') and ('record_id' in context): @@ -123,14 +123,14 @@ class project_task(osv.osv): 'timebox_id': fields.many2one('project.gtd.timebox', "Timebox"), 'context_id': fields.many2one('project.gtd.context', "Context"), } - + def copy_data(self, cr, uid, id, default=None, context=None): 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, ctx): ids = self.pool.get('project.gtd.context').search(cr, uid, [], context=ctx) return ids and ids[0] or False @@ -169,19 +169,20 @@ class project_task(osv.osv): timebox_obj = self.pool.get('project.gtd.timebox') if res['type'] == 'search': tt = timebox_obj.browse(cr, uid, timebox_obj.search(cr,uid,[])) - search_extended ='''<newline/><group col="%d" expand="1" string="%s" groups="project_gtd.group_project_getting">''' % (len(tt)+6,_('Getting Things Done')) - search_extended += '''<filter domain="[('timebox_id','=', False)]" icon="gtk-new" string="Inbox"/>''' + search_extended ='''<newline/><group col="%d" expand="1" string="%s" groups="project_gtd.group_project_getting">''' % (len(tt)+7,_('Getting Things Done')) + search_extended += '''<filter domain="[]" string="Simplified View" context="{'set_editable':True,'set_visible':True}"/>''' + search_extended += '''<filter domain="[('timebox_id','=', False)]" icon="gtk-new" string="Inbox" />''' search_extended += '''<separator orientation="vertical"/>''' for time in tt: if time.icon: icon = time.icon else : icon="" - search_extended += '''<filter domain="[('timebox_id','=', ''' + str(time.id) + ''')]" icon="''' + icon + '''" string="''' + time.name + '''"/>''' + search_extended += '''<filter domain="[('timebox_id','=', ''' + str(time.id) + ''')]" icon="''' + icon + '''" string="''' + time.name + '''" />''' search_extended += ''' <separator orientation="vertical"/> - <field name="context_id" select="1" widget="selection"/> - <field name="priority" select="1"/> + <field name="context_id" select="1" widget="selection" /> + <field name="priority" select="1" /> </group> </search> ''' if search_extended: @@ -191,7 +192,7 @@ class project_task(osv.osv): context_id_info['context_id']['selection'] = attrs_sel res['fields'].update(context_id_info) return res - + # Override read for using this method if context set !!! #_order = "((55-ascii(coalesce(priority,'2')))*2 + coalesce((date_start::date-current_date)/2,8))" project_task() diff --git a/addons/project_gtd/project_gtd_view.xml b/addons/project_gtd/project_gtd_view.xml index b15a0752206..1d5bb08c200 100644 --- a/addons/project_gtd/project_gtd_view.xml +++ b/addons/project_gtd/project_gtd_view.xml @@ -75,9 +75,9 @@ <field name="inherit_id" ref="project.view_task_tree2" /> <field name="arch" type="xml"> <field name="remaining_hours" position="after"> - <field name="timebox_id" groups="project_gtd.group_project_getting"/> - <button name="prev_timebox" type="object" icon="gtk-go-back" string="Previous" states="draft,pending,open" groups="project_gtd.group_project_getting"/> - <button name="next_timebox" type="object" icon="gtk-go-forward" string="Next" states="draft,pending,open" groups="project_gtd.group_project_getting"/> + <field name="timebox_id" groups="project_gtd.group_project_getting" invisible=" not context.get('set_visible',False)"/> + <button name="prev_timebox" type="object" icon="gtk-go-back" string="Previous" states="draft,pending,open" groups="project_gtd.group_project_getting" invisible=" not context.get('set_visible',False)"/> + <button name="next_timebox" type="object" icon="gtk-go-forward" string="Next" states="draft,pending,open" groups="project_gtd.group_project_getting" invisible=" not context.get('set_visible',False)"/> </field> </field> </record> @@ -92,6 +92,7 @@ <newline/> <field name="context_id" select="2" widget="selection" groups="project_gtd.group_project_getting"/> <field name="timebox_id" select="1" groups="project_gtd.group_project_getting"/> + <button name="do_reopen" states="done,cancelled" string="Reactivate" type="object" icon="gtk-convert" help="For reopening the tasks" invisible="not context.get('set_visible',False)"/> <newline/> </field> </field> @@ -100,38 +101,13 @@ <field name="name">Tasks</field> <field name="model">project.task</field> <field name="type">tree</field> + <field name="inherit_id" ref="project.view_task_tree2"/> <field eval="2" name="priority"/> <field name="arch" type="xml"> - <tree editable="top" colors="grey:state in ('done',);red:state in ('cancelled');black:state not in ('done','cancelled')" string="Tasks"> - <field name="sequence" invisible="1"/> - <field name="name"/> - <field name="planned_hours" widget="float_time"/> - <field name="user_id"/> - <field name="timebox_id" widget="selection" groups="project_gtd.group_project_getting"/> - <button name="prev_timebox" type="object" icon="gtk-go-back" string="Previous" states="draft,pending,open" groups="project_gtd.group_project_getting"/> - <button name="next_timebox" type="object" icon="gtk-go-forward" string="Next" states="draft,pending,open" groups="project_gtd.group_project_getting"/> - <field name="state" invisible="1"/> - <button name="%(project.wizard_close_task)d" states="draft,pending,open" string="Done" type="action" icon="gtk-jump-to" help="For changing to done state"/> - <button groups="base.group_extended" name="%(project.wizard_delegate_task)d" states="pending,open" string="Delegate" type="action" icon="gtk-sort-descending"/> - <button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel" help="For cancelling the task"/> - <button name="do_reopen" states="done,cancelled" string="Reactivate" type="object" icon="gtk-convert" help="For reopening the tasks"/> - </tree> + <field name="name" position="after"> + <field name="planned_hours" widget="float_time" invisible="not context.get('set_visible',False)"/> + </field> </field> </record> - - <record model="ir.actions.act_window" id="action_prject_task_tree"> - <field name="res_model">project.task</field> - <field name="view_type">form</field> - <field name="view_mode">tree,form,calendar,graph</field> - <field name="view_id" ref="view_project_task_tree2"/> - <field name="search_view_id" ref="project.view_task_search_form"/> - </record> - - <menuitem name="To-Dos" - groups="group_project_getting" - id="menu_task_inbox" - parent="project.menu_project_management" - action="action_prject_task_tree"/> - </data> </openerp> |
