mirror of
https://github.com/OCA/report-print-send.git
synced 2025-02-16 07:11:31 +02:00
Do no longer returns a PDF when a report is printed
Instead, a notification is displayed to the user. When report.get_pdf() is called on a report that must be printer, it will print the report *and* returns the pdf, thus code that calls directly report.get_pdf() will print the pdf on the printer as expected. Fixes #16
This commit is contained in:
committed by
Carlos Roca
parent
74ce12bf3f
commit
79549a7bf4
@@ -5,7 +5,7 @@ This module allows users to send reports to a printer attached to the server.
|
|||||||
|
|
||||||
It adds an optional behaviour on reports to send it directly to a printer.
|
It adds an optional behaviour on reports to send it directly to a printer.
|
||||||
|
|
||||||
* `Send to Client` is the default behavious providing you a downloadable PDF
|
* `Send to Client` is the default behaviour providing you a downloadable PDF
|
||||||
* `Send to Printer` prints the report on selected printer
|
* `Send to Printer` prints the report on selected printer
|
||||||
|
|
||||||
Report behaviour is defined by settings.
|
Report behaviour is defined by settings.
|
||||||
@@ -23,13 +23,18 @@ After installing enable the "Printing / Print Operator" option under access
|
|||||||
rights to give users the ability to view the print menu.
|
rights to give users the ability to view the print menu.
|
||||||
|
|
||||||
|
|
||||||
To show all available printers for your server, uses
|
To show all available printers for your server, use the
|
||||||
`Settings/Configuration/Printing/Update Printers from CUPS` wizard.
|
`Settings/Configuration/Printing/Update Printers from CUPS` wizard.
|
||||||
|
|
||||||
|
|
||||||
Then goto the user profile and set the users printing action and default
|
Then go to the user profile and set the users printing action and default
|
||||||
printer.
|
printer.
|
||||||
|
|
||||||
|
Caveat
|
||||||
|
------
|
||||||
|
|
||||||
|
The notification when a report is sent to a printer will not be
|
||||||
|
displayed for the deprecated report types (RML, Webkit, ...).
|
||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
------------
|
------------
|
||||||
|
|||||||
@@ -35,6 +35,7 @@
|
|||||||
'security/security.xml',
|
'security/security.xml',
|
||||||
'printing_data.xml',
|
'printing_data.xml',
|
||||||
'printing_view.xml',
|
'printing_view.xml',
|
||||||
|
'base_report_to_printer.xml',
|
||||||
'wizard/update_printers.xml',
|
'wizard/update_printers.xml',
|
||||||
],
|
],
|
||||||
'installable': True,
|
'installable': True,
|
||||||
|
|||||||
11
base_report_to_printer/base_report_to_printer.xml
Normal file
11
base_report_to_printer/base_report_to_printer.xml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<openerp>
|
||||||
|
<data>
|
||||||
|
<template id="assets_backend" name="base_report_to_printer assets" inherit_id="report.assets_backend">
|
||||||
|
<xpath expr="." position="inside">
|
||||||
|
<script type="text/javascript" src="/base_report_to_printer/static/src/js/qwebactionmanager.js"></script>
|
||||||
|
</xpath>
|
||||||
|
</template>
|
||||||
|
</data>
|
||||||
|
</openerp>
|
||||||
|
|
||||||
@@ -1,16 +1,15 @@
|
|||||||
# Translation of OpenERP Server.
|
# Translation of Odoo Server.
|
||||||
# This file contains the translation of the following modules:
|
# This file contains the translation of the following modules:
|
||||||
# * base_report_to_printer
|
# * base_report_to_printer
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: OpenERP Server 7.0\n"
|
"Project-Id-Version: Odoo Server 8.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2013-11-05 14:48+0000\n"
|
"POT-Creation-Date: 2015-01-21 14:44+0000\n"
|
||||||
"PO-Revision-Date: 2014-11-17 12:50+0000\n"
|
"PO-Revision-Date: 2015-01-21 14:44+0000\n"
|
||||||
"Last-Translator: <>\n"
|
"Last-Translator: <>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: \n"
|
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: \n"
|
"Content-Transfer-Encoding: \n"
|
||||||
@@ -38,16 +37,22 @@ msgid "Cancel"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.action,create_uid:0 field:printing.printer,create_uid:0
|
#: code:addons/base_report_to_printer/wizard/update_printers.py:50
|
||||||
#: field:printing.printer.polling,create_uid:0
|
#, python-format
|
||||||
|
msgid "Could not get the list of printers from the CUPS server (%s:%s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#: field:printing.action,create_uid:0
|
||||||
|
#: field:printing.printer,create_uid:0
|
||||||
#: field:printing.printer.update.wizard,create_uid:0
|
#: field:printing.printer.update.wizard,create_uid:0
|
||||||
#: field:printing.report.xml.action,create_uid:0
|
#: field:printing.report.xml.action,create_uid:0
|
||||||
msgid "Created by"
|
msgid "Created by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.action,create_date:0 field:printing.printer,create_date:0
|
#: field:printing.action,create_date:0
|
||||||
#: field:printing.printer.polling,create_date:0
|
#: field:printing.printer,create_date:0
|
||||||
#: field:printing.printer.update.wizard,create_date:0
|
#: field:printing.printer.update.wizard,create_date:0
|
||||||
#: field:printing.report.xml.action,create_date:0
|
#: field:printing.report.xml.action,create_date:0
|
||||||
msgid "Created on"
|
msgid "Created on"
|
||||||
@@ -63,40 +68,55 @@ msgstr ""
|
|||||||
msgid "Default Printer"
|
msgid "Default Printer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/base_report_to_printer/static/src/js/qwebactionmanager.js:27
|
||||||
|
#, python-format
|
||||||
|
msgid "Document sent to the printer "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: selection:printing.printer,status:0
|
#: selection:printing.printer,status:0
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.action,id:0 field:printing.printer,id:0
|
#. openerp-web
|
||||||
#: field:printing.printer.polling,id:0
|
#: code:addons/base_report_to_printer/static/src/js/qwebactionmanager.js:30
|
||||||
|
#, python-format
|
||||||
|
msgid "Error when sending the document to the printer "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#: code:addons/base_report_to_printer/printing.py:140
|
||||||
|
#, python-format
|
||||||
|
msgid "Failed to connect to the CUPS server on %s:%s. Check that the CUPS server is running and that you can reach it from the Odoo server."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#: field:printing.action,id:0
|
||||||
|
#: field:printing.printer,id:0
|
||||||
#: field:printing.printer.update.wizard,id:0
|
#: field:printing.printer.update.wizard,id:0
|
||||||
#: field:printing.report.xml.action,id:0
|
#: field:printing.report.xml.action,id:0
|
||||||
msgid "ID"
|
msgid "ID"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.action,write_uid:0 field:printing.printer,write_uid:0
|
#: field:printing.action,write_uid:0
|
||||||
#: field:printing.printer.polling,write_uid:0
|
#: field:printing.printer,write_uid:0
|
||||||
#: field:printing.printer.update.wizard,write_uid:0
|
#: field:printing.printer.update.wizard,write_uid:0
|
||||||
#: field:printing.report.xml.action,write_uid:0
|
#: field:printing.report.xml.action,write_uid:0
|
||||||
msgid "Last Updated by"
|
msgid "Last Updated by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.action,write_date:0 field:printing.printer,write_date:0
|
#: field:printing.action,write_date:0
|
||||||
#: field:printing.printer.polling,write_date:0
|
#: field:printing.printer,write_date:0
|
||||||
#: field:printing.printer.update.wizard,write_date:0
|
#: field:printing.printer.update.wizard,write_date:0
|
||||||
#: field:printing.report.xml.action,write_date:0
|
#: field:printing.report.xml.action,write_date:0
|
||||||
msgid "Last Updated on"
|
msgid "Last Updated on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
|
||||||
#: field:printing.printer.polling,last_update:0
|
|
||||||
msgid "Last update"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.printer,location:0
|
#: field:printing.printer,location:0
|
||||||
msgid "Location"
|
msgid "Location"
|
||||||
@@ -108,10 +128,17 @@ msgid "Model"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.action,name:0 field:printing.printer,name:0
|
#: field:printing.action,name:0
|
||||||
|
#: field:printing.printer,name:0
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#: code:addons/base_report_to_printer/ir_report.py:114
|
||||||
|
#, python-format
|
||||||
|
msgid "No printer configured to print this report."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: view:res.users:base_report_to_printer.view_printing_users_form
|
#: view:res.users:base_report_to_printer.view_printing_users_form
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
@@ -142,11 +169,6 @@ msgstr ""
|
|||||||
msgid "Printers"
|
msgid "Printers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
|
||||||
#: model:ir.model,name:base_report_to_printer.model_printing_printer_polling
|
|
||||||
msgid "Printers Polling"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: model:ir.ui.menu,name:base_report_to_printer.menu_printing_main
|
#: model:ir.ui.menu,name:base_report_to_printer.menu_printing_main
|
||||||
#: selection:printing.printer,status:0
|
#: selection:printing.printer,status:0
|
||||||
@@ -165,8 +187,12 @@ msgid "Printing action"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/base_report_to_printer/static/src/js/qwebactionmanager.js:26
|
||||||
|
#: code:addons/base_report_to_printer/static/src/js/qwebactionmanager.js:29
|
||||||
#: model:ir.model,name:base_report_to_printer.model_report
|
#: model:ir.model,name:base_report_to_printer.model_report
|
||||||
#: field:printing.report.xml.action,report_id:0
|
#: field:printing.report.xml.action,report_id:0
|
||||||
|
#, python-format
|
||||||
msgid "Report"
|
msgid "Report"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -229,9 +255,7 @@ msgstr ""
|
|||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: view:printing.printer.update.wizard:base_report_to_printer.printer_update_wizard
|
#: view:printing.printer.update.wizard:base_report_to_printer.printer_update_wizard
|
||||||
msgid ""
|
msgid "This process will create all missing printers from the current CUPS server."
|
||||||
"This process will create all the missing printers from the current CUPS "
|
|
||||||
"server."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
@@ -239,6 +263,11 @@ msgstr ""
|
|||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#: field:printing.printer,uri:0
|
||||||
|
msgid "URI"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: selection:printing.printer,status:0
|
#: selection:printing.printer,status:0
|
||||||
msgid "Unavailable"
|
msgid "Unavailable"
|
||||||
@@ -256,11 +285,6 @@ msgstr ""
|
|||||||
msgid "Update Printers from CUPS"
|
msgid "Update Printers from CUPS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
|
||||||
#: field:printing.printer,uri:0
|
|
||||||
msgid "URI"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.report.xml.action,user_id:0
|
#: field:printing.report.xml.action,user_id:0
|
||||||
msgid "User"
|
msgid "User"
|
||||||
@@ -270,3 +294,9 @@ msgstr ""
|
|||||||
#: model:ir.model,name:base_report_to_printer.model_res_users
|
#: model:ir.model,name:base_report_to_printer.model_res_users
|
||||||
msgid "Users"
|
msgid "Users"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#: view:printing.printer.update.wizard:base_report_to_printer.printer_update_wizard
|
||||||
|
msgid "or"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: OpenERP Server 7.0\n"
|
"Project-Id-Version: OpenERP Server 7.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2013-11-05 14:48+0000\n"
|
"POT-Creation-Date: 2015-01-21 14:44+0000\n"
|
||||||
"PO-Revision-Date: 2014-02-25 15:06+0000\n"
|
"PO-Revision-Date: 2014-02-25 15:06+0000\n"
|
||||||
"Last-Translator: Guewen Baconnier @ Camptocamp <Unknown>\n"
|
"Last-Translator: Guewen Baconnier @ Camptocamp <Unknown>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
@@ -38,9 +38,14 @@ msgstr "Disponible"
|
|||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annuler"
|
msgstr "Annuler"
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#: code:addons/base_report_to_printer/wizard/update_printers.py:50
|
||||||
|
#, python-format
|
||||||
|
msgid "Could not get the list of printers from the CUPS server (%s:%s)"
|
||||||
|
msgstr "Impossible d'obtenir la liste des imprimantes depuis le serveur CUPS (%s:%s)"
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.action,create_uid:0 field:printing.printer,create_uid:0
|
#: field:printing.action,create_uid:0 field:printing.printer,create_uid:0
|
||||||
#: field:printing.printer.polling,create_uid:0
|
|
||||||
#: field:printing.printer.update.wizard,create_uid:0
|
#: field:printing.printer.update.wizard,create_uid:0
|
||||||
#: field:printing.report.xml.action,create_uid:0
|
#: field:printing.report.xml.action,create_uid:0
|
||||||
msgid "Created by"
|
msgid "Created by"
|
||||||
@@ -48,7 +53,6 @@ msgstr ""
|
|||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.action,create_date:0 field:printing.printer,create_date:0
|
#: field:printing.action,create_date:0 field:printing.printer,create_date:0
|
||||||
#: field:printing.printer.polling,create_date:0
|
|
||||||
#: field:printing.printer.update.wizard,create_date:0
|
#: field:printing.printer.update.wizard,create_date:0
|
||||||
#: field:printing.report.xml.action,create_date:0
|
#: field:printing.report.xml.action,create_date:0
|
||||||
msgid "Created on"
|
msgid "Created on"
|
||||||
@@ -64,14 +68,36 @@ msgstr "Par défaut"
|
|||||||
msgid "Default Printer"
|
msgid "Default Printer"
|
||||||
msgstr "Imprimante par défaut"
|
msgstr "Imprimante par défaut"
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/base_report_to_printer/static/src/js/qwebactionmanager.js:27
|
||||||
|
#, python-format
|
||||||
|
msgid "Document sent to the printer "
|
||||||
|
msgstr "Document envoyé à l'imprimante "
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: selection:printing.printer,status:0
|
#: selection:printing.printer,status:0
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Erreur"
|
msgstr "Erreur"
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/base_report_to_printer/static/src/js/qwebactionmanager.js:30
|
||||||
|
#, python-format
|
||||||
|
msgid "Error when sending the document to the printer "
|
||||||
|
msgstr "Erreur lors de l'envoi du document à l'imprimante "
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#: code:addons/base_report_to_printer/printing.py:140
|
||||||
|
#, python-format
|
||||||
|
msgid ""
|
||||||
|
"Failed to connect to the CUPS server on %s:%s. Check that the CUPS server is "
|
||||||
|
"running and that you can reach it from the Odoo server."
|
||||||
|
msgstr "La connexion au serveur CUPS %s:%s a échoué. Veuillez contrôler que le "
|
||||||
|
"serveur soit démarré et qu'il soit atteignable depuis le serveur Odoo. "
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.action,id:0 field:printing.printer,id:0
|
#: field:printing.action,id:0 field:printing.printer,id:0
|
||||||
#: field:printing.printer.polling,id:0
|
|
||||||
#: field:printing.printer.update.wizard,id:0
|
#: field:printing.printer.update.wizard,id:0
|
||||||
#: field:printing.report.xml.action,id:0
|
#: field:printing.report.xml.action,id:0
|
||||||
msgid "ID"
|
msgid "ID"
|
||||||
@@ -79,7 +105,6 @@ msgstr ""
|
|||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.action,write_uid:0 field:printing.printer,write_uid:0
|
#: field:printing.action,write_uid:0 field:printing.printer,write_uid:0
|
||||||
#: field:printing.printer.polling,write_uid:0
|
|
||||||
#: field:printing.printer.update.wizard,write_uid:0
|
#: field:printing.printer.update.wizard,write_uid:0
|
||||||
#: field:printing.report.xml.action,write_uid:0
|
#: field:printing.report.xml.action,write_uid:0
|
||||||
msgid "Last Updated by"
|
msgid "Last Updated by"
|
||||||
@@ -87,17 +112,11 @@ msgstr ""
|
|||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.action,write_date:0 field:printing.printer,write_date:0
|
#: field:printing.action,write_date:0 field:printing.printer,write_date:0
|
||||||
#: field:printing.printer.polling,write_date:0
|
|
||||||
#: field:printing.printer.update.wizard,write_date:0
|
#: field:printing.printer.update.wizard,write_date:0
|
||||||
#: field:printing.report.xml.action,write_date:0
|
#: field:printing.report.xml.action,write_date:0
|
||||||
msgid "Last Updated on"
|
msgid "Last Updated on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
|
||||||
#: field:printing.printer.polling,last_update:0
|
|
||||||
msgid "Last update"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.printer,location:0
|
#: field:printing.printer,location:0
|
||||||
msgid "Location"
|
msgid "Location"
|
||||||
@@ -113,6 +132,12 @@ msgstr "Modèle"
|
|||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nom"
|
msgstr "Nom"
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#: code:addons/base_report_to_printer/ir_report.py:114
|
||||||
|
#, python-format
|
||||||
|
msgid "No printer configured to print this report."
|
||||||
|
msgstr "Pas d'imprimante configurée pour imprimer ce rapport."
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: view:res.users:base_report_to_printer.view_printing_users_form
|
#: view:res.users:base_report_to_printer.view_printing_users_form
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
@@ -143,11 +168,6 @@ msgstr "Imprimante"
|
|||||||
msgid "Printers"
|
msgid "Printers"
|
||||||
msgstr "Imprimantes"
|
msgstr "Imprimantes"
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
|
||||||
#: model:ir.model,name:base_report_to_printer.model_printing_printer_polling
|
|
||||||
msgid "Printers Polling"
|
|
||||||
msgstr "Recherche d'imprimantes"
|
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: model:ir.ui.menu,name:base_report_to_printer.menu_printing_main
|
#: model:ir.ui.menu,name:base_report_to_printer.menu_printing_main
|
||||||
#: selection:printing.printer,status:0
|
#: selection:printing.printer,status:0
|
||||||
@@ -166,8 +186,12 @@ msgid "Printing action"
|
|||||||
msgstr "Action d'impression"
|
msgstr "Action d'impression"
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
|
#. openerp-web
|
||||||
|
#: code:addons/base_report_to_printer/static/src/js/qwebactionmanager.js:26
|
||||||
|
#: code:addons/base_report_to_printer/static/src/js/qwebactionmanager.js:29
|
||||||
#: model:ir.model,name:base_report_to_printer.model_report
|
#: model:ir.model,name:base_report_to_printer.model_report
|
||||||
#: field:printing.report.xml.action,report_id:0
|
#: field:printing.report.xml.action,report_id:0
|
||||||
|
#, python-format
|
||||||
msgid "Report"
|
msgid "Report"
|
||||||
msgstr "Rapport"
|
msgstr "Rapport"
|
||||||
|
|
||||||
@@ -232,8 +256,7 @@ msgstr ""
|
|||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: view:printing.printer.update.wizard:base_report_to_printer.printer_update_wizard
|
#: view:printing.printer.update.wizard:base_report_to_printer.printer_update_wizard
|
||||||
msgid ""
|
msgid ""
|
||||||
"This process will create all the missing printers from the current CUPS "
|
"This process will create all missing printers from the current CUPS server."
|
||||||
"server."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Cette opération va créer les imprimantes manquantes à partir du serveur CUPS "
|
"Cette opération va créer les imprimantes manquantes à partir du serveur CUPS "
|
||||||
"courant."
|
"courant."
|
||||||
@@ -243,6 +266,11 @@ msgstr ""
|
|||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Type"
|
msgstr "Type"
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#: field:printing.printer,uri:0
|
||||||
|
msgid "URI"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: selection:printing.printer,status:0
|
#: selection:printing.printer,status:0
|
||||||
msgid "Unavailable"
|
msgid "Unavailable"
|
||||||
@@ -260,11 +288,6 @@ msgstr "Inconnu"
|
|||||||
msgid "Update Printers from CUPS"
|
msgid "Update Printers from CUPS"
|
||||||
msgstr "Mettre à jour les imprimantes depuis CUPS"
|
msgstr "Mettre à jour les imprimantes depuis CUPS"
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
|
||||||
#: field:printing.printer,uri:0
|
|
||||||
msgid "URI"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: base_report_to_printer
|
#. module: base_report_to_printer
|
||||||
#: field:printing.report.xml.action,user_id:0
|
#: field:printing.report.xml.action,user_id:0
|
||||||
msgid "User"
|
msgid "User"
|
||||||
@@ -274,3 +297,8 @@ msgstr "Utilisateur"
|
|||||||
#: model:ir.model,name:base_report_to_printer.model_res_users
|
#: model:ir.model,name:base_report_to_printer.model_res_users
|
||||||
msgid "Users"
|
msgid "Users"
|
||||||
msgstr "Utilisateurs"
|
msgstr "Utilisateurs"
|
||||||
|
|
||||||
|
#. module: base_report_to_printer
|
||||||
|
#: view:printing.printer.update.wizard:base_report_to_printer.printer_update_wizard
|
||||||
|
msgid "or"
|
||||||
|
msgstr "ou"
|
||||||
|
|||||||
@@ -52,6 +52,23 @@ class ReportXml(models.Model):
|
|||||||
'user basis'
|
'user basis'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@api.model
|
||||||
|
def print_action_for_report_name(self, report_name):
|
||||||
|
""" Returns if the action is a direct print or pdf
|
||||||
|
|
||||||
|
Called from js
|
||||||
|
"""
|
||||||
|
report_obj = self.env['report']
|
||||||
|
report = report_obj._get_report_from_name(report_name)
|
||||||
|
if not report:
|
||||||
|
return {}
|
||||||
|
result = report.behaviour()[report.id]
|
||||||
|
serializable_result = {
|
||||||
|
'action': result['action'],
|
||||||
|
'printer_name': result['printer'].name,
|
||||||
|
}
|
||||||
|
return serializable_result
|
||||||
|
|
||||||
@api.multi
|
@api.multi
|
||||||
def behaviour(self):
|
def behaviour(self):
|
||||||
result = {}
|
result = {}
|
||||||
|
|||||||
@@ -19,21 +19,40 @@
|
|||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
from openerp import models
|
from openerp import models, exceptions, _
|
||||||
|
|
||||||
|
|
||||||
class Report(models.Model):
|
class Report(models.Model):
|
||||||
_inherit = 'report'
|
_inherit = 'report'
|
||||||
|
|
||||||
def get_pdf(self, cr, uid, ids, report_name, html=None,
|
def print_document(self, cr, uid, ids, report_name, html=None,
|
||||||
data=None, context=None):
|
data=None, context=None):
|
||||||
result = super(Report, self).get_pdf(cr, uid, ids, report_name,
|
""" Print a document, do not return the document file """
|
||||||
|
document = super(Report, self).get_pdf(cr, uid, ids, report_name,
|
||||||
html=html, data=data,
|
html=html, data=data,
|
||||||
context=context)
|
context=context)
|
||||||
report = self._get_report_from_name(cr, uid, report_name)
|
report = self._get_report_from_name(cr, uid, report_name)
|
||||||
data = report.behaviour()[report.id]
|
behaviour = report.behaviour()[report.id]
|
||||||
action = data['action']
|
printer = behaviour['printer']
|
||||||
printer = data['printer']
|
if not printer:
|
||||||
if action != 'client' and result:
|
raise exceptions.Warning(
|
||||||
printer.print_document(report, result, report.report_type)
|
_('No printer configured to print this report.')
|
||||||
return result
|
)
|
||||||
|
return printer.print_document(report, document, report.report_type)
|
||||||
|
|
||||||
|
def get_pdf(self, cr, uid, ids, report_name, html=None,
|
||||||
|
data=None, context=None):
|
||||||
|
""" Generate a PDF and returns it.
|
||||||
|
|
||||||
|
If the action configured on the report is server, it prints the
|
||||||
|
generated document as well.
|
||||||
|
"""
|
||||||
|
document = super(Report, self).get_pdf(cr, uid, ids, report_name,
|
||||||
|
html=html, data=data,
|
||||||
|
context=context)
|
||||||
|
report = self._get_report_from_name(cr, uid, report_name)
|
||||||
|
behaviour = report.behaviour()[report.id]
|
||||||
|
printer = behaviour['printer']
|
||||||
|
if behaviour['action'] == 'server' and printer and document:
|
||||||
|
printer.print_document(report, document, report.report_type)
|
||||||
|
return document
|
||||||
|
|||||||
43
base_report_to_printer/static/src/js/qwebactionmanager.js
Normal file
43
base_report_to_printer/static/src/js/qwebactionmanager.js
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
openerp.base_report_to_printer = function(instance) {
|
||||||
|
|
||||||
|
instance.web.ActionManager.include({
|
||||||
|
ir_actions_report_xml: function(action, options) {
|
||||||
|
instance.web.blockUI();
|
||||||
|
action = _.clone(action);
|
||||||
|
var _t = instance.web._t;
|
||||||
|
var self = this;
|
||||||
|
var _super = this._super;
|
||||||
|
|
||||||
|
if ('report_type' in action && action.report_type === 'qweb-pdf') {
|
||||||
|
new instance.web.Model('ir.actions.report.xml')
|
||||||
|
.call('print_action_for_report_name', [action.report_name])
|
||||||
|
.then(function(print_action){
|
||||||
|
if (print_action && print_action['action'] === 'server') {
|
||||||
|
instance.web.unblockUI();
|
||||||
|
new instance.web.Model('report')
|
||||||
|
.call('print_document',
|
||||||
|
[action.context.active_ids,
|
||||||
|
action.report_name,
|
||||||
|
],
|
||||||
|
{data: action.data || {},
|
||||||
|
context: action.context || {},
|
||||||
|
})
|
||||||
|
.then(function(result){
|
||||||
|
self.do_notify(_t('Report'),
|
||||||
|
_t('Document sent to the printer ') + print_action.printer_name);
|
||||||
|
}).fail(function() {
|
||||||
|
self.do_notify(_t('Report'),
|
||||||
|
_t('Error when sending the document to the printer ') + print_action.printer_name);
|
||||||
|
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
return _super.apply(self, [action, options]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
return _super.apply(self, [action, options]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
Reference in New Issue
Block a user