[FIX]: Fix issue in warehouse module

bzr revid: aja@tinyerp.com-20121109121358-4ws1vlcrteq0ckv4
This commit is contained in:
ajay javiya (OpenERP) 2012-11-09 17:43:58 +05:30
parent 0c1bcadd23
commit 6e27ee461b
2 changed files with 9 additions and 11 deletions

View File

@ -114,7 +114,7 @@
</header>
<sheet>
<div class="oe_right oe_button_box">
<button name="%(action_view_stock_fill_inventory)d" string="Fill Inventory" type="action" />
<button name="%(action_view_stock_fill_inventory)d" string="Fill Inventory" states="draft,cancel,confirm" type="action" />
</div>
<group>
<group>
@ -1234,8 +1234,8 @@
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<group name="origin_grp" string="Origin">
<field name="picking_id"/>
<field name="type" on_change="onchange_move_type(type)"/>
<field name="picking_id" domain="[('type','=',type)]"/>
<field name="type" readonly="True" on_change="onchange_move_type(type)"/>
<field name="location_id" groups="stock.group_locations"/>
<field name="create_date" groups="base.group_no_one"/>
</group>

View File

@ -60,9 +60,6 @@ class stock_fill_inventory(osv.osv_memory):
if context.get('active_id', False):
stock = self.pool.get('stock.inventory').browse(cr, uid, context.get('active_id', False))
if stock.state == 'done':
raise osv.except_osv(_('Warning!'), _('Stock Inventory is already Validated.'))
return True
def fill_inventory(self, cr, uid, ids, context=None):
@ -126,22 +123,23 @@ class stock_fill_inventory(osv.osv_memory):
res[location] = datas
if not flag:
raise osv.except_osv(_('Warning!'), _('No product in this location.'))
raise osv.except_osv(_('Warning!'), _('No product in this location. Please select a location in the product form.'))
for stock_move in res.values():
for stock_move_details in stock_move.values():
stock_move_details.update({'inventory_id': context['active_ids'][0]})
domain = []
if fill_inventory.set_stock_zero:
stock_move_details.update({'product_qty': 0})
for field, value in stock_move_details.items():
if field == 'product_qty' and fill_inventory.set_stock_zero:
domain.append((field, 'in', [value,'0']))
continue
domain.append((field, '=', value))
line_ids = inventory_line_obj.search(cr, uid, domain, context=context)
if not line_ids:
if fill_inventory.set_stock_zero:
stock_move_details.update({'product_qty': 0})
inventory_line_obj.create(cr, uid, stock_move_details, context=context)
return {'type': 'ir.actions.act_window_close'}