<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Odoo/addons/report/controllers/main.py, branch 14.0</title>
<subtitle>The current checkout of upstream Odoo</subtitle>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/'/>
<entry>
<title>[REF] report: remove the report module</title>
<updated>2017-05-08T07:23:12+00:00</updated>
<author>
<name>Laurent Smet</name>
<email>las@openerp.com</email>
</author>
<published>2017-04-26T07:31:55+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=e80238042c9d93d492ea8b06b0041aced0d81dcd'/>
<id>e80238042c9d93d492ea8b06b0041aced0d81dcd</id>
<content type='text'>
The content of the report module is now dispatched in
the 'base' and the 'web' modules.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The content of the report module is now dispatched in
the 'base' and the 'web' modules.
</pre>
</div>
</content>
</entry>
<entry>
<title>[REM] odoo/report: remove deprecated stuff</title>
<updated>2017-05-08T07:22:56+00:00</updated>
<author>
<name>Laurent Smet</name>
<email>las@openerp.com</email>
</author>
<published>2017-04-07T07:56:03+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=3425752eaca236c1e4b4d616aa49b3faa6cfd957'/>
<id>3425752eaca236c1e4b4d616aa49b3faa6cfd957</id>
<content type='text'>
- RML Reports
- Webkit Reports (most part already removed by 13b9982c6298021289707ed364e3c1d622a09f13)
- LocalService in netsvc.py
- rename attributes like rml_% to report_%
- rename ir.actions.report.xml to ir.actions.report
- allow rendering directly on an ir.actions.report by calling render method
- remove 'controller' report_type
- remove unused res.font stuff
- remove print_report method in models.py (not used)
- restore removed call to pdftotext process in test_reports
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- RML Reports
- Webkit Reports (most part already removed by 13b9982c6298021289707ed364e3c1d622a09f13)
- LocalService in netsvc.py
- rename attributes like rml_% to report_%
- rename ir.actions.report.xml to ir.actions.report
- allow rendering directly on an ir.actions.report by calling render method
- remove 'controller' report_type
- remove unused res.font stuff
- remove print_report method in models.py (not used)
- restore removed call to pdftotext process in test_reports
</pre>
</div>
</content>
</entry>
<entry>
<title>[#8530] convert exception handlers to except..as syntax</title>
<updated>2017-04-11T12:53:29+00:00</updated>
<author>
<name>Xavier Morel</name>
<email>xmo@odoo.com</email>
</author>
<published>2017-04-11T10:44:29+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=3979f6802eeea275f949d28ddf4c18f84fc0f5aa'/>
<id>3979f6802eeea275f949d28ddf4c18f84fc0f5aa</id>
<content type='text'>
Futurize fixers:
* lib2to3.fixes.fix_except
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Futurize fixers:
* lib2to3.fixes.fix_except
</pre>
</div>
</content>
</entry>
<entry>
<title>[MERGE] forward port branch 10.0 up to 8a0151b4bcd</title>
<updated>2017-02-02T11:42:51+00:00</updated>
<author>
<name>Christophe Simonis</name>
<email>chs@odoo.com</email>
</author>
<published>2017-02-02T11:42:51+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=6a942a9e96aee629a1d288183215177fffbe37fc'/>
<id>6a942a9e96aee629a1d288183215177fffbe37fc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[MERGE] forward port branch saas-11 up to 71773e1f1cb</title>
<updated>2017-02-01T18:08:14+00:00</updated>
<author>
<name>Christophe Simonis</name>
<email>chs@odoo.com</email>
</author>
<published>2017-02-01T18:08:14+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=b7c7591bfba41eba5be43ec490d6da9a2c7368fe'/>
<id>b7c7591bfba41eba5be43ec490d6da9a2c7368fe</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[FIX] report: switch route /report/barcode public</title>
<updated>2017-02-01T08:49:21+00:00</updated>
<author>
<name>Nicolas Lempereur</name>
<email>nle@odoo.com</email>
</author>
<published>2017-01-27T08:41:40+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=89c0927ce968b8abd581700086b3844d9ed34873'/>
<id>89c0927ce968b8abd581700086b3844d9ed34873</id>
<content type='text'>
In some instances we could want to access the barcode without being
connected.

For example if we print the report in an scheduled action, the report
would be rendered by wkhtmltopdf as public user making the barcode
blank (we have a redirection to a html login page instead of the image).

A solution requiring view updates in stable version was implemented with:
https://github.com/odoo/odoo/commit/14282f165 in 8.0 ( further explained
in https://github.com/odoo/odoo/issues/10621 ).

This commit fix this another way in 9.0 by making the barcode route
public since this doesn't bring any harm, solve this issue and allow the
use of the barcode route for public user (which might be wanted).

opw-694470
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In some instances we could want to access the barcode without being
connected.

For example if we print the report in an scheduled action, the report
would be rendered by wkhtmltopdf as public user making the barcode
blank (we have a redirection to a html login page instead of the image).

A solution requiring view updates in stable version was implemented with:
https://github.com/odoo/odoo/commit/14282f165 in 8.0 ( further explained
in https://github.com/odoo/odoo/issues/10621 ).

This commit fix this another way in 9.0 by making the barcode route
public since this doesn't bring any harm, solve this issue and allow the
use of the barcode route for public user (which might be wanted).

opw-694470
</pre>
</div>
</content>
</entry>
<entry>
<title>[IMP] *: Define pdf report name according to the business case</title>
<updated>2016-11-07T15:57:18+00:00</updated>
<author>
<name>Ravi Patel</name>
<email>rap@odoo.com</email>
</author>
<published>2016-07-22T05:51:35+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=efdb5373c31a82af3be3157b05c4e33fe647642f'/>
<id>efdb5373c31a82af3be3157b05c4e33fe647642f</id>
<content type='text'>
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 ==&gt; BOM-product_variant_name ===&gt;  'BOM'+'-'+(object.product_id.name)

- BOM Cost ==&gt; BOM Cost-product_variant_name ===&gt;  'BOM Cost'+'-'+(object.product_id.name)

- Call for Tenders ==&gt;Tender-TE00001 ===&gt; 'Tender'+'-'+(object.name)

- Delivery Slip ==&gt; Delivery Slip-Customer Name-Picking Number ===&gt; 'Delivery Slip'+'-'+(object.partner_id.name)+'-'+(object.name)

- Expenses Report ==&gt; Expenses-Employee Name-Travel By Air  ===&gt; 'Expenses'+'-'+(object.employee_id.name)+'-'+(object.name)

- Inventory ===&gt; Inventory-Starting Inventory  ====&gt; 'Inventory'+'-'+(object.name)

- Invoice (pos.order)===&gt; Invoice-Main-0002 ===&gt; 'Invoice'+'-'+(object.name)

- Invoices (account.invoice):
	===&gt; Invoice-INV-2016-0019  ====&gt; ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid'))  ===&gt; 'Invoice'+'-'+(object.number)
        ===&gt; Vendor Bill-BILL-2016-003 ===&gt; (object.type == 'in_invoice') ===&gt; 'Vendor Bill'+'-'+(object.number)

- Location Barcode  ===&gt; Order Processing-Location ===&gt; (object.name)+'-'+'Location'

- Lot Barcode ===&gt; Lot/Serial-0000018 ===&gt; 'Lot/Serial'+'-'+(object.name)

- Payslip  ===&gt;  Employee Name-Payslip ===&gt;  (object.employee_id.name)+'-'+'Payslip'

- Print Batch Deposit ===&gt; Bank- DEPOSIT/2016/0001 ===&gt; (object.journal_id.name)+'-'+(object.name)

- Print Check (Top)  ==&gt; check_Partner name_Draft Payment_top   ===&gt;  'check_'+(object.partner_id.name)+'_'+(object.name)+'_top'

- Print Check (middle)  ==&gt; check_Partner name_Draft Payment_middle ===&gt;  'check_'+(object.partner_id.name)+'_'+(object.name)+'_middle'

- Print Check (Bottom)  ==&gt;  check_Partner name_Draft Payment_bottom  ====&gt;  'check_'+(object.partner_id.name)+'_'+(object.name)+'_bottom'

- Production Order ==&gt;  Production Order-MO-00006  ====&gt;  'Production Order'+'-'+(object.name)

- Quotation / Order (sale.order):
	 ==&gt; Order-S00001  ===&gt; (object.state not in ('draft', 'sent'))==&gt; 'Order'+'-'+(object.name)
         ==&gt; Quotation-S00002   ====&gt;  (object.state in ('draft','sent'))===&gt; 'Quotation'+'-'+(object.name)

- Quotation / Order (mrp.repair):
	 ==&gt; Repair Order-RMA00005         ===&gt;  (object.state != 'draft') ===&gt; 'Repair Order'+'-'+(object.name)
         ==&gt; Repair Ouotation-RMA00005    ===&gt;  (object.state == 'draft') ===&gt; 'Repair Quotation'+'-'+(object.name)

- Registration Badge ===&gt; Registration Event-Attendee Name       ====&gt;  'Registration Event'+'-'+(object.name)

- Web Quotation(sale.order):
	==&gt; Order-S00001  ===&gt;  (object.state not in ('draft', 'sent')) ===&gt; 'Order'+'-'+(object.name)
        ==&gt; Quotation-S00002   ====&gt;  (object.state in ('draft','sent')) ===&gt; 'Quotation'+'-'+(object.name)

- Payslip Details: ===&gt; Payslip Name ===&gt;(object.name)

- Purchase Order:
	===&gt; Purchase Order-PO0012 ===&gt;(object.state != 'draft') ===&gt; 'Purchase Order'+'-'+(object.name)
        ===&gt; Request for Quotation-PO0012 ===&gt; (object.state == 'draft') ===&gt; 'Request for Quotation'+'-'+(object.name)

- Request for Quotation:===&gt; Request for Quotation-PO0012  ===&gt; 'Request for Quotation'+'-'+(object.name)

- Due Payments ===&gt; Due Payments-Partner Name  ====&gt; 'Due Payments'+'-'+(object.name)

- Products Labels ===&gt; Products Labels-Product Name ===&gt; 'Products Labels'+'-'+(object.name)

- Picking Operations ===&gt; Picking Operations-Customer Name-Picking Number ===&gt; 'Picking Operations'+'-'+(object.partner_id.name)+'-'+(object.name)

- Duplicates Invoices (account.invoice):
	===&gt; Duplicate Invoice-INV-2016-0019  ====&gt; ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid'))  ===&gt; 'Duplicate Invoice'+'-'+(object.number)
        ===&gt; Duplicate Vendor Bill-BILL-2016-003 ===&gt; (object.type == 'in_invoice') ===&gt; 'Duplicate Vendor Bill'+'-'+(object.number)

- Intrastat Invoices (account.invoice):
	===&gt; Intrastat Invoice-INV-2016-0019  ====&gt; ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid'))  ===&gt; 'Intrastat Invoice'+'-'+(object.number)
        ===&gt; Intrastat Vendor Bill-BILL-2016-003 ===&gt; (object.type == 'in_invoice') ===&gt; 'Intrastat Vendor Bill'+'-'+(object.number)

- Cost Structure Analysis ==&gt; Cost Structure Analysis-Product Name ===&gt; 'Cost Structure Analysis'+'-'+(object.name)

- Cost Analysis  ===&gt; Cost Analysis-Product Name  ====&gt; 'Cost Analysis'+'-'+(object.name)

- Print Badge  ===&gt; Print Badge-Employee Name ===&gt; 'Print Badge'+'-'+(object.name)

- Event Badge ==&gt;  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 ===&gt;
Financial Report ==&gt;
General Ledger  ===&gt;
Leaves Summary  ===&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 ==&gt; BOM-product_variant_name ===&gt;  'BOM'+'-'+(object.product_id.name)

- BOM Cost ==&gt; BOM Cost-product_variant_name ===&gt;  'BOM Cost'+'-'+(object.product_id.name)

- Call for Tenders ==&gt;Tender-TE00001 ===&gt; 'Tender'+'-'+(object.name)

- Delivery Slip ==&gt; Delivery Slip-Customer Name-Picking Number ===&gt; 'Delivery Slip'+'-'+(object.partner_id.name)+'-'+(object.name)

- Expenses Report ==&gt; Expenses-Employee Name-Travel By Air  ===&gt; 'Expenses'+'-'+(object.employee_id.name)+'-'+(object.name)

- Inventory ===&gt; Inventory-Starting Inventory  ====&gt; 'Inventory'+'-'+(object.name)

- Invoice (pos.order)===&gt; Invoice-Main-0002 ===&gt; 'Invoice'+'-'+(object.name)

- Invoices (account.invoice):
	===&gt; Invoice-INV-2016-0019  ====&gt; ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid'))  ===&gt; 'Invoice'+'-'+(object.number)
        ===&gt; Vendor Bill-BILL-2016-003 ===&gt; (object.type == 'in_invoice') ===&gt; 'Vendor Bill'+'-'+(object.number)

- Location Barcode  ===&gt; Order Processing-Location ===&gt; (object.name)+'-'+'Location'

- Lot Barcode ===&gt; Lot/Serial-0000018 ===&gt; 'Lot/Serial'+'-'+(object.name)

- Payslip  ===&gt;  Employee Name-Payslip ===&gt;  (object.employee_id.name)+'-'+'Payslip'

- Print Batch Deposit ===&gt; Bank- DEPOSIT/2016/0001 ===&gt; (object.journal_id.name)+'-'+(object.name)

- Print Check (Top)  ==&gt; check_Partner name_Draft Payment_top   ===&gt;  'check_'+(object.partner_id.name)+'_'+(object.name)+'_top'

- Print Check (middle)  ==&gt; check_Partner name_Draft Payment_middle ===&gt;  'check_'+(object.partner_id.name)+'_'+(object.name)+'_middle'

- Print Check (Bottom)  ==&gt;  check_Partner name_Draft Payment_bottom  ====&gt;  'check_'+(object.partner_id.name)+'_'+(object.name)+'_bottom'

- Production Order ==&gt;  Production Order-MO-00006  ====&gt;  'Production Order'+'-'+(object.name)

- Quotation / Order (sale.order):
	 ==&gt; Order-S00001  ===&gt; (object.state not in ('draft', 'sent'))==&gt; 'Order'+'-'+(object.name)
         ==&gt; Quotation-S00002   ====&gt;  (object.state in ('draft','sent'))===&gt; 'Quotation'+'-'+(object.name)

- Quotation / Order (mrp.repair):
	 ==&gt; Repair Order-RMA00005         ===&gt;  (object.state != 'draft') ===&gt; 'Repair Order'+'-'+(object.name)
         ==&gt; Repair Ouotation-RMA00005    ===&gt;  (object.state == 'draft') ===&gt; 'Repair Quotation'+'-'+(object.name)

- Registration Badge ===&gt; Registration Event-Attendee Name       ====&gt;  'Registration Event'+'-'+(object.name)

- Web Quotation(sale.order):
	==&gt; Order-S00001  ===&gt;  (object.state not in ('draft', 'sent')) ===&gt; 'Order'+'-'+(object.name)
        ==&gt; Quotation-S00002   ====&gt;  (object.state in ('draft','sent')) ===&gt; 'Quotation'+'-'+(object.name)

- Payslip Details: ===&gt; Payslip Name ===&gt;(object.name)

- Purchase Order:
	===&gt; Purchase Order-PO0012 ===&gt;(object.state != 'draft') ===&gt; 'Purchase Order'+'-'+(object.name)
        ===&gt; Request for Quotation-PO0012 ===&gt; (object.state == 'draft') ===&gt; 'Request for Quotation'+'-'+(object.name)

- Request for Quotation:===&gt; Request for Quotation-PO0012  ===&gt; 'Request for Quotation'+'-'+(object.name)

- Due Payments ===&gt; Due Payments-Partner Name  ====&gt; 'Due Payments'+'-'+(object.name)

- Products Labels ===&gt; Products Labels-Product Name ===&gt; 'Products Labels'+'-'+(object.name)

- Picking Operations ===&gt; Picking Operations-Customer Name-Picking Number ===&gt; 'Picking Operations'+'-'+(object.partner_id.name)+'-'+(object.name)

- Duplicates Invoices (account.invoice):
	===&gt; Duplicate Invoice-INV-2016-0019  ====&gt; ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid'))  ===&gt; 'Duplicate Invoice'+'-'+(object.number)
        ===&gt; Duplicate Vendor Bill-BILL-2016-003 ===&gt; (object.type == 'in_invoice') ===&gt; 'Duplicate Vendor Bill'+'-'+(object.number)

- Intrastat Invoices (account.invoice):
	===&gt; Intrastat Invoice-INV-2016-0019  ====&gt; ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid'))  ===&gt; 'Intrastat Invoice'+'-'+(object.number)
        ===&gt; Intrastat Vendor Bill-BILL-2016-003 ===&gt; (object.type == 'in_invoice') ===&gt; 'Intrastat Vendor Bill'+'-'+(object.number)

- Cost Structure Analysis ==&gt; Cost Structure Analysis-Product Name ===&gt; 'Cost Structure Analysis'+'-'+(object.name)

- Cost Analysis  ===&gt; Cost Analysis-Product Name  ====&gt; 'Cost Analysis'+'-'+(object.name)

- Print Badge  ===&gt; Print Badge-Employee Name ===&gt; 'Print Badge'+'-'+(object.name)

- Event Badge ==&gt;  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 ===&gt;
Financial Report ==&gt;
General Ledger  ===&gt;
Leaves Summary  ===&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[IMP] all: clean usage of `safe_eval`</title>
<updated>2016-08-11T13:36:56+00:00</updated>
<author>
<name>Raphael Collet</name>
<email>rco@openerp.com</email>
</author>
<published>2016-08-09T12:30:02+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=bf668b64c13408fdcc419b7c99481441db4a3918'/>
<id>bf668b64c13408fdcc419b7c99481441db4a3918</id>
<content type='text'>
Specifically: do not import `safe_eval` as `eval`, keep it explicit instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Specifically: do not import `safe_eval` as `eval`, keep it explicit instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>[MIG] report: Migration to new API</title>
<updated>2016-07-19T09:56:29+00:00</updated>
<author>
<name>rka-odoo</name>
<email>rka@openerp.com</email>
</author>
<published>2016-07-14T10:34:44+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=47c67b640b0d95a7df58485923abfc0794902d87'/>
<id>47c67b640b0d95a7df58485923abfc0794902d87</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[FIX] report: more precise routes in the controller</title>
<updated>2016-07-05T15:48:32+00:00</updated>
<author>
<name>Simon Lejeune</name>
<email>sle@openerp.com</email>
</author>
<published>2016-07-05T13:06:58+00:00</published>
<link rel='alternate' type='text/html' href='http://erp.ceuconsult.com:9000/Odoo/commit/?id=95a391f815df48b76a459b524d1c14f6f4ee1cc5'/>
<id>95a391f815df48b76a459b524d1c14f6f4ee1cc5</id>
<content type='text'>
ie, make `converter` argument not a path but a string. Converter
in our codebase are one-word string anyway (html, pdf).

This is done because a less asset in the report module is not reachable
in debug mode (it is a fake file that is reachable by a fallback in the
http dispatching and the fallback is not done because the `/report/converter
` matched the route of the fake file).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ie, make `converter` argument not a path but a string. Converter
in our codebase are one-word string anyway (html, pdf).

This is done because a less asset in the report module is not reachable
in debug mode (it is a fake file that is reachable by a fallback in the
http dispatching and the fallback is not done because the `/report/converter
` matched the route of the fake file).
</pre>
</div>
</content>
</entry>
</feed>
