else:
template_id = registration.event_id.email_registration_id.id
if template_id:
- mail_message = self.pool.get('email.template').send_mail(cr,uid,template_id,registration.id)
+ self.pool.get('email.template').send_mail(cr,uid,template_id,registration.id, context=context)
return True
def mail_user_confirm(self, cr, uid, ids, context=None):
for registration in self.browse(cr, uid, ids, context=context):
template_id = registration.event_id.email_confirmation_id.id
if template_id:
- mail_message = self.pool.get('email.template').send_mail(cr,uid,template_id,registration.id)
+ self.pool.get('email.template').send_mail(cr,uid,template_id,registration.id, context=context)
return True
def onchange_contact_id(self, cr, uid, ids, contact, partner, context=None):
# Overridden to inject the purchase price as true 'cost price' when processing
# incoming pickings.
def _product_cost_for_average_update(self, cr, uid, move):
- if move.purchase_line_id and move.purchase_line_id and move.purchase_line_id.invoice_lines:
- cost = move.price_unit
- for inv_line in move.purchase_line_id.invoice_lines:
- if inv_line.invoice_id.state not in ('draft', 'cancel'):
- inv_currency = inv_line.invoice_id.currency_id.id
- company_currency = inv_line.invoice_id.company_id.currency_id.id
- cost = self.pool.get('res.currency').compute(cr, uid, inv_currency, company_currency, inv_line.price_unit, round=False, context={'date': inv_line.invoice_id.date_invoice})
- return {'cost': cost, 'currency': company_currency}
+ purchase_line = move.purchase_line_id
+ if move.picking_id.purchase_id and purchase_line:
+ if any([x.invoice_id.state not in ('draft', 'cancel') for x in purchase_line.invoice_lines]):
+ # use price set on validated invoices
+ cost = move.price_unit
+ for inv_line in purchase_line.invoice_lines:
+ if inv_line.invoice_id.state not in ('draft', 'cancel'):
+ inv_currency = inv_line.invoice_id.currency_id.id
+ company_currency = inv_line.invoice_id.company_id.currency_id.id
+ cost = self.pool.get('res.currency').compute(cr, uid, inv_currency, company_currency, inv_line.price_unit, round=False, context={'date': inv_line.invoice_id.date_invoice})
+ return {'cost': cost, 'currency': company_currency}
+ else:
+ # use price set on the purchase order
+ pur_currency = purchase_line.order_id.currency_id.id
+ company_currency = purchase_line.company_id.currency_id.id
+ cost = self.pool.get('res.currency').compute(cr, uid, pur_currency, company_currency, purchase_line.price_unit, round=False, context={'date': purchase_line.date_order})
+ return {'cost': cost, 'currency': company_currency}
return super(stock_partial_picking, self)._product_cost_for_average_update(cr, uid, move)
def __get_help_text(self, cursor, user, picking_id, context=None):
context = {}
for pick in self.browse(cr, uid, ids, context=context):
if pick.state in ['done','cancel']:
- raise osv.except_osv(_('Error!'), _('You cannot remove the picking which is in %s state!')%(pick.state,))
+ # retrieve the string value of field in user's language
+ state = dict(self.fields_get(cr, uid, context=context)['state']['selection']).get(pick.state, pick.state)
+ raise osv.except_osv(_('Error!'), _('You cannot remove the picking which is in %s state!')%(state,))
else:
ids2 = [move.id for move in pick.move_lines]
ctx = context.copy()