summaryrefslogtreecommitdiff
path: root/addons/report
diff options
context:
space:
mode:
authorRavi Patel <rap@odoo.com>2016-07-22 11:21:35 +0530
committerYannick Tivisse <yti@odoo.com>2016-11-07 16:57:18 +0100
commitefdb5373c31a82af3be3157b05c4e33fe647642f (patch)
treeb9ca7a516adcedf8a51a57314822aa05c3da96b2 /addons/report
parent4d86cc78f16271a077b1456a3adcf6b2b3372390 (diff)
[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 ===>
Diffstat (limited to 'addons/report')
-rw-r--r--addons/report/controllers/main.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/addons/report/controllers/main.py b/addons/report/controllers/main.py
index aad5d3a23ea..3219d14754b 100644
--- a/addons/report/controllers/main.py
+++ b/addons/report/controllers/main.py
@@ -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