68
68
inv_reject = inv_reject + 1
69
69
inv_rej_reason += "ID "+str(reg.id)+": Registration doesn't have any partner to invoice. \n"
71
partner_address_list = reg.partner_invoice_id and self.pool.get('res.partner').address_get(cr, uid, [reg.partner_invoice_id.id], adr_pref=['invoice'])
72
partner_address_id = partner_address_list['invoice']
72
val_invoice = pool_obj.get('account.invoice').onchange_partner_id(cr, uid, [], 'out_invoice', reg.partner_invoice_id.id, False, False)
73
val_invoice['value'].update({'partner_id': reg.partner_invoice_id.id})
74
partner_address_id = val_invoice['value']['address_invoice_id']
73
76
if not partner_address_id:
74
77
inv_reject = inv_reject + 1
75
78
inv_rej_reason += "ID "+str(reg.id)+": Registered partner doesn't have an address to make the invoice. \n"
82
85
tax_ids.append(tax.id)
84
87
vals = value['value']
88
c_name = reg.contact_id and ('-' + self.pool.get('res.partner.contact').name_get(cr, uid, [reg.contact_id.id])[0][1]) or ''
90
'name': reg.invoice_label + '-' + c_name,
87
91
'price_unit': reg.unit_price,
88
92
'quantity': reg.nb_register,
89
93
'product_id':reg.event_id.product_id.id,
92
96
inv_line_ids = obj_event_reg._create_invoice_lines(cr, uid, [reg.id], vals)
95
'name': reg.invoice_label,
98
val_invoice['value'].update({
96
99
'origin': reg.invoice_label,
97
'type': 'out_invoice',
98
100
'reference': False,
99
'account_id': reg.partner_invoice_id.property_account_receivable.id,
100
'partner_id': reg.partner_invoice_id.id,
101
'address_invoice_id':partner_address_id,
102
'address_contact_id':partner_address_id,
103
101
'invoice_line': [(6,0,[inv_line_ids])],
104
'currency_id' :reg.partner_invoice_id.property_product_pricelist.currency_id.id,
106
'payment_term':reg.partner_invoice_id.property_payment_term.id,
107
'fiscal_position': reg.partner_invoice_id.property_account_position.id
110
inv_id = inv_obj.create(cr, uid, inv)
105
inv_id = inv_obj.create(cr, uid, val_invoice['value'])
111
106
list_inv.append(inv_id)
112
107
obj_event_reg.write(cr, uid, reg.id, {'invoice_id': inv_id, 'state': 'done'})
113
108
obj_event_reg._history(cr, uid, [reg.id], 'Invoiced', history=True)