[IMP] sale:-improvements in sale as per base_module_quality

bzr revid: mtr@mtr-20101015084813-brm71mb0hg7sajqo
This commit is contained in:
mtr 2010-10-15 14:18:13 +05:30
parent bf9321e715
commit 7a84c915e5
10 changed files with 44 additions and 44 deletions

View File

@ -19,7 +19,7 @@
#
##############################################################################
from osv import osv,fields
from osv import osv, fields
class company(osv.osv):
_inherit = 'res.company'

View File

@ -30,10 +30,10 @@ class product_product(osv.osv):
if context is None:
context = {}
if name == 'pricelist_purchase':
pricelist_ids = pricelist_obj.search(cr,uid,[('type','=','purchase')])
pricelist_ids = pricelist_obj.search(cr, uid, [('type', '=', 'purchase')])
else:
pricelist_ids = pricelist_obj.search(cr,uid,[('type','=','sale')])
pricelist_browse = pricelist_obj.browse(cr,uid,pricelist_ids)
pricelist_ids = pricelist_obj.search(cr, uid, [('type', '=', 'sale')])
pricelist_browse = pricelist_obj.browse(cr, uid, pricelist_ids)
for product in self.browse(cr, uid, ids, context):
result[product.id] = ""
for pricelist in pricelist_browse:

View File

@ -30,7 +30,7 @@ class order(report_sxw.rml_parse):
'time': time,
})
report_sxw.report_sxw('report.sale.order','sale.order','addons/sale/report/sale_order.rml',parser=order, header="external")
report_sxw.report_sxw('report.sale.order', 'sale.order', 'addons/sale/report/sale_order.rml', parser=order, header="external")
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -20,7 +20,7 @@
##############################################################################
import tools
from osv import fields,osv
from osv import fields, osv
class sale_report(osv.osv):
_name = "sale.report"

View File

