</group>
<group>
<field name="uom_type" on_change="onchange_type(uom_type)"/>
- <label string=""/>
- <label string="e.g: 1 * (reference unit) = ratio * (this unit)" attrs="{'invisible':[('uom_type','!=','smaller')]}"/>
- <label string=""/>
- <label string="e.g: 1 * (this unit) = ratio * (reference unit)" attrs="{'invisible':[('uom_type','!=','bigger')]}"/>
++ <p attrs="{'invisible':[('uom_type','!=','smaller')]}" colspan="2">
++ e.g: 1 * (reference unit) = ratio * (this unit)
++ </p>
++ <p attrs="{'invisible':[('uom_type','!=','bigger')]}" colspan="2">
++ e.g: 1 * (this unit) = ratio * (reference unit)
++ </p>
<field name="rounding"/>
<field name="factor" attrs="{'invisible':[('uom_type','!=','smaller')]}"/>
- <label string=" e.g: 1 * (reference unit) = ratio * (this unit)" attrs="{'invisible':[('uom_type','!=','smaller')]}"/>
<field name="factor_inv" attrs="{'invisible':[('uom_type','!=','bigger')]}"/>
- <label string=" e.g: 1 * (this unit) = ratio * (reference unit)" attrs="{'invisible':[('uom_type','!=','bigger')]}"/>
</group>
</group>
</form>
if not pick.move_lines:
return True
for move in pick.move_lines:
- if move.state == 'done' and not move.scrapped:
- raise osv.except_osv(_('Error!'), _('You cannot cancel picking because stock move is in done state!'))
+ if move.state == 'done':
- raise osv.except_osv(_('Error!'), _('You cannot cancel picking because stock move is in done state!'))
++ raise osv.except_osv(_('Error!'), _('You cannot cancel the picking as some moves have been done. You should cancel the picking lines.'))
return True
++
def unlink(self, cr, uid, ids, context=None):
move_obj = self.pool.get('stock.move')
if context is None: