[IMP] *: Define pdf report name according to the business case
Purpose:
When downloading a document, the name by default is not clear at all because by default, the printed report name is empty.
Specification:
Change the Printed Report Name. In most of the cases, it should be the name of the object + the number.
For the following reports :
- BOM Structure ==> BOM-product_variant_name ===> 'BOM'+'-'+(object.product_id.name)
- BOM Cost ==> BOM Cost-product_variant_name ===> 'BOM Cost'+'-'+(object.product_id.name)
- Call for Tenders ==>Tender-TE00001 ===> 'Tender'+'-'+(object.name)
- Delivery Slip ==> Delivery Slip-Customer Name-Picking Number ===> 'Delivery Slip'+'-'+(object.partner_id.name)+'-'+(object.name)
- Expenses Report ==> Expenses-Employee Name-Travel By Air ===> 'Expenses'+'-'+(object.employee_id.name)+'-'+(object.name)
- Inventory ===> Inventory-Starting Inventory ====> 'Inventory'+'-'+(object.name)
- Invoice (pos.order)===> Invoice-Main-0002 ===> 'Invoice'+'-'+(object.name)
- Invoices (account.invoice):
===> Invoice-INV-2016-0019 ====> ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid')) ===> 'Invoice'+'-'+(object.number)
===> Vendor Bill-BILL-2016-003 ===> (object.type == 'in_invoice') ===> 'Vendor Bill'+'-'+(object.number)
- Location Barcode ===> Order Processing-Location ===> (object.name)+'-'+'Location'
- Lot Barcode ===> Lot/Serial-0000018 ===> 'Lot/Serial'+'-'+(object.name)
- Payslip ===> Employee Name-Payslip ===> (object.employee_id.name)+'-'+'Payslip'
- Print Batch Deposit ===> Bank- DEPOSIT/2016/0001 ===> (object.journal_id.name)+'-'+(object.name)
- Print Check (Top) ==> check_Partner name_Draft Payment_top ===> 'check_'+(object.partner_id.name)+'_'+(object.name)+'_top'
- Print Check (middle) ==> check_Partner name_Draft Payment_middle ===> 'check_'+(object.partner_id.name)+'_'+(object.name)+'_middle'
- Print Check (Bottom) ==> check_Partner name_Draft Payment_bottom ====> 'check_'+(object.partner_id.name)+'_'+(object.name)+'_bottom'
- Production Order ==> Production Order-MO-00006 ====> 'Production Order'+'-'+(object.name)
- Quotation / Order (sale.order):
==> Order-S00001 ===> (object.state not in ('draft', 'sent'))==> 'Order'+'-'+(object.name)
==> Quotation-S00002 ====> (object.state in ('draft','sent'))===> 'Quotation'+'-'+(object.name)
- Quotation / Order (mrp.repair):
==> Repair Order-RMA00005 ===> (object.state != 'draft') ===> 'Repair Order'+'-'+(object.name)
==> Repair Ouotation-RMA00005 ===> (object.state == 'draft') ===> 'Repair Quotation'+'-'+(object.name)
- Registration Badge ===> Registration Event-Attendee Name ====> 'Registration Event'+'-'+(object.name)
- Web Quotation(sale.order):
==> Order-S00001 ===> (object.state not in ('draft', 'sent')) ===> 'Order'+'-'+(object.name)
==> Quotation-S00002 ====> (object.state in ('draft','sent')) ===> 'Quotation'+'-'+(object.name)
- Payslip Details: ===> Payslip Name ===>(object.name)
- Purchase Order:
===> Purchase Order-PO0012 ===>(object.state != 'draft') ===> 'Purchase Order'+'-'+(object.name)
===> Request for Quotation-PO0012 ===> (object.state == 'draft') ===> 'Request for Quotation'+'-'+(object.name)
- Request for Quotation:===> Request for Quotation-PO0012 ===> 'Request for Quotation'+'-'+(object.name)
- Due Payments ===> Due Payments-Partner Name ====> 'Due Payments'+'-'+(object.name)
- Products Labels ===> Products Labels-Product Name ===> 'Products Labels'+'-'+(object.name)
- Picking Operations ===> Picking Operations-Customer Name-Picking Number ===> 'Picking Operations'+'-'+(object.partner_id.name)+'-'+(object.name)
- Duplicates Invoices (account.invoice):
===> Duplicate Invoice-INV-2016-0019 ====> ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid')) ===> 'Duplicate Invoice'+'-'+(object.number)
===> Duplicate Vendor Bill-BILL-2016-003 ===> (object.type == 'in_invoice') ===> 'Duplicate Vendor Bill'+'-'+(object.number)
- Intrastat Invoices (account.invoice):
===> Intrastat Invoice-INV-2016-0019 ====> ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid')) ===> 'Intrastat Invoice'+'-'+(object.number)
===> Intrastat Vendor Bill-BILL-2016-003 ===> (object.type == 'in_invoice') ===> 'Intrastat Vendor Bill'+'-'+(object.number)
- Cost Structure Analysis ==> Cost Structure Analysis-Product Name ===> 'Cost Structure Analysis'+'-'+(object.name)
- Cost Analysis ===> Cost Analysis-Product Name ====> 'Cost Analysis'+'-'+(object.name)
- Print Badge ===> Print Badge-Employee Name ===> 'Print Badge'+'-'+(object.name)
- Event Badge ==> this report is in html format so ,there is no need to give the print_report_name.
- The following reports are print through wizard so there is no need to give the print_report_name
Budgets ===>
Financial Report ==>
General Ledger ===>
Leaves Summary ===>
This commit is contained in:
committed by
Yannick Tivisse
parent
4d86cc78f1
commit
efdb5373c3
@@ -12,6 +12,16 @@
|
||||
attachment_use="True"
|
||||
attachment="(object.state in ('open','paid')) and ('INV'+(object.number or '').replace('/','')+'.pdf')"
|
||||
/>
|
||||
<record id="account_invoices" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">(object.type == 'out_invoice' and object.state == 'draft' and 'Draft Invoice' or
|
||||
object.type == 'out_invoice' and object.state in ('open','paid') and 'Invoice'+'-'+(object.number) or
|
||||
object.type == 'out_refund' and object.state == 'draft' and 'Refund' or
|
||||
object.type == 'out_refund' and 'Refund'+'-'+(object.number) or
|
||||
object.type == 'in_invoice' and object.state == 'draft' and 'Vendor Bill' or
|
||||
object.type == 'in_invoice' and object.state in ('open','paid') and 'Vendor Bill'+'-'+(object.number) or
|
||||
object.type == 'in_refund' and object.state == 'draft' and 'Vendor Refund' or
|
||||
object.type == 'in_refund' and 'Vendor Refund'+'-'+(object.number))</field>
|
||||
</record>
|
||||
|
||||
<report
|
||||
id="account_invoice_action_report_duplicate"
|
||||
@@ -22,6 +32,16 @@
|
||||
file="account.report_invoice_duplicate"
|
||||
attachment_use="False"
|
||||
/>
|
||||
<record id="account_invoice_action_report_duplicate" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">(object.type == 'out_invoice' and object.state == 'draft' and 'Duplicate Invoice' or
|
||||
object.type == 'out_invoice' and object.state in ('open','paid') and 'Duplicate Invoice'+'-'+(object.number) or
|
||||
object.type == 'out_refund' and object.state == 'draft' and 'Duplicate Refund' or
|
||||
object.type == 'out_refund' and 'Duplicate Refund'+'-'+(object.number) or
|
||||
object.type == 'in_invoice' and object.state == 'draft' and 'Duplicate Vendor Bill' or
|
||||
object.type == 'in_invoice' and object.state in ('open','paid') and 'Duplicate Vendor Bill'+'-'+(object.number) or
|
||||
object.type == 'in_refund' and object.state == 'draft' and 'Duplicate Vendor Refund' or
|
||||
object.type == 'in_refund' and 'Duplicate Vendor Refund'+'-'+(object.number))</field>
|
||||
</record>
|
||||
|
||||
<report
|
||||
id="action_report_print_overdue"
|
||||
@@ -31,6 +51,9 @@
|
||||
name="account.report_overdue"
|
||||
file="account.report_overdue"
|
||||
/>
|
||||
<record id="action_report_print_overdue" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'Due Payments'+'-'+(object.name)</field>
|
||||
</record>
|
||||
|
||||
<report
|
||||
id="action_report_general_ledger"
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
name="event.event_registration_report_template_badge"
|
||||
file="event.event_registration_report_template_badge"
|
||||
paperformat="event.paperformat_euro_lowmargin"/>
|
||||
<record id="report_event_registration_badge" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'Registration Event'+'-'+(object.name)</field>
|
||||
</record>
|
||||
|
||||
<report
|
||||
id="report_event_event_badge"
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
report_type="qweb-html"
|
||||
name="hr_attendance.print_employee_badge"
|
||||
file="hr_attendance.print_employee_badge"/>
|
||||
<record id="hr_employee_print_badge" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'Print Badge'+'-'+(object.name)</field>
|
||||
</record>
|
||||
|
||||
<template id="print_employee_badge">
|
||||
<t t-call="report.html_container">
|
||||
|
||||
@@ -106,5 +106,8 @@
|
||||
name="hr_expense.report_expense_sheet"
|
||||
file="hr_expense.report_expense_sheet"
|
||||
/>
|
||||
<record id="action_report_hr_expense_sheet" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'Expenses'+'-'+(object.employee_id.name)+'-'+(object.name)</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -17,6 +17,9 @@
|
||||
name="hr_payroll.report_payslip"
|
||||
file="hr_payroll.report_payslip"
|
||||
/>
|
||||
<record id="action_report_payslip" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">(object.employee_id.name)+'-'+'Payslip'</field>
|
||||
</record>
|
||||
<report
|
||||
id="payslip_details_report"
|
||||
model="hr.payslip"
|
||||
@@ -25,4 +28,7 @@
|
||||
name="hr_payroll.report_payslipdetails"
|
||||
file="hr_payroll.report_payslipdetails"
|
||||
/>
|
||||
<record id="payslip_details_report" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">(object.name)</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
file="mrp.report.mrp_bom_templates"
|
||||
report_type="qweb-pdf"
|
||||
/>
|
||||
<record id="action_report_bom_structure" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'BOM'+'-'+(object.product_id.name or object.product_tmpl_id.name)</field>
|
||||
</record>
|
||||
|
||||
<report
|
||||
string="Production Order"
|
||||
@@ -18,6 +21,9 @@
|
||||
file="mrp.report.mrp_production_templates"
|
||||
report_type="qweb-pdf"
|
||||
/>
|
||||
<record id="action_report_production_order" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'Production Order'+'-'+(object.name)</field>
|
||||
</record>
|
||||
|
||||
<report
|
||||
string="BOM Cost"
|
||||
@@ -27,5 +33,8 @@
|
||||
file="mrp_bom_cost"
|
||||
report_type="qweb-html"
|
||||
/>
|
||||
<record id="action_report_bom_price" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'BOM Cost'+'-'+(object.product_id.name or object.product_tmpl_id.name)</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -9,5 +9,8 @@
|
||||
file="mrp_repair.report_mrprepairorder"
|
||||
report_type="qweb-pdf"
|
||||
/>
|
||||
<record id="action_report_mrp_repair_order" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">(object.state == 'draft' and 'Repair Quotation'+'-'+(object.name) or 'Repair Order'+'-'+(object.name))</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
<field name="model">pos.order</field>
|
||||
<field name="report_type">qweb-pdf</field>
|
||||
<field name="report_name">point_of_sale.report_invoice</field>
|
||||
<field name="print_report_name">'Invoice'+'-'+(object.name)</field>
|
||||
</record>
|
||||
|
||||
<record id="sale_details_report" model="ir.actions.report.xml">
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
report_type="qweb-pdf"
|
||||
name="product.report_productlabel"
|
||||
file="product.report_productlabel"/>
|
||||
<record id="report_product_label" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'Products Labels'+'-'+(object.name)</field>
|
||||
</record>
|
||||
|
||||
<report
|
||||
id="report_product_template_label"
|
||||
@@ -16,6 +19,9 @@
|
||||
report_type="qweb-pdf"
|
||||
name="product.report_producttemplatelabel"
|
||||
file="product.report_producttemplatelabel"/>
|
||||
<record id="report_product_template_label" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'Products Labels'+'-'+(object.name)</field>
|
||||
</record>
|
||||
|
||||
<report
|
||||
id="action_report_pricelist"
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
name="purchase.report_purchaseorder"
|
||||
file="purchase.report_purchaseorder"
|
||||
/>
|
||||
<record id="action_report_purchase_order" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">(object.state in ('draft', 'sent') and 'Request for Quotation'+'-'+(object.name) or 'Purchase Order'+'-'+(object.name))</field>
|
||||
</record>
|
||||
|
||||
<report
|
||||
string="Request for Quotation"
|
||||
@@ -17,4 +20,7 @@
|
||||
name="purchase.report_purchasequotation"
|
||||
file="purchase.report_purchasequotation"
|
||||
/>
|
||||
<record id="report_purchase_quotation" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'Request for Quotation'+'-'+(object.name)</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@@ -9,5 +9,8 @@
|
||||
name="purchase_requisition.report_purchaserequisitions"
|
||||
file="purchase_requisition.report.report_purchaserequisitions"
|
||||
/>
|
||||
<record id="action_report_purchase_requisitions" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'Tender'+'-'+(object.name)</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -105,7 +105,8 @@ class ReportController(Controller):
|
||||
ids = [int(x) for x in docids.split(",")]
|
||||
obj = request.env[report.model].browse(ids)
|
||||
if report.print_report_name and not len(obj) > 1:
|
||||
filename = safe_eval(report.print_report_name, {'object': obj, 'time': time})
|
||||
report_name = safe_eval(report.print_report_name, {'object': obj, 'time': time})
|
||||
filename = "%s.%s" % (report_name, "pdf")
|
||||
response.headers.add('Content-Disposition', content_disposition(filename))
|
||||
response.set_cookie('fileToken', token)
|
||||
return response
|
||||
|
||||
@@ -8,4 +8,14 @@
|
||||
name="report_intrastat.report_intrastatinvoice"
|
||||
file="report_intrastat.report_intrastatinvoice"
|
||||
/>
|
||||
<record id="account_intrastatinvoices" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">(object.type == 'out_invoice' and object.state == 'draft' and 'Intrastat Invoice' or
|
||||
object.type == 'out_invoice' and object.state in ('open','paid') and 'Intrastat Invoice'+'-'+(object.number) or
|
||||
object.type == 'out_refund' and object.state == 'draft' and 'Intrastat Refund' or
|
||||
object.type == 'out_refund' and 'Intrastat Refund'+'-'+(object.number) or
|
||||
object.type == 'in_invoice' and object.state == 'draft' and 'Intrastat Vendor Bill' or
|
||||
object.type == 'in_invoice' and object.state in ('open','paid') and 'Intrastat Vendor Bill'+'-'+(object.number) or
|
||||
object.type == 'in_refund' and object.state == 'draft' and 'Intrastat Vendor Refund' or
|
||||
object.type == 'in_refund' and 'Intrastat Vendor Refund'+'-'+(object.number))</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@@ -9,5 +9,8 @@
|
||||
file="sale.report_saleorder"
|
||||
name="sale.report_saleorder"
|
||||
/>
|
||||
<record id="report_sale_order" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">(object.state in ('draft', 'sent') and 'Quotation'+'-'+(object.name) or 'Order'+'-'+(object.name))</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
name="stock.report_picking"
|
||||
file="stock.report_picking_operations"
|
||||
/>
|
||||
<record id="action_report_picking" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'Picking Operations'+'-'+(object.partner_id.name)+'-'+(object.name)</field>
|
||||
</record>
|
||||
<report
|
||||
string="Delivery Slip"
|
||||
id="action_report_delivery"
|
||||
@@ -17,6 +20,9 @@
|
||||
name="stock.report_deliveryslip"
|
||||
file="stock.report_deliveryslip"
|
||||
/>
|
||||
<record id="action_report_delivery" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'Delivery Slip'+'-'+(object.partner_id.name)+'-'+(object.name)</field>
|
||||
</record>
|
||||
<report
|
||||
string="Inventory"
|
||||
id="action_report_inventory"
|
||||
@@ -25,9 +31,18 @@
|
||||
name="stock.report_inventory"
|
||||
file="stock.report_inventory"
|
||||
/>
|
||||
<record id="action_report_inventory" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'Inventory'+'-'+(object.name)</field>
|
||||
</record>
|
||||
<report id="action_report_quant_package_barcode" model="stock.quant.package" report_type="qweb-pdf" name="stock.report_package_barcode" string="Package BarCode with Contents" file="stock.report_package_barcode"/>
|
||||
<report id="action_report_quant_package_barcode_small" model="stock.quant.package" report_type="qweb-pdf" name="stock.report_package_barcode_small" string="Package BarCode" file="stock.report_package_barcode"/>
|
||||
<report id="action_report_location_barcode" model="stock.location" report_type="qweb-pdf" name="stock.report_location_barcode" string="Location BarCode" file="stock.report_location_barcode"/>
|
||||
<record id="action_report_location_barcode" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">(object.name)+'-'+'Location'</field>
|
||||
</record>
|
||||
<report id="action_report_lot_barcode" model="stock.production.lot" report_type="qweb-pdf" name="stock.report_lot_barcode" string="Lot BarCode" file="stock.report_lot_barcode"/>
|
||||
<record id="action_report_lot_barcode" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">'Lot/Serial'+'-'+(object.name)</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
@@ -9,4 +9,7 @@
|
||||
name="website_quote.report_quote"
|
||||
menu="False"
|
||||
/>
|
||||
<record id="report_web_quote" model="ir.actions.report.xml">
|
||||
<field name="print_report_name">(object.state in ('draft', 'sent') and 'Quotation'+'-'+(object.name) or 'Order'+'-'+(object.name))</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user