is it possible to print multiple record many2many to the qweb in odoo 8
because i tried its always passing one record.
class WizProductionRecap(models.TransientModel):
_name = 'wiz.production.recap'
sale_id = fields.Many2many('sale.order', string="Sales Order", required=True)
@api.multi
def action_print(self):
if self.sale_id:
_logger.info("SALE ORDER sale_id: %s", self.sale_id)
datas = {
'ids': self._ids,
'model': 'wiz.production.recap',
'form': self.read()[0]
}
report_name = 'mrp_jewelry_pdo.report_production_recap_document'
pdo_id = self.env['mrp.jewelry.pdo'].search([('sale_id', 'in', self.sale_id.ids)])
if pdo_id:
return self.env['report'].get_action(pdo_id[0], report_name, data=datas)
else:
return None
and the abstract
class ReportProductionRecap(models.AbstractModel):
_name = 'report.mrp_jewelry_pdo.report_production_recap_document'
@api.multi
def render_html(self, data=None):
_logger.info("RENDERING records: %s", self)
report_obj = self.env['report']
report = report_obj._get_report_from_name('mrp_jewelry_pdo.report_production_recap_document')
pdo_obj = self.env['mrp.jewelry.pdo']
docargs_list = []
for record in self:
pdo_records = pdo_obj.search([('sale_id', '=', record.id)])
sales_orders = pdo_records.mapped('sale_id')
docargs = {
'doc_ids': self.env["wiz.production.recap"].browse(data["ids"]),
'doc_model': report.model,
'docs': self,
'data': data,
'pdo_id': pdo_records.ids,
'sale_id': sales_orders.ids,
'pdo_records': pdo_records,
'sales_orders': sales_orders,
}
docargs_list.append(docargs)
return [report_obj.render('mrp_jewelry_pdo.report_production_recap_document', docargs) for docargs in
docargs_list]