[IMP] sale:-improvements in sale as per base_module_quality
bzr revid: mtr@mtr-20101015084813-brm71mb0hg7sajqo
This commit is contained in:
parent
bf9321e715
commit
7a84c915e5
|
@ -19,7 +19,7 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import osv,fields
|
||||
from osv import osv, fields
|
||||
|
||||
class company(osv.osv):
|
||||
_inherit = 'res.company'
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
##############################################################################
|
||||
|
||||
import tools
|
||||
from osv import fields,osv
|
||||
from osv import fields, osv
|
||||
|
||||
class sale_report(osv.osv):
|
||||
_name = "sale.report"
|
||||
|
|
|
@ -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 + '|'
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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'])
|
||||
|
|
|
@ -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'],
|
||||
|
|
Loading…
Reference in New Issue