diff --git a/printer_tray/__init__.py b/printer_tray/__init__.py deleted file mode 100644 index db2e915..0000000 --- a/printer_tray/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Yannick Vaucher -# Copyright 2013 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -from . import ir_report -from . import printer_tray -from . import printer -from . import users diff --git a/printer_tray/__openerp__.py b/printer_tray/__openerp__.py deleted file mode 100644 index 0544c8c..0000000 --- a/printer_tray/__openerp__.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Yannick Vaucher -# Copyright 2013 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -{'name': 'Report to printer - Paper tray selection', - 'version': '1.0', - 'category': 'Printer', - 'description': """ -Report to printer - Paper tray selection -======================================== - - **Author:** Camptocamp SA - - *This module extends `Report to printer` module.* - - It detects trays on printer installation plus permits to select - the paper source on which you want to print directly. - - You will find this option on default user config, on default report config - and on specific config per user per report. - - This allows you to dedicate a specific paper source for exemple for prepinted - paper such as payment slip. - """, - 'author': 'Camptocamp', - 'maintainer': 'Camptocamp', - 'website': 'http://www.camptocamp.com/', - 'depends': ['base_report_assembler', - 'base_report_to_printer', - ], - 'data': [ - 'users_view.xml', - 'ir_report_view.xml', - ], - 'test': [], - 'installable': False, - 'auto_install': False, - 'application': True, - } diff --git a/printer_tray/i18n/fr.po b/printer_tray/i18n/fr.po deleted file mode 100644 index 649c87a..0000000 --- a/printer_tray/i18n/fr.po +++ /dev/null @@ -1,63 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * printer_tray -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 7.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-01-31 15:44+0000\n" -"PO-Revision-Date: 2014-01-31 16:48+0100\n" -"Last-Translator: Yannick Vaucher \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: \n" - -#. module: printer_tray -#: model:ir.model,name:printer_tray.model_printing_tray -msgid "Printer Tray" -msgstr "Bac d'impression" - -#. module: printer_tray -#: model:ir.model,name:printer_tray.model_printing_printer -#: field:printing.tray,printer_id:0 -msgid "Printer" -msgstr "Imprimante" - -#. module: printer_tray -#: field:res.users,printer_tray_id:0 -msgid "Default Printer Paper Source" -msgstr "Source de papier par défaut" - -#. module: printer_tray -#: field:printing.tray,name:0 -msgid "Name" -msgstr "Nom" - -#. module: printer_tray -#: field:printing.tray,system_name:0 -msgid "System Name" -msgstr "Nom système" - -#. module: printer_tray -#: field:printing.printer,tray_ids:0 -msgid "Paper Sources" -msgstr "Sources de papier" - -#. module: printer_tray -#: model:ir.model,name:printer_tray.model_res_users -msgid "Users" -msgstr "Utilisateur" - -#. module: printer_tray -#: model:ir.model,name:printer_tray.model_ir_actions_report_xml -msgid "ir.actions.report.xml" -msgstr "" - -#. module: printer_tray -#: field:ir.actions.report.xml,printer_tray_id:0 -msgid "Paper Source" -msgstr "Source de papier" - diff --git a/printer_tray/i18n/printer_tray.po b/printer_tray/i18n/printer_tray.po deleted file mode 100644 index f1cec9e..0000000 --- a/printer_tray/i18n/printer_tray.po +++ /dev/null @@ -1,63 +0,0 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * printer_tray -# -msgid "" -msgstr "" -"Project-Id-Version: OpenERP Server 7.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-01-31 15:44+0000\n" -"PO-Revision-Date: 2014-01-31 16:48+0100\n" -"Last-Translator: Yannick Vaucher \n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: \n" - -#. module: printer_tray -#: model:ir.model,name:printer_tray.model_printing_tray -msgid "Printer Tray" -msgstr "" - -#. module: printer_tray -#: model:ir.model,name:printer_tray.model_printing_printer -#: field:printing.tray,printer_id:0 -msgid "Printer" -msgstr "" - -#. module: printer_tray -#: field:res.users,printer_tray_id:0 -msgid "Default Printer Paper Source" -msgstr "" - -#. module: printer_tray -#: field:printing.tray,name:0 -msgid "Name" -msgstr "" - -#. module: printer_tray -#: field:printing.tray,system_name:0 -msgid "System Name" -msgstr "" - -#. module: printer_tray -#: field:printing.printer,tray_ids:0 -msgid "Paper Sources" -msgstr "" - -#. module: printer_tray -#: model:ir.model,name:printer_tray.model_res_users -msgid "Users" -msgstr "" - -#. module: printer_tray -#: model:ir.model,name:printer_tray.model_ir_actions_report_xml -msgid "ir.actions.report.xml" -msgstr "" - -#. module: printer_tray -#: field:ir.actions.report.xml,printer_tray_id:0 -msgid "Paper Source" -msgstr "" - diff --git a/printer_tray/ir_report.py b/printer_tray/ir_report.py deleted file mode 100644 index 4230d57..0000000 --- a/printer_tray/ir_report.py +++ /dev/null @@ -1,63 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Yannick Vaucher -# Copyright 2013 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -from openerp.osv import orm, fields - - -class ReportXML(orm.Model): - - _inherit = 'ir.actions.report.xml' - - _columns = { - 'printer_tray_id': fields.many2one( - 'printing.tray', 'Paper Source', - domain="[('printer_id', '=', printing_printer_id)]"), - } - - def set_print_options(self, cr, uid, report_id, format, context=None): - """ - Hook to define Tray - """ - printing_act_obj = self.pool.get('printing.report.xml.action') - options = super(ReportXML, self).set_print_options(cr, uid, report_id, format, context=context) - - # Retrieve user default values - user = self.pool.get('res.users').browse(cr, uid, context) - tray = user.printer_tray_id - report = self.browse(cr, uid, report_id, context=context) - - # Retrieve report default values - if report.printer_tray_id: - tray = report.printer_tray_id - - # Retrieve report-user specific values - act_ids = printing_act_obj.search( - cr, uid, - [('report_id', '=', report.id), - ('user_id', '=', uid), - ('action', '!=', 'user_default')], context=context) - if act_ids: - user_action = printing_act_obj.browse(cr, uid, act_ids[0], context=context) - if user_action.tray_id: - tray = user_action.tray_id - - if tray: - options['InputSlot'] = str(tray.system_name) - return options diff --git a/printer_tray/ir_report_view.xml b/printer_tray/ir_report_view.xml deleted file mode 100644 index 4a912e2..0000000 --- a/printer_tray/ir_report_view.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - ir.actions.report.xml.add.printer.tray - ir.actions.report.xml - - - - - - - - - - diff --git a/printer_tray/printer.py b/printer_tray/printer.py deleted file mode 100644 index 9c18f64..0000000 --- a/printer_tray/printer.py +++ /dev/null @@ -1,99 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Yannick Vaucher -# Copyright 2013 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -import cups -from cups import PPD - -from openerp import pooler -from openerp.osv import orm, fields - - -class Printer(orm.Model): - - _inherit = 'printing.printer' - - _columns = { - 'tray_ids': fields.one2many('printing.tray', 'printer_id', 'Paper Sources'), - } - - def _update_tray_option(self, db_name, uid, printer, context=None): - """ - Create missing tray for a printer - """ - db, pool = pooler.get_db_and_pool(db_name) - cr = db.cursor() - tray_obj = pool.get('printing.tray') - # get printers options from a PPD file - try: - connection = cups.Connection() - ppd_file_path = connection.getPPD3(printer.system_name) - except: - return - if not ppd_file_path[2]: - return - ppd = PPD(ppd_file_path[2]) - option = ppd.findOption('InputSlot') - if not option: - return - try: - for tray_opt in option.choices: - if tray_opt['choice'] not in [t.system_name for t in printer.tray_ids]: - tray_vals = { - 'name': tray_opt['text'], - 'system_name': tray_opt['choice'], - 'printer_id': printer.id, - } - - tray_obj.create(cr, uid, tray_vals, context=context) - cr.commit() - except: - cr.rollback() - raise - finally: - cr.close() - return True - - def update_printers_status(self, db_name, uid, context=None): - """ - Add creation of tray if no tray are defined - """ - db, pool = pooler.get_db_and_pool(db_name) - cr = db.cursor() - res = super(Printer, self).update_printers_status(db_name, uid, context=context) - try: - connection = cups.Connection() - printers = connection.getPrinters() - server_error = False - except: - server_error = True - - printer_ids = self.search(cr, uid, [('system_name', 'in', printers.keys())], context=context) - if server_error: - vals = {'status': 'server_error'} - self.write(cr, uid, printer_ids, vals, context=context) - return res - - printer_list = self.browse(cr, uid, printer_ids, context=context) - - for printer in printer_list: - # XXX we consider config of printer won't change - if not printer.tray_ids: - self._update_tray_option(db_name, uid, printer, context=context) - return res diff --git a/printer_tray/printer_tray.py b/printer_tray/printer_tray.py deleted file mode 100644 index 90a90ab..0000000 --- a/printer_tray/printer_tray.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Yannick Vaucher -# Copyright 2013 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -from openerp.osv import orm, fields - - -class PrinterTray(orm.Model): - - _name = 'printing.tray' - _description = 'Printer Tray' - - _columns = { - 'name': fields.char('Name', size=64, required=True), - 'system_name': fields.char('System Name', size=64, required=True), - 'printer_id': fields.many2one('printing.printer', 'Printer', required=True), - } diff --git a/printer_tray/report_xml_action.py b/printer_tray/report_xml_action.py deleted file mode 100644 index 603e21b..0000000 --- a/printer_tray/report_xml_action.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Yannick Vaucher -# Copyright 2013 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - -from openerp.osv import orm, fields - - -class ReportXMLAction(orm.Model): - _inherit = 'printing.report.xml.action' - - _columns = { - 'printer_tray_id': fields.many2one( - 'printing.tray', 'Paper Source', - domain="[('printer_id', '=', printer_id)]"), - } - - def behaviour(self, cr, uid, act_id, context=None): - res = super(ReportXMLAction, self).behaviour(cr, uid, act_id, context=context) - action = self.browse(cr, uid, act_id, context=context) - res['tray'] = action.printer_tray_id.system_name - return res diff --git a/printer_tray/security/ir.model.access.csv b/printer_tray/security/ir.model.access.csv deleted file mode 100644 index 90e6ac2..0000000 --- a/printer_tray/security/ir.model.access.csv +++ /dev/null @@ -1,3 +0,0 @@ -"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" -access_printing_tray_all,printing_tray all,model_printing_tray,,1,0,0,0 -access_printing_tray_operator,printing_tray operator,model_printing_tray,base_report_to_printer.res_groups_printingprintoperator0,1,1,1,1 diff --git a/printer_tray/users.py b/printer_tray/users.py deleted file mode 100644 index 7f46f76..0000000 --- a/printer_tray/users.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# Author: Yannick Vaucher -# Copyright 2013 Camptocamp SA -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## -from openerp.osv import orm, fields - - -class ResUsers(orm.Model): - - _inherit = "res.users" - - _columns = { - 'printer_tray_id': fields.many2one( - 'printing.tray', 'Default Printer Paper Source', - domain="[('printer_id', '=', printing_printer_id)]"), - } diff --git a/printer_tray/users_view.xml b/printer_tray/users_view.xml deleted file mode 100644 index ba3bbbb..0000000 --- a/printer_tray/users_view.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - res.users.form.add.printer.tray - res.users - - - - - - - - - -