openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #04656
lp:~openerp-dev/openobject-addons/fixed_invoice_id_error_problem into lp:~openobject-training/openobject-addons/training
gpa(Open ERP) has proposed merging lp:~openerp-dev/openobject-addons/fixed_invoice_id_error_problem into lp:~openobject-training/openobject-addons/training.
Requested reviews:
Bhumika (OpenERP) (sbh-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/fixed_invoice_id_error_problem/+merge/54864
Fixed the invoice_id error problem for the stachk holder request and content review
--
https://code.launchpad.net/~openerp-dev/openobject-addons/fixed_invoice_id_error_problem/+merge/54864
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/fixed_invoice_id_error_problem.
=== modified file 'training/training.py'
--- training/training.py 2011-03-25 09:59:07 +0000
+++ training/training.py 2011-03-25 13:36:53 +0000
@@ -1195,16 +1195,17 @@
raise osv.except_osv(_('Error'),
_('There is no Purchase Order for a request'))
- if not contact.request_id.purchase_order_id.invoice_id:
+ if not contact.request_id.purchase_order_id.invoice_ids:
raise osv.except_osv(_('Error'),
_('There is no Invoice for the Purchase Order for this request'))
- res = self._get_report(cr, uid, contact.request_id.purchase_order_id.invoice_id.id, 'report.account.invoice', context=context)
- filename = os.path.join(directory, 'Request_%s_Invoice_%06d.pdf' % (re.sub('/|-', '_', contact.request_id.reference),
- contact.request_id.purchase_order_id.invoice_id.id))
- fp = file(filename, 'w')
- fp.write(res)
- fp.close()
+ for invoice_id in contact.request_id.purchase_order_id.invoice_ids:
+ res = self._get_report(cr, uid, invoice_id.id, 'report.account.invoice', context=context)
+ filename = os.path.join(directory, 'Request_%s_Invoice_%06d.pdf' % (re.sub('/|-', '_', contact.request_id.reference),
+ invoice_id.id))
+ fp = file(filename, 'w')
+ fp.write(res)
+ fp.close()
training_seance_generate_pdf_wizard()
@@ -3863,12 +3864,14 @@
for request in self.browse(cr, uid, ids, context=context):
try:
- invoice_id = request.purchase_order_id.invoice_id.id
- if invoice_id:
- request_invoices[invoice_id] = request.id
+ invoice_ids = request.purchase_order_id.invoice_ids
+ if invoice_ids:
+ for invoice_id in request.purchase_order_id.invoice_ids:
+ request_invoices[invoice_id.id] = request.id
except AttributeError:
# catch: "bool object doesn't have 'x' attributte" errors
pass
+
invoice_residual_amounts = invoice_pool._amount_to_pay(cr, uid, request_invoices.keys(), None, None, context)
for invoice_id, residual_amount in invoice_residual_amounts.items():
res[request_invoices[invoice_id]] = unicode(residual_amount)
@@ -3898,7 +3901,7 @@
('done', 'Done'),
], 'State', readonly=True, required=True),
'purchase_order_id': fields.many2one('purchase.order', 'Purchase Order', readonly=True),
- 'purchase_paid': fields.related('purchase_order_id', 'invoice_id', 'reconciled', type='boolean', string='Invoice Paid', readonly=True,),
+ 'purchase_paid': fields.related('purchase_order_id', 'invoice_ids', 'reconciled', type='boolean', string='Invoice Paid', readonly=True,),
'amount_to_pay': fields.function(_amount_to_pay, string='Amount to pay', type='char', size='20', readonly=True, method=True),
'price' : fields.function(_price_compute, method=True, string='Remuneration', type='float', digits_compute=dp.get_precision('Account'),
store={
@@ -4033,6 +4036,7 @@
def action_wkf_accept(self, cr, uid, ids, context=None):
if context is None:
context = {}
+ invoice_ids = []
cr.sql_log = True
report_invoice = netsvc.LocalService('report.account.invoice')
self.write(cr, uid, ids, {'state': 'accepted'}, context=context)
@@ -4042,9 +4046,11 @@
email_proxy = self.pool.get('training.email')
for this in self.browse(cr, uid, ids, context=context):
email_attachments = []
- if this.purchase_order_id and this.purchase_order_id.invoice_id:
+ if this.purchase_order_id and this.purchase_order_id.invoice_ids:
# attach the draft invoice for this stakeholder request
- pdf, _r = report_invoice.create(cr, uid, [this.purchase_order_id.invoice_id.id], {}, context=context)
+ for invoice_id in this.purchase_order_id.invoice_ids:
+ invoice_ids.append(invoice_id.id)
+ pdf, _r = report_invoice.create(cr, uid, invoice_ids, {}, context=context)
email_attachments.append(('Invoice.pdf', pdf))
seances = list(sh.seance_id for sh in this.participation_ids)
seances.sort(cmp=self.sh_sort_by_date)
@@ -4316,8 +4322,9 @@
for this in self.browse(cr, uid, ids, context):
po = this.purchase_order_id
if po:
- if purchase_order_signal == 'purchase_cancel' and po.invoice_id:
- wkf.trg_validate(uid, 'account.invoice', po.invoice_id.id, 'invoice_cancel', cr)
+ if purchase_order_signal == 'purchase_cancel' and po.invoice_ids:
+ for invoice_id in invoice_ids:
+ wkf.trg_validate(uid, 'account.invoice', invoice_id.id, 'invoice_cancel', cr)
wkf.trg_validate(uid, 'purchase.order', po.id, 'cancel', cr)
else:
wkf.trg_validate(uid, 'purchase.order', this.purchase_order_id.id, purchase_order_signal, cr)
=== modified file 'training/training_view.xml'
--- training/training_view.xml 2011-03-24 09:31:32 +0000
+++ training/training_view.xml 2011-03-25 13:36:53 +0000
@@ -1071,7 +1071,7 @@
<field name="model">training.subscription</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="subscription">
+ <form string="Subscription">
<separator string="Subscription Description" colspan="4" />
<field name="name" />
<field name="create_date" />
Follow ups