Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
4592 Zobrazení

HI all,


I know that odoo create a relationship between route and report.

For example I know that with odoo/addons/web there is:


@http.route(['/web/content',
'/web/content/<string:xmlid>',
'/web/content/<string:xmlid>/<string:filename>',
....
'/web/content/<string:model>/<int:id>/<string:field>',
'/web/content/<string:model>/<int:id>/<string:field>/<string:filename>'], type='http', auth="public")
def content_common(s.....


in relation with

<report
id="account_invoices"
model="account.invoice"
string="Invoices"
report_type="qweb-pdf"
name="account.report_invoice"
file="account.report_invoice"
attachment_use="True"
attachment="(object.state in ('open','paid')) and ('INV'+(object.number or '').replace('/','')+'.pdf')"
/>

that work with "/web/content/34641?download=true" call for example.
What's the relation between the call and report?


how can I do if I want that "/web/content/34641?download=true" works for another custom report?
DO I have to define a new method or a new report? Or both?
Avatar
Zrušit
Nejlepší odpověď

hello

you don't have to define the method.  attachment_use="True" this means when the report print at that time the report will reloaded from the attachment. and /web/content/34641 means it's your attachment record id. so when this controller call it will take the data of the attachment record number 34641.
so if in report if you define the attachment_use="True" it will works for your report also. There is also different routes so you can pass parameter into controller as per your needs like <string:model>/<int:id>/<string:filename> it means model name/recordid/field(which field data you want).

Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
0
pro 21
3376
1
led 24
5073
1
úno 18
12139
1
úno 24
6088
1
zář 22
7215