mirror of
https://github.com/OCA/reporting-engine.git
synced 2025-02-16 16:30:38 +02:00
[12.0][MIG] report_csv
This commit is contained in:
2
report_csv/readme/CONTRIBUTORS.rst
Normal file
2
report_csv/readme/CONTRIBUTORS.rst
Normal file
@@ -0,0 +1,2 @@
|
||||
* Enric Tobella <etobella@creublanca.es>
|
||||
* Jaime Arroyo <jaime.arroyo@creublanca.es>
|
||||
1
report_csv/readme/DESCRIPTION.rst
Normal file
1
report_csv/readme/DESCRIPTION.rst
Normal file
@@ -0,0 +1 @@
|
||||
This module provides a basic report class to generate csv report.
|
||||
38
report_csv/readme/USAGE.rst
Normal file
38
report_csv/readme/USAGE.rst
Normal file
@@ -0,0 +1,38 @@
|
||||
An example of CSV report for partners on a module called `module_name`:
|
||||
|
||||
A python class ::
|
||||
|
||||
from odoo import models
|
||||
|
||||
class PartnerCSV(models.AbstractModel):
|
||||
_name = 'report.report_csv.partner_csv'
|
||||
_inherit = 'report.report_csv.abstract'
|
||||
|
||||
def generate_csv_report(self, writer, data, partners):
|
||||
writer.writeheader()
|
||||
for obj in partners:
|
||||
writer.writerow({
|
||||
'name': obj.name,
|
||||
'email': obj.email,
|
||||
})
|
||||
|
||||
def csv_report_options(self):
|
||||
res = super().csv_report_options()
|
||||
res['fieldnames'].append('name')
|
||||
res['fieldnames'].append('email')
|
||||
res['delimiter'] = ';'
|
||||
res['quoting'] = csv.QUOTE_ALL
|
||||
return res
|
||||
|
||||
|
||||
A report XML record ::
|
||||
|
||||
<report
|
||||
id="partner_csv"
|
||||
model="res.partner"
|
||||
string="Print to CSV"
|
||||
report_type="csv"
|
||||
name="module_name.report_name"
|
||||
file="res_partner"
|
||||
attachment_use="False"
|
||||
/>
|
||||
Reference in New Issue
Block a user