[MERGE] merge mtr branch but still need improvements on log messsages for stock, sale, purchase
bzr revid: mra@mra-laptop-20100615072015-7nazo0sdmxo1a1lm
This commit is contained in:
commit
52781d1f14
|
@ -84,7 +84,7 @@
|
|||
|
||||
|
||||
],
|
||||
'demo_xml': ['mrp_demo.xml', 'mrp_order_point.xml','board_manufacturing_demo.xml'],
|
||||
'demo_xml': ['mrp_demo.xml', 'board_manufacturing_demo.xml'],
|
||||
'test': [
|
||||
'test/mrp_phantom_bom.yml',
|
||||
'test/mrp_production_order.yml',
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
<hpaned position="100">
|
||||
<child1>
|
||||
<action colspan="4" height="200" name="%(mrp.mrp_production_action2)d" string="Next production orders" width="510"/>
|
||||
<action colspan="4" name="%(mrp_procurement.mrp_procurement_action4)d" string="Procurements in Exception"/>
|
||||
<action colspan="4" name="%(stock.action_picking_tree)d" string="Deliveries (Out picking)" domain="[('state','=','assigned'),('type','=','out')]"/>
|
||||
<action colspan="4" name="%(procurement.procurement_action4)d" string="Procurements in Exception"/>
|
||||
</child1>
|
||||
|
|
|
@ -59,9 +59,9 @@ class purchase_order(osv.osv):
|
|||
val = val1 = 0.0
|
||||
cur=order.pricelist_id.currency_id
|
||||
for line in order.order_line:
|
||||
for c in self.pool.get('account.tax').compute_all(cr, uid, line.taxes_id, line.price_unit, line.product_qty, order.partner_address_id.id, line.product_id, order.partner_id)['taxes']:
|
||||
for c in self.pool.get('account.tax').compute_all(cr, uid, line.taxes_id, line.price_unit, line.product_qty, order.partner_address_id.id, line.product_id.id, order.partner_id)['taxes']:
|
||||
val+= c['amount']
|
||||
val1 += line.price_subtotal
|
||||
val1 += line.price_subtotal
|
||||
res[order.id]['amount_tax']=cur_obj.round(cr, uid, cur, val)
|
||||
res[order.id]['amount_untaxed']=cur_obj.round(cr, uid, cur, val1)
|
||||
res[order.id]['amount_total']=res[order.id]['amount_untaxed'] + res[order.id]['amount_tax']
|
||||
|
@ -211,7 +211,6 @@ class purchase_order(osv.osv):
|
|||
}
|
||||
_name = "purchase.order"
|
||||
_description = "Purchase Order"
|
||||
_log_create = True
|
||||
_order = "name desc"
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
|
@ -259,10 +258,14 @@ class purchase_order(osv.osv):
|
|||
|
||||
def wkf_approve_order(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state': 'approved', 'date_approve': time.strftime('%Y-%m-%d')})
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Purchase order ') + " '" + name + "' "+_("is approved by the supplier")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
#TODO: implement messages system
|
||||
def wkf_confirm_order(self, cr, uid, ids, context={}):
|
||||
product = []
|
||||
todo = []
|
||||
for po in self.browse(cr, uid, ids):
|
||||
if not po.order_line:
|
||||
|
@ -274,6 +277,11 @@ class purchase_order(osv.osv):
|
|||
self.pool.get('purchase.order.line').action_confirm(cr, uid, todo, context)
|
||||
for id in ids:
|
||||
self.write(cr, uid, [id], {'state' : 'confirmed', 'validator' : uid})
|
||||
for line in po.order_line:
|
||||
product.append(line.product_id.default_code or '')
|
||||
params = ', '.join(map(lambda x : str(x), product))
|
||||
message = _('Purchase order ') + " '" + po.name + "' "+_('placed on')+ " '" + po.date_order + "' "+_('for')+" '" + params + "' "+ _("is confirmed")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def wkf_warn_buyer(self, cr, uid, ids):
|
||||
|
@ -315,6 +323,9 @@ class purchase_order(osv.osv):
|
|||
# Deleting the existing instance of workflow for PO
|
||||
wf_service.trg_delete(uid, 'purchase.order', p_id, cr)
|
||||
wf_service.trg_create(uid, 'purchase.order', p_id, cr)
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Purchase order') + " '" + name + "' "+ _("is in the draft state")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def action_invoice_create(self, cr, uid, ids, *args):
|
||||
|
@ -394,6 +405,8 @@ class purchase_order(osv.osv):
|
|||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'account.invoice', inv.id, 'invoice_cancel', cr)
|
||||
self.write(cr,uid,ids,{'state':'cancel'})
|
||||
message = _('Purchase order ') + " '" + purchase.name + "' "+ _("is cancelled")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def action_picking_create(self,cr, uid, ids, *args):
|
||||
|
@ -695,6 +708,9 @@ class purchase_order_line(osv.osv):
|
|||
return res
|
||||
def action_confirm(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state': 'confirmed'}, context)
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Purchase order line') + " '" + name + "' "+ _("is confirmed")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
purchase_order_line()
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ from osv import fields,osv
|
|||
from osv import orm
|
||||
import netsvc
|
||||
import time
|
||||
from tools.translate import _
|
||||
|
||||
class purchase_requisition(osv.osv):
|
||||
_name = "purchase.requisition"
|
||||
|
@ -58,15 +59,27 @@ class purchase_requisition(osv.osv):
|
|||
if str(purchase_id.state) in('draft','wait'):
|
||||
purchase_order_obj.action_cancel(cr,uid,[purchase_id.id])
|
||||
self.write(cr, uid, ids, {'state': 'cancel'})
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Tender') + " '" + name + "' "+ _("is cancelled")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
def tender_in_progress(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state':'in_progress'} ,context=context)
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Tender') + " '" + name + "' "+ _(" is In Progress")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
def tender_reset(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state': 'draft'})
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Tender') + " '" + name + "' "+ _("is in draft state")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
def tender_done(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state':'done', 'date_end':time.strftime('%Y-%m-%d %H:%M:%S')}, context=context)
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Tender') + " '" + name + "' "+ _("is done")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
|
||||
|
|
|
@ -52,7 +52,6 @@ def _incoterm_get(self, cr, uid, context=None):
|
|||
|
||||
class sale_order(osv.osv):
|
||||
_name = "sale.order"
|
||||
_log_create = True
|
||||
_description = "Sale Order"
|
||||
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
|
@ -332,6 +331,9 @@ 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):
|
||||
message = _('Sale order ') + " '" + name + "' "+ _("is in draft state")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def onchange_partner_id(self, cr, uid, ids, part):
|
||||
|
@ -551,18 +553,25 @@ class sale_order(osv.osv):
|
|||
sale_order_line_obj.write(cr, uid, [l.id for l in sale.order_line],
|
||||
{'state': 'cancel'})
|
||||
self.write(cr, uid, ids, {'state': 'cancel'})
|
||||
message = _('Sale order') + " '" + sale.name + "' "+ _("created on")+" '" +sale.create_date + _(" is cancelled")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def action_wait(self, cr, uid, ids, *args):
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Quotation ') + " '" + name + "' "+ _("converted to sale order.")
|
||||
self.log(cr, uid, id, message)
|
||||
product=[]
|
||||
product_obj=self.pool.get('product.product')
|
||||
for o in self.browse(cr, uid, ids):
|
||||
if (o.order_policy == 'manual'):
|
||||
self.write(cr, uid, [o.id], {'state': 'manual', 'date_confirm': time.strftime('%Y-%m-%d')})
|
||||
else:
|
||||
self.write(cr, uid, [o.id], {'state': 'progress', 'date_confirm': time.strftime('%Y-%m-%d')})
|
||||
self.pool.get('sale.order.line').button_confirm(cr, uid, [x.id for x in o.order_line])
|
||||
for line in o.order_line:
|
||||
product.append(line.product_id.default_code)
|
||||
params = ', '.join(map(lambda x : str(x),product))
|
||||
message = _('Sale order ') + " '" + o.name + "' "+ _("created on")+" '" +o.create_date + "' "+_("for")+" '" +params + "' "+_("is confirmed")
|
||||
self.log(cr, uid, id, message)
|
||||
|
||||
|
||||
def procurement_lines_get(self, cr, uid, ids, *args):
|
||||
res = []
|
||||
|
@ -931,11 +940,16 @@ class sale_order_line(osv.osv):
|
|||
for line in self.browse(cr, uid, ids, context=context):
|
||||
if line.invoiced:
|
||||
raise osv.except_osv(_('Invalid action !'), _('You cannot cancel a sale order line that has already been invoiced !'))
|
||||
message = _('Sale order line') + " '" + line.name + "' "+_("is cancelled")
|
||||
self.log(cr, uid, id, message)
|
||||
return self.write(cr, uid, ids, {'state': 'cancel'})
|
||||
|
||||
def button_confirm(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Sale order line') + " '" + name + "' "+ _("is confirmed")
|
||||
self.log(cr, uid, id, message)
|
||||
return self.write(cr, uid, ids, {'state': 'confirmed'})
|
||||
|
||||
def button_done(self, cr, uid, ids, context=None):
|
||||
|
@ -945,7 +959,8 @@ class sale_order_line(osv.osv):
|
|||
res = self.write(cr, uid, ids, {'state': 'done'})
|
||||
for line in self.browse(cr, uid, ids, context=context):
|
||||
wf_service.trg_write(uid, 'sale.order', line.order_id.id, cr)
|
||||
|
||||
message = _('Sale order line') + " '" + line.name + "' "+_("is done")
|
||||
self.log(cr, uid, id, message)
|
||||
return res
|
||||
|
||||
def uos_change(self, cr, uid, ids, product_uos, product_uos_qty=0, product_id=None):
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
from osv import osv, fields
|
||||
import netsvc
|
||||
import time
|
||||
from tools.translate import _
|
||||
|
||||
class sale_journal_invoice_type(osv.osv):
|
||||
_name = 'sale_journal.invoice.type'
|
||||
|
@ -62,30 +63,50 @@ class sale_journal(osv.osv):
|
|||
'user_id': lambda self,cr,uid,context: uid,
|
||||
'state': lambda self,cr,uid,context: 'draft',
|
||||
}
|
||||
|
||||
def button_sale_cancel(self, cr, uid, ids, context={}):
|
||||
for id in ids:
|
||||
sale_ids = self.pool.get('sale.order').search(cr, uid, [('journal_id','=',id),('state','=','draft')])
|
||||
for saleid in sale_ids:
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'sale.order', saleid, 'cancel', cr)
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Sale order of Journal') + " '" + name + "' "+ _("is cancelled")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def button_sale_confirm(self, cr, uid, ids, context={}):
|
||||
for id in ids:
|
||||
sale_ids = self.pool.get('sale.order').search(cr, uid, [('journal_id','=',id),('state','=','draft')])
|
||||
for saleid in sale_ids:
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
wf_service.trg_validate(uid, 'sale.order', saleid, 'order_confirm', cr)
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Sale orders of Journal') + " '" + name + "' "+ _("is confirmed")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def button_open(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state':'open'})
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Sale orders of Journal') + " '" + name + "' "+ _("is opened")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def button_draft(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state':'draft'})
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Sale orders of Journal') + " '" + name + "' "+ _("is in draft state")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
def button_close(self, cr, uid, ids, context={}):
|
||||
self.write(cr, uid, ids, {'state':'done', 'date_validation':time.strftime('%Y-%m-%d')})
|
||||
for (id,name) in self.name_get(cr, uid, ids):
|
||||
message = _('Sale orders of Journal') + " '" + name + "' "+ _("is closed")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
sale_journal()
|
||||
|
||||
class picking_journal(osv.osv):
|
||||
|
|
|
@ -546,7 +546,7 @@ class stock_picking(osv.osv):
|
|||
}
|
||||
new_id = super(stock_picking, self).create(cr, user, vals, context)
|
||||
if not vals.get('auto_picking', False):
|
||||
message = type_list.get(vals.get('type', False), _('Picking')) + " '" + (vals['name'] or "n/a") + "' "+ _("created.")
|
||||
message = type_list.get(vals.get('type', False), _('Picking')) + " '" + (vals['name'] or "n/a") + _(" with origin")+" '" + (vals['origin'] or "n/a") + "' "+ _("is created.")
|
||||
self.log(cr, user, new_id, message)
|
||||
return new_id
|
||||
|
||||
|
@ -759,6 +759,8 @@ class stock_picking(osv.osv):
|
|||
ids2 = [move.id for move in pick.move_lines]
|
||||
self.pool.get('stock.move').action_cancel(cr, uid, ids2, context)
|
||||
self.write(cr, uid, ids, {'state': 'cancel', 'invoice_state': 'none'})
|
||||
message = _('Picking') + " '" + pick.name + "' "+_("is cancelled")
|
||||
self.log(cr, uid, id, message)
|
||||
return True
|
||||
|
||||
#
|
||||
|
@ -1815,10 +1817,13 @@ class stock_move(osv.osv):
|
|||
for pick in picking_obj.browse(cr, uid, picking_ids):
|
||||
if all(move.state == 'done' for move in pick.move_lines):
|
||||
picking_obj.action_done(cr, uid, [pick.id])
|
||||
|
||||
for (id,name) in picking_obj.name_get(cr, uid, picking_ids):
|
||||
message = _('Picking ') + " '" + name + "' "+ _("is processed")
|
||||
self.log(cr, uid, id, message)
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for id in ids:
|
||||
wf_service.trg_trigger(uid, 'stock.move', id, cr)
|
||||
|
||||
return True
|
||||
|
||||
def create_account_move(self, cr, uid, move,account_id,account_variation,amount, context=None):
|
||||
|
|
Loading…
Reference in New Issue