@ -109,7 +109,7 @@ class sale_order(osv.osv):
for id in ids:
res[id] = [0.0, 0.0]
cr.execute('''SELECT
p.sale_id,sum(m.product_qty), mp.state as mp_state
p.sale_id, sum(m.product_qty), mp.state as mp_state
FROM
stock_move m
LEFT JOIN
@ -117,7 +117,7 @@ class sale_order(osv.osv):
LEFT JOIN
procurement_order mp on (mp.move_id=m.id)
WHERE
p.sale_id IN %s GROUP BY mp.state, p.sale_id''',(tuple(ids),))
p.sale_id IN %s GROUP BY mp.state, p.sale_id''', (tuple(ids),))
for oid, nbr, mp_state in cr.fetchall():
if mp_state == 'cancel':
continue
@ -321,7 +321,7 @@ class sale_order(osv.osv):
def action_cancel_draft(self, cr, uid, ids, *args):
if not len(ids):
return False
cr.execute('select id from sale_order_line where order_id IN %s and state=%s',(tuple(ids),'cancel'))
cr.execute('select id from sale_order_line where order_id IN %s and state=%s', (tuple(ids), 'cancel'))
line_ids = map(lambda x: x[0], cr.fetchall())
self.write(cr, uid, ids, {'state': 'draft', 'invoice_ids': [], 'shipped': 0})
self.pool.get('sale.order.line').write(cr, uid, line_ids, {'invoiced': False, 'state': 'draft', 'invoice_lines': [(6, 0, [])]})
@ -330,7 +330,7 @@ class sale_order(osv.osv):
# Deleting the existing instance of workflow for SO
wf_service.trg_delete(uid, 'sale.order', inv_id, cr)
wf_service.trg_create(uid, 'sale.order', inv_id, cr)
for (id,name) in self.name_get(cr, uid, ids):
for (id, name) in self.name_get(cr, uid, ids):
message = _('Sale order ') + " '" + name + "' "+ _("is in draft state")
self.log(cr, uid, id, message)
return True
@ -413,7 +413,7 @@ class sale_order(osv.osv):
if context is None:
context = {}
journal_ids = journal_obj.search(cr, uid, [('type', '=','sale'),('company_id', '=', order.company_id.id)], limit=1)
journal_ids = journal_obj.search(cr, uid, [('type', '=', 'sale'), ('company_id', '=', order.company_id.id)], limit=1)
if not journal_ids:
raise osv.except_osv(_('Error !'),
_('There is no sale journal defined for this company: "%s" (id:%d)') % (order.company_id.name, order.company_id.id))
@ -521,7 +521,7 @@ class sale_order(osv.osv):
return i.id
for val in invoices.values():
if grouped:
res = self._make_invoice(cr, uid, val[0][0], reduce(lambda x,y: x + y, [l for o,l in val], []), context=context)
res = self._make_invoice(cr, uid, val[0][0], reduce(lambda x, y: x + y, [l for o, l in val], []), context=context)
invoice_ref = ''
for o, l in val:
invoice_ref += o.name + '|'

View File

@ -27,10 +27,10 @@ class stock_move(osv.osv):
'sale_line_id': fields.many2one('sale.order.line', 'Sale Order Line', ondelete='set null', select=True, readonly=True),
}
def _create_chained_picking(self, cr, uid, pick_name,picking,ptype,move, context=None):
res=super(stock_move, self)._create_chained_picking(cr, uid, pick_name,picking,ptype,move, context=context)
def _create_chained_picking(self, cr, uid, pick_name, picking, ptype, move, context=None):
res = super(stock_move, self)._create_chained_picking(cr, uid, pick_name, picking, ptype, move, context=context)
if picking.sale_id:
self.pool.get('stock.picking').write(cr,uid,[res],{'sale_id':picking.sale_id.id})
self.pool.get('stock.picking').write(cr, uid, [res], {'sale_id': picking.sale_id.id})
return res
stock_move()

View File

@ -59,24 +59,24 @@ class sale_order_test_case(unittest.TestCase):
### SALE ORDER
shop = model_obj._get_id(cr, uid, 'sale', 'shop')
shop_id = model_obj.browse(cr, uid, shop).res_id
partner = model_obj._get_id(cr,uid, 'base', 'res_partner_9')
partner = model_obj._get_id(cr, uid, 'base', 'res_partner_9')
partner_id = model_obj.browse(cr, uid, partner,).res_id
partner_invoice = model_obj._get_id(cr, uid, 'base', 'res_partner_address_9')
partner_invoice_id = model_obj.browse(cr, uid, partner_invoice).res_id
pricelist_id = self.pool.get('res.partner').browse(cr, uid,partner_id).property_product_pricelist.id
order_id = self.sale_order.create(cr,uid,
{'shop_id':shop_id,'pricelist_id':pricelist_id,'user_id':uid,
'partner_id':partner_id,'partner_invoice_id':partner_invoice_id,
'partner_shipping_id':partner_invoice_id,'partner_order_id':partner_invoice_id})
pricelist_id = self.pool.get('res.partner').browse(cr, uid, partner_id).property_product_pricelist.id
order_id = self.sale_order.create(cr, uid,
{'shop_id': shop_id, 'pricelist_id': pricelist_id, 'user_id': uid,
'partner_id': partner_id, 'partner_invoice_id': partner_invoice_id,
'partner_shipping_id': partner_invoice_id, 'partner_order_id': partner_invoice_id})
### SALE ORDER LINE
product = model_obj._get_id(cr,uid, 'product', 'product_product_pc2')
product = model_obj._get_id(cr, uid, 'product', 'product_product_pc2')
product_id = model_obj.browse(cr, uid, product).res_id
product_uom = model_obj._get_id(cr, uid, 'product', 'product_uom_unit')
product_uom_id = model_obj.browse(cr, uid, product_uom).res_id
self.pool.get('sale.order.line').create(cr,uid,
{'order_id':order_id,'name':'[PC2] Computer assembled on demand',
'product_id':product_id,'product_uom':product_uom_id,'price_unit':600,
'type':'make_to_order'})
self.pool.get('sale.order.line').create(cr, uid,
{'order_id': order_id, 'name': '[PC2] Computer assembled on demand',
'product_id': product_id, 'product_uom': product_uom_id, 'price_unit': 600,
'type': 'make_to_order'})
except osv.except_osv,e:
self.fail(e.name + e.value)
except Exception,e:
@ -86,7 +86,7 @@ class sale_order_test_case(unittest.TestCase):
try:
self.failUnless(order_id,"No Sale Order Created !")
wf_service = netsvc.LocalService("workflow")
res = wf_service.trg_validate(uid, 'sale.order',order_id, 'order_confirm', cr)
res = wf_service.trg_validate(uid, 'sale.order', order_id, 'order_confirm', cr)
except osv.except_osv,e:
self.fail(e.name + e.value)
except Exception,e:
@ -97,7 +97,7 @@ class sale_order_test_case(unittest.TestCase):
try:
self.failUnless(order_id,"No Sale Order Created !")
wf_service = netsvc.LocalService("workflow")
res = wf_service.trg_validate(uid, 'sale.order',order_id, 'manual_invoice', cr)
res = wf_service.trg_validate(uid, 'sale.order', order_id, 'manual_invoice', cr)
except osv.except_osv,e:
self.fail(e.name + e.value)
except Exception,e:
@ -107,7 +107,7 @@ class sale_order_test_case(unittest.TestCase):
try:
self.failUnless(order_id,"No Sale Order Created !")
picking_obj = self.pool.get('stock.picking')
pickings = picking_obj.search(cr,uid,[('sale_id','=',order_id)])
pickings = picking_obj.search(cr, uid, [('sale_id', '=', order_id)])
picking_obj.action_cancel(cr, uid, pickings)
except osv.except_osv,e:
self.fail(e.name + e.value)
@ -119,7 +119,7 @@ class sale_order_test_case(unittest.TestCase):
self.failUnless(order_id,"No Sale Order Created !")
report_service = netsvc.ExportService.getService('report')
model_obj = self.pool.get('ir.model.data')
passwd = self.pool.get('res.users').browse(cr,uid,uid).password
passwd = self.pool.get('res.users').browse(cr, uid, uid).password
report = model_obj._get_id(cr, uid, 'sale', 'report_sale_order')
report_id = model_obj.browse(cr, uid, report).res_id
report_service.exp_report(cr.dbname, uid, 'sale.order', [order_id])
@ -154,7 +154,7 @@ def runTest(cursor=None, user=None):
uid = user
out = StringIO()
suite = unittest.TestLoader().loadTestsFromTestCase(sale_order_test_case)
res = unittest.TextTestRunner(stream=out,verbosity=2).run(suite)
res = unittest.TextTestRunner(stream=out, verbosity=2).run(suite)
if res.wasSuccessful():
return (True,out.getvalue())
return (res,out.getvalue())
return (True, out.getvalue())
return (res, out.getvalue())

View File

@ -19,7 +19,7 @@
#
##############################################################################
from osv import fields, osv
from osv import osv
from tools.translate import _
import netsvc
@ -80,7 +80,7 @@ class sale_order_line_make_invoice(osv.osv_memory):
sales_order_line_obj = self.pool.get('sale.order.line')
sales_order_obj = self.pool.get('sale.order')
wf_service = netsvc.LocalService('workflow')
for line in sales_order_line_obj.browse(cr,uid,context['active_ids']):
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] = []
@ -91,17 +91,17 @@ class sale_order_line_make_invoice(osv.osv_memory):
sales_order_line_obj.write(cr, uid, [line.id],
{'invoiced': True})
flag = True
data_sale = sales_order_obj.browse(cr,uid,line.order_id.id)
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.trg_validate(uid, 'sale.order', line.order_id.id, 'all_lines', cr)
sales_order_obj.write(cr,uid,[line.order_id.id],{'state' : 'progress'})
sales_order_obj.write(cr, uid, [line.order_id.id], {'state' : 'progress'})
if not invoices:
raise osv.except_osv(_('Warning'),_('Invoice cannot be created for this Sale Order Line due to one of the following reasons:\n1.The state of this sale order line is either "draft" or "cancel"!\n2.The Sale Order Line is Invoiced!'))
raise osv.except_osv(_('Warning'), _('Invoice cannot be created for this Sale Order Line due to one of the following reasons:\n1.The state of this sale order line is either "draft" or "cancel"!\n2.The Sale Order Line is Invoiced!'))
for result in invoices.values():
order = result[0][0].order_id
il = map(lambda x: x[1], result)

View File

@ -45,17 +45,17 @@ class sale_make_invoice(osv.osv_memory):
def make_invoices(self, cr, uid, ids, context={}):
order_obj = self.pool.get('sale.order')
newinv = []
data = self.read(cr,uid,ids)[0]
order_obj.action_invoice_create(cr, uid, context.get(('active_ids'),[]), data['grouped'],date_inv = data['invoice_date'])
data = self.read(cr, uid, ids)[0]
order_obj.action_invoice_create(cr, uid, context.get(('active_ids'), []), data['grouped'], date_inv = data['invoice_date'])
wf_service = netsvc.LocalService("workflow")
for id in context.get(('active_ids'),[]):
for id in context.get(('active_ids'), []):
wf_service.trg_validate(uid, 'sale.order', id, 'manual_invoice', cr)
for o in order_obj.browse(cr, uid, context.get(('active_ids'),[]), context):
for o in order_obj.browse(cr, uid, context.get(('active_ids'), []), context):
for i in o.invoice_ids:
newinv.append(i.id)
mod_obj =self.pool.get('ir.model.data')
mod_obj = self.pool.get('ir.model.data')
result = mod_obj._get_id(cr, uid, 'account', 'view_account_invoice_filter')
id = mod_obj.read(cr, uid, result, ['res_id'])

View File

@ -105,7 +105,7 @@ class sale_advance_payment_inv(osv.osv_memory):
# If invoice on picking: add the cost on the SO
# If not, the advance will be deduced when generating the final invoice
#
if sale.order_policy=='picking':
if sale.order_policy == 'picking':
self.pool.get('sale.order.line').create(cr, uid, {
'order_id': sale.id,
'name': val['value']['name'],