commit
a19c25544b
|
@ -271,7 +271,7 @@ class task(osv.osv):
|
|||
'history': fields.function(_history_get, method=True, string="Task Details", type="text"),
|
||||
'notes': fields.text('Notes'),
|
||||
|
||||
'planned_hours': fields.float('Planned Hours', readonly=True, states={'draft':[('readonly',False)]}, required=True, help='Estimated time to do the task, usually set by the project manager when the task is in draft state.'),
|
||||
'planned_hours': fields.float('Planned Hours', required=True, help='Estimated time to do the task, usually set by the project manager when the task is in draft state.'),
|
||||
'effective_hours': fields.function(_hours_get, method=True, string='Hours Spent', multi='hours', store=True, help="Computed using the sum of the task work done."),
|
||||
'remaining_hours': fields.float('Remaining Hours', digits=(16,2), help="Total remaining time, can be re-estimated periodically by the assignee of the task."),
|
||||
'total_hours': fields.function(_hours_get, method=True, string='Total Hours', multi='hours', store=True, help="Computed as: Time Spent + Remaining Time."),
|
||||
|
@ -280,7 +280,7 @@ class task(osv.osv):
|
|||
|
||||
'user_id': fields.many2one('res.users', 'Assigned to'),
|
||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
||||
'work_ids': fields.one2many('project.task.work', 'task_id', 'Work done', readonly=False, states={'draft':[('readonly',True)]}),
|
||||
'work_ids': fields.one2many('project.task.work', 'task_id', 'Work done'),
|
||||
}
|
||||
_defaults = {
|
||||
'user_id': lambda obj,cr,uid,context: uid,
|
||||
|
|
|
@ -243,11 +243,11 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Task edition">
|
||||
<group colspan="6" col="6">
|
||||
<field name="name" select="1"/>
|
||||
<field name="project_id" required="1" select="1"/>
|
||||
<field name="total_hours" widget="float_time"/>
|
||||
<field name="user_id" select="1"/>
|
||||
<field name="date_deadline" select="2"/>
|
||||
<field name="name" select="1" attrs="{'readonly':[('state','=','done')]}" />
|
||||
<field name="project_id" required="1" select="1" attrs="{'readonly':[('state','=','done')]}" />
|
||||
<field name="total_hours" widget="float_time" attrs="{'readonly':[('state','=','done')]}" />
|
||||
<field name="user_id" select="1" attrs="{'readonly':[('state','=','done')]}" />
|
||||
<field name="date_deadline" select="2" attrs="{'readonly':[('state','=','done')]}" />
|
||||
<field name="progress" widget="progressbar"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
|
@ -256,6 +256,7 @@
|
|||
<field
|
||||
name="planned_hours"
|
||||
widget="float_time"
|
||||
attrs="{'readonly':[('state','!=','draft')]}"
|
||||
on_change="onchange_planned(planned_hours,effective_hours)"/>
|
||||
<field name="remaining_hours" select="2" widget="float_time" attrs="{'readonly':[('state','!=','draft')]}" colspan="2"/>
|
||||
<button name="%(action_config_compute_remaining)d" string="Review" type="action" colspan="1" target="new" states="open,pending"/>
|
||||
|
@ -265,8 +266,15 @@
|
|||
<field name="effective_hours" widget="float_time"/>
|
||||
</group>
|
||||
|
||||
<field colspan="4" name="description" nolabel="1" select="2"/>
|
||||
<field colspan="4" name="work_ids" nolabel="1"/>
|
||||
<field colspan="4" name="description" nolabel="1" select="2" attrs="{'readonly':[('state','=','done')]}" />
|
||||
<field colspan="4" name="work_ids" nolabel="1" attrs="{'readonly':[('state','in',['draft','done'])]}">
|
||||
<tree string="Task Work" editable="top">
|
||||
<field name="date" />
|
||||
<field name="user_id" />
|
||||
<field name="hours" widget="float_time" />
|
||||
<field name="name" />
|
||||
</tree>
|
||||
</field>
|
||||
<newline/>
|
||||
<group col="11" colspan="4">
|
||||
<field name="state" select="1"/>
|
||||
|
@ -282,7 +290,7 @@
|
|||
</page>
|
||||
<page groups="base.group_extended" string="Delegations">
|
||||
<field colspan="4" name="history" nolabel="1"/>
|
||||
<field colspan="4" height="150" name="child_ids" nolabel="1">
|
||||
<field colspan="4" height="150" name="child_ids" nolabel="1" attrs="{'readonly':[('state','!=','draft')]}">
|
||||
<tree string="Delegated tasks">
|
||||
<field name="name"/>
|
||||
<field name="user_id"/>
|
||||
|
@ -294,7 +302,7 @@
|
|||
</field>
|
||||
<field colspan="4" name="parent_id"/>
|
||||
</page>
|
||||
<page groups="base.group_extended" string="Extra Info">
|
||||
<page groups="base.group_extended" string="Extra Info" attrs="{'readonly':[('state','in',['draft','done'])]}">
|
||||
<separator string="Planning" colspan="2"/>
|
||||
<separator string="Dates" colspan="2"/>
|
||||
<field name="priority"/>
|
||||
|
|
|
@ -444,7 +444,7 @@ class stock_picking(osv.osv):
|
|||
if default is None:
|
||||
default = {}
|
||||
default = default.copy()
|
||||
default['name'] = False
|
||||
default['name'] = self.pool.get('ir.sequence').get(cr, uid, 'stock.picking')
|
||||
return super(stock_picking, self).copy(cr, uid, id, default, context)
|
||||
|
||||
def onchange_partner_in(self, cr, uid, context, partner_id=None):
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
<field name="padding">7</field>
|
||||
<field name="number_next">1</field>
|
||||
<field name="number_increment">1</field>
|
||||
<field eval="False" name="active"/>
|
||||
</record>
|
||||
|
||||
<record id="sequence_type_tracking" model="ir.sequence.type">
|
||||
|
|
Loading…
Reference in New Issue