def action_invoice_create(self, cr, uid, ids, group=False, context=None):
res={}
invoices_group = {}
+ inv_obj = self.pool.get('account.invoice')
++ invoice_line_obj = self.pool.get('account.invoice.line')
++ repair_fee_obj = self.pool.get('mrp.repair.fee')
++ repair_line_obj = self.pool.get('mrp.repair.line')
for repair in self.browse(cr, uid, ids, context=context):
res[repair.id]=False
if repair.state in ('draft','cancel') or repair.invoice_id:
comment=repair.quotation_notes
if (repair.invoice_method != 'none'):
if group and repair.partner_invoice_id.id in invoices_group:
-- inv_id= invoices_group[repair.partner_invoice_id.id]
- invoice=invoice_obj.browse(cr, uid,inv_id)
- invoice=inv_obj.browse(cr, uid,inv_id)
++ inv_id = invoices_group[repair.partner_invoice_id.id]
++ invoice = inv_obj.browse(cr, uid,inv_id)
invoice_vals = {
'name': invoice.name +', '+repair.name,
'origin': invoice.origin+', '+repair.name,
else:
raise osv.except_osv(_('Error !'), _('No account defined for product "%s".') % operation.product_id.name )
-- invoice_line_id = self.pool.get('account.invoice.line').create(cr, uid, {
++ invoice_line_id = invoice_line_obj.create(cr, uid, {
'invoice_id': inv_id,
'name': name,
'origin':repair.name,
'price_subtotal' : operation.product_uom_qty*operation.price_unit,
'product_id' : operation.product_id and operation.product_id.id or False
})
-- self.pool.get('mrp.repair.line').write(cr, uid, [operation.id], {'invoiced':True,'invoice_line_id':invoice_line_id})
++ repair_line_obj.write(cr, uid, [operation.id], {'invoiced':True,'invoice_line_id':invoice_line_id})
for fee in repair.fees_lines:
if fee.to_invoice == True:
if group:
account_id = fee.product_id.categ_id.property_account_income_categ.id
else:
raise osv.except_osv(_('Error !'), _('No account defined for product "%s".') % fee.product_id.name)
-- invoice_fee_id = self.pool.get('account.invoice.line').create(cr, uid, {
++ invoice_fee_id = invoice_line_obj.create(cr, uid, {
'invoice_id': inv_id,
'name': name,
'origin':repair.name,
'price_unit': fee.price_unit,
'price_subtotal': fee.product_uom_qty*fee.price_unit
})
-- self.pool.get('mrp.repair.fee').write(cr, uid, [fee.id], {'invoiced':True,'invoice_line_id':invoice_fee_id})
++ repair_fee_obj.write(cr, uid, [fee.id], {'invoiced':True,'invoice_line_id':invoice_fee_id})
res[repair.id]=inv_id
#self.action_invoice_end(cr, uid, ids)
return res