[IMP] Stock, Sale:Code optimization in OSV_Memory wizard files

bzr revid: mso@mso-20100311074754-aswbr7n13dtmxll3
This commit is contained in:
mso
2010-03-11 13:17:54 +05:30
parent c4d99b22d2
commit d374d5376b
5 changed files with 29 additions and 21 deletions
+9 -7
View File
@@ -36,7 +36,7 @@ class sale_order_line_make_invoice(osv.osv_memory):
'grouped' : lambda *a: False
}
def makeInvoices(self, cr, uid, ids, context):
def make_invoices(self, cr, uid, ids, context):
res = False
invoices = {}
@@ -65,26 +65,28 @@ class sale_order_line_make_invoice(osv.osv_memory):
inv_id = self.pool.get('account.invoice').create(cr, uid, inv)
return inv_id
for line in self.pool.get('sale.order.line').browse(cr,uid,context['active_ids']):
sales_order_line_obj = self.pool.get('sale.order.line')
wf_service = netsvc.LocalService('workflow')
for line in sales_order_line_obj.browse(cr,uid,context['active_ids']):
if (not line.invoiced) and (line.state not in ('draft','cancel')):
if not line.order_id.id in invoices:
invoices[line.order_id.id] = []
line_id = self.pool.get('sale.order.line').invoice_line_create(cr, uid,
line_id = sales_order_line_obj.invoice_line_create(cr, uid,
[line.id])
for lid in line_id:
invoices[line.order_id.id].append((line, lid))
self.pool.get('sale.order.line').write(cr, uid, [line.id],
sales_order_line_obj.write(cr, uid, [line.id],
{'invoiced': True})
flag = True
data_sale = self.pool.get('sale.order').browse(cr,uid,line.order_id.id)
sales_order_obj = self.pool.get('sale.order')
data_sale = sales_order_obj.browse(cr,uid,line.order_id.id)
for line in data_sale.order_line:
if not line.invoiced:
flag = False
break
if flag:
wf_service = netsvc.LocalService('workflow')
wf_service.trg_validate(uid, 'sale.order', line.order_id.id, 'all_lines', cr)
self.pool.get('sale.order').write(cr,uid,[line.order_id.id],{'state' : 'progress'})
sales_order_obj.write(cr,uid,[line.order_id.id],{'state' : 'progress'})
for result in invoices.values():
order = result[0][0].order_id
@@ -38,10 +38,12 @@ class sale_advance_payment_inv(osv.osv_memory):
_default = {
'qtty' : lambda *a: 1
}
def createInvoices(self, cr, uid, ids, context={}):
def create_invoices(self, cr, uid, ids, context={}):
list_inv = []
obj_sale = self.pool.get('sale.order')
obj_lines = self.pool.get('account.invoice.line')
inv_obj = self.pool.get('account.invoice')
for sale_adv_obj in self.browse(cr, uid, ids):
for sale in obj_sale.browse(cr, uid, context['active_ids']):
address_contact = False
@@ -83,7 +85,7 @@ class sale_advance_payment_inv(osv.osv_memory):
'payment_term':sale.payment_term.id,
'fiscal_position': sale.partner_id.property_account_position.id
}
inv_obj = self.pool.get('account.invoice')
inv_id = inv_obj.create(cr, uid, inv)
for inv in sale.invoice_ids:
@@ -134,9 +136,9 @@ class sale_open_invoice(osv.osv_memory):
for advance_pay in self.browse(cr, uid, ids):
result = mod_obj._get_id(cr, uid, 'account', 'view_account_invoice_filter')
id = mod_obj.read(cr, uid, result, ['res_id'])
model_data_ids = self.pool.get('ir.model.data').search(cr, uid,
model_data_ids = mod_obj.search(cr, uid,
[('model', '=', 'ir.ui.view'), ('name', '=', 'invoice_form')])
resource_id = self.pool.get('ir.model.data').read(cr, uid, model_data_ids,
resource_id = mod_obj.read(cr, uid, model_data_ids,
fields=['res_id'])[0]['res_id']
return {
# 'domain': "[('id','in', ["+','.join(map(str, invoices))+"])]", # TODO
+4 -2
View File
@@ -40,6 +40,8 @@ class stock_fill_inventory(osv.osv_memory):
def fill_inventory(self, cr, uid, ids, context):
inventory_line_obj = self.pool.get('stock.inventory.line')
location_obj = self.pool.get('stock.location')
product_obj = self.pool.get('product.product')
stock_location_obj = self.pool.get('stock.location')
for fill_inventory in self.browse(cr, uid, ids):
res = {}
res_location = {}
@@ -59,10 +61,10 @@ class stock_fill_inventory(osv.osv_memory):
for location in res_location.keys():
res = res_location[location]
for product_id in res.keys():
prod = self.pool.get('product.product').browse(cr, uid, [product_id])[0]
prod = product_obj.browse(cr, uid, [product_id])[0]
uom = prod.uom_id.id
context.update({'uom': uom})
amount = self.pool.get('stock.location')._product_get(cr, uid,
amount = stock_location_obj._product_get(cr, uid,
location, [product_id], context=context)[product_id]
if(amount):
@@ -37,7 +37,8 @@ class stock_inventory_line_split(osv.osv_memory):
}
def _check_production_lot(self, cr, uid, context):
for inv_obj in self.pool.get('stock.inventory.line').browse(cr, uid, \
stock_inventory_line_obj = self.pool.get('stock.inventory.line')
for inv_obj in stock_inventory_line_obj.browse(cr, uid, \
context['active_ids']):
if not inv_obj.prod_lot_id:
raise osv.except_osv(_('Caution!'), _('Before splitting the \
@@ -53,10 +54,11 @@ inventory lines, make sure the production lot is assigned to this product.'))
inv_id = context['active_id']
inv_line_obj = self.pool.get('stock.inventory.line')
prodlot_obj = self.pool.get('stock.production.lot')
for linesplit_obj in self.browse(cr, uid, ids):
ir_sequence_obj = self.pool.get('ir.sequence')
sequence = ir_sequence_obj.get(cr, uid, 'stock.lot.serial')
ir_sequence_obj = self.pool.get('ir.sequence')
sequence = ir_sequence_obj.get(cr, uid, 'stock.lot.serial')
for linesplit_obj in self.browse(cr, uid, ids):
if not sequence:
raise wizard.except_wizard(_('Error!'), _('No production sequence defined'))
if linesplit_obj.prefix:
@@ -70,15 +70,15 @@ class stock_invoice_onshipping(osv.osv_memory):
def create_invoice(self, cr, uid, ids, context):
result = []
picking_obj = self.pool.get('stock.picking')
mod_obj = self.pool.get('ir.model.data')
act_obj = self.pool.get('ir.actions.act_window')
for onshipdata_obj in self.read(cr, uid, ids, ['journal_id', 'group', 'type', 'invoice_date']):
if context.get('new_picking', False):
onshipdata_obj[id] = onshipdata_obj.new_picking
onshipdata_obj[ids] = onshipdata_obj.new_picking
picking_obj = self.pool.get('stock.picking')
mod_obj = self.pool.get('ir.model.data')
act_obj = self.pool.get('ir.actions.act_window')
type = onshipdata_obj['type']
context['date_inv'] = onshipdata_obj['invoice_date']
res = picking_obj.action_invoice_create(cr, uid,context['active_ids'],