[IMP] Improved project task kanban view. Changed icon for 'done' state (with al)
bzr revid: fme@openerp.com-20111107173653-2bcsu7w145v5orw6
This commit is contained in:
parent
8d0fbb32be
commit
1bfc64477b
|
@ -431,7 +431,7 @@ class task(osv.osv):
|
|||
'priority': fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Important'), ('0','Very important')], 'Priority'),
|
||||
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of tasks."),
|
||||
'type_id': fields.many2one('project.task.type', 'Stage'),
|
||||
'state': fields.selection([('draft', 'New'),('open', 'In Progress'),('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'State', readonly=True, required=True,
|
||||
'state': fields.selection([('draft', 'New'),('open', 'In Progress'),('pending', 'Pending'), ('ready', 'Ready'), ('done', 'Done'), ('cancelled', 'Cancelled')], 'State', readonly=True, required=True,
|
||||
help='If the task is created the state is \'Draft\'.\n If the task is started, the state becomes \'In Progress\'.\n If review is needed the task is in \'Pending\' state.\
|
||||
\n If the task is over, the states is set to \'Done\'.'),
|
||||
'create_date': fields.datetime('Create Date', readonly=True,select=True),
|
||||
|
@ -706,6 +706,10 @@ class task(osv.osv):
|
|||
self.log(cr, uid, t.id, message)
|
||||
return True
|
||||
|
||||
def do_ready(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state': 'ready'}, context=context)
|
||||
return True
|
||||
|
||||
def do_draft(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state': 'draft'}, context=context)
|
||||
return True
|
||||
|
@ -749,6 +753,22 @@ class task(osv.osv):
|
|||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def set_remaining_hours_1(self, cr, uid, ids, context=None):
|
||||
self.write(cr, uid, ids, {'remaining_hours': 8.0}, context=context)
|
||||
return True
|
||||
|
||||
def set_remaining_hours_2(self, cr, uid, ids, context=None):
|
||||
self.write(cr, uid, ids, {'remaining_hours': 2 * 8.0}, context=context)
|
||||
return True
|
||||
|
||||
def set_remaining_hours_5(self, cr, uid, ids, context=None):
|
||||
self.write(cr, uid, ids, {'remaining_hours': 5 * 8.0}, context=context)
|
||||
return True
|
||||
|
||||
def set_remaining_hours_10(self, cr, uid, ids, context=None):
|
||||
self.write(cr, uid, ids, {'remaining_hours': 10 * 8.0}, context=context)
|
||||
return True
|
||||
|
||||
def _change_type(self, cr, uid, ids, next, *args):
|
||||
"""
|
||||
go to the next stage
|
||||
|
|
|
@ -244,7 +244,7 @@
|
|||
</group>
|
||||
<group col="3" colspan="2">
|
||||
<field name="remaining_hours" widget="float_time" attrs="{'readonly':[('state','!=','draft')]}" colspan="2"/>
|
||||
<button name="%(action_project_task_reevaluate)d" string="Reevaluate" type="action" colspan="1" target="new" states="open,pending" icon="gtk-edit"/>
|
||||
<button name="%(action_project_task_reevaluate)d" string="Reevaluate" type="action" colspan="1" target="new" states="open,ready,pending" icon="gtk-edit"/>
|
||||
</group>
|
||||
|
||||
<field colspan="4" name="description" nolabel="1" attrs="{'readonly':[('state','=','done')]}" widget="text_wiki"/>
|
||||
|
@ -259,13 +259,13 @@
|
|||
<newline/>
|
||||
<group col="11" colspan="4">
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}' select="1"/>
|
||||
<button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
<button name="do_draft" states="open" string="Draft" type="object" icon="gtk-indent"/>
|
||||
<button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-execute"/>
|
||||
<button name="do_cancel" states="draft,open,ready,pending" string="Cancel" type="object" icon="gtk-cancel"/>
|
||||
<button name="do_draft" states="open,ready" string="Draft" type="object" icon="gtk-indent"/>
|
||||
<button name="do_open" states="pending,draft" string="Start Task" type="object" icon="gtk-media-play"/>
|
||||
<button name="%(action_project_task_reevaluate)d" states="done,cancelled" string="Reactivate" type="action" icon="gtk-convert" context="{'button_reactivate':True}" />
|
||||
<button name="do_pending" states="open" string="Pending" type="object" icon="gtk-media-pause"/>
|
||||
<button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-sort-descending"/>
|
||||
<button name="action_close" states="pending,open" string="Done" type="object" icon="terp-dialog-close"/>
|
||||
<button name="do_pending" states="open,ready" string="Pending" type="object" icon="gtk-media-pause"/>
|
||||
<button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,ready,draft" string="Delegate" type="action" icon="gtk-sort-descending"/>
|
||||
<button name="action_close" states="pending,open,ready" string="Done" type="object" icon="terp-dialog-close"/>
|
||||
</group>
|
||||
</page>
|
||||
<page groups="base.group_extended" string="Delegations History">
|
||||
|
@ -328,17 +328,20 @@
|
|||
<field name="user_email"/>
|
||||
<field name="description"/>
|
||||
<field name="sequence"/>
|
||||
<field name="state"/>
|
||||
<field name="project_id"/>
|
||||
<field name="remaining_hours" sum="Remaining Time"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<t t-set="pad_url">http://pad.openerp.com/<t t-raw="_.underscored(_.trim(record.name.raw_value))"/></t>
|
||||
<div t-att-class="kanban_color(record.color.raw_value) + (record.state.raw_value === 'pending' ? ' oe_kanban_color_alert' : '')">
|
||||
<div t-att-class="kanban_color(record.color.raw_value) + (record.state.raw_value === 'pending' ? ' oe_kanban_color_alert' : '') + (record.state.raw_value === 'ready' ? ' oe_kanban_color_green' : '')">
|
||||
<div class="oe_kanban_box oe_kanban_color_border">
|
||||
<table class="oe_kanban_table oe_kanban_box_header oe_kanban_color_bgdark oe_kanban_color_border oe_kanban_draghandle">
|
||||
<tr>
|
||||
<td class="oe_kanban_title1" align="left" valign="middle">
|
||||
<a t-if="record.priority.raw_value == 1" icon="star-on" type="object" name="set_normal_priority"/>
|
||||
<a t-if="record.priority.raw_value != 1" icon="star-off" type="object" name="set_high_priority" style="opacity:0.6; filter:alpha(opacity=60);"/>
|
||||
<field name="name"/>
|
||||
<span t-att-title="record.project_id.value"><field name="name"/></span>
|
||||
</td>
|
||||
<td valign="top" width="22">
|
||||
<img t-att-src="kanban_gravatar(record.user_email.value, 22)" class="oe_kanban_gravatar" t-att-title="record.user_id.value"/>
|
||||
|
@ -346,16 +349,19 @@
|
|||
</tr>
|
||||
</table>
|
||||
<div class="oe_kanban_box_content oe_kanban_color_bglight oe_kanban_box_show_onclick_trigger">
|
||||
<div class="oe_kanban_right">
|
||||
<b>
|
||||
<field name="project_id"/><br/>
|
||||
<field name="state"/><t t-if="record.date_deadline.value"> - </t>
|
||||
<i><field name="date_deadline"/></i>
|
||||
</b>
|
||||
</div>
|
||||
<div>
|
||||
<t t-esc="kanban_text_ellipsis(record.description.value, 160)"/>
|
||||
</div>
|
||||
<div>
|
||||
<i t-if="record.date_deadline.raw_value"><field name="date_deadline"/> ,</i>
|
||||
<field name="remaining_hours"/>
|
||||
<b>
|
||||
<a name="set_remaining_hours_1" string="Set 1 day" type="object"> [1d]</a>
|
||||
<a name="set_remaining_hours_2" string="Set 2 day" type="object"> [2d]</a>
|
||||
<a name="set_remaining_hours_5" string="Set 5 day" type="object"> [5d]</a>
|
||||
<a name="set_remaining_hours_10" string="Set 10 day" type="object"> [10d]</a>
|
||||
</b>
|
||||
</div>
|
||||
<br class="oe_kanban_clear"/>
|
||||
</div>
|
||||
<div class="oe_kanban_buttons_set oe_kanban_color_border oe_kanban_color_bglight oe_kanban_box_show_onclick">
|
||||
|
@ -364,8 +370,10 @@
|
|||
<a string="Change Color" icon="color-picker" type="color" name="color"/>
|
||||
</div>
|
||||
<div class="oe_kanban_right">
|
||||
<a name="do_pending" string="Set Pending" states="open" type="object" icon="gtk-media-pause"/>
|
||||
<a name="do_open" string="Open" states="draft,pending" type="object" icon="gtk-media-play"/>
|
||||
<a name="do_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
|
||||
<a name="do_open" string="Start Task" states="pending,ready" type="object" icon="gtk-media-play"/>
|
||||
<a name="do_ready" string="Ready" states="draft,open" type="object" icon="gtk-go-forward"/>
|
||||
<a name="action_close" string="Done" states="draft,open,ready" type="object" icon="gtk-apply"/>
|
||||
</div>
|
||||
<br class="oe_kanban_clear"/>
|
||||
</div>
|
||||
|
@ -407,7 +415,7 @@
|
|||
<field name="progress" widget="progressbar" invisible="context.get('set_visible',False)"/>
|
||||
<field name="state" invisible="context.get('set_visible',False)"/>
|
||||
<button name="do_cancel" states="draft,open,pending" string="Cancel" type="object" icon="gtk-cancel" help="For cancelling the task"/>
|
||||
<button name="do_open" states="pending,draft,done,cancelled" string="Start Task" type="object" icon="gtk-execute" help="For changing to open state" invisible="context.get('set_visible',False)"/>
|
||||
<button name="do_open" states="pending,draft,done,cancelled" string="Start Task" type="object" icon="gtk-media-play" help="For changing to open state" invisible="context.get('set_visible',False)"/>
|
||||
<button groups="base.group_extended" name="%(action_project_task_delegate)d" states="pending,open,draft" string="Delegate" type="action" icon="gtk-sort-descending" help="For changing to delegate state"/>
|
||||
<button name="action_close" states="draft,pending,open" string="Done" type="object" icon="terp-dialog-close" help="For changing to done state"/>
|
||||
</tree>
|
||||
|
|
Loading…
Reference in New Issue