summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornch@tinyerp.com <>2010-02-04 11:43:10 +0530
committernch@tinyerp.com <>2010-02-04 11:43:10 +0530
commitfbfdca6eb047c648039b82ca5b7b6efad5e6a550 (patch)
treecb4687b6400c07d133bc32aefcb4223a0a47cd5d
parent6d728c723d9b8475f995a02ca00501cad250085d (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.xml20
-rw-r--r--addons/project_gtd/project_gtd.py25
-rw-r--r--addons/project_gtd/project_gtd_view.xml40
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&lt;0;red:bool(date_deadline) and (date_deadline&lt;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>