Commit Graph

51 Commits

Author SHA1 Message Date
Lois Rilo
f00a4677ad [FIX] base_report_to_printer: error printing in external network.
Error code: 1030, 'The printer or class does not exist.')".
An explicit call to `setServer` and `setPort` fixed the issue.
(see https://github.com/OpenPrinting/pycups/issues/30)

Also, added serve_id to printer views
2024-10-28 16:34:28 +07:00
Alexandre Fayolle
2aa2979416 [IMP] 14.0 base_report_to_printer: improve job title
instead of sending a temporary random file name as the title of the job,
use the report file name. Since this is not displayed by default by
cups, document how to configure the CUPS server so that the information
can be displayed.

Clean up the temporary file after printing to avoid cluttering the
server in the long run.
2024-10-28 16:34:28 +07:00
Guewen Baconnier
bb755aa9f9 [IMP] base_report_to_printer: Avoid writing on printing printers/jobs if no change
The cron (by default) every minute, updates the printing.printer and
printing.job records from the cups server. The field values rarely
change, so we can prevent many updates in database.

Also, writing on `printing_printer.server_id` triggers another update
on the printing.job records as the model has a stored related field.
2024-10-28 16:34:28 +07:00
OCA-git-bot
70d3a77835 [UPD] README.rst 2024-10-28 16:34:28 +07:00
oca-travis
8d97538f9a [UPD] Update base_report_to_printer.pot 2024-10-28 16:34:28 +07:00
Carlos Roca
33b81561f9 [FIX] base_report_to_printer: Fixed tests 2024-10-28 16:34:28 +07:00
Alexis de Lattre
b8b6f60322 [MIG] base_report_to_printer: Migration to v14 2024-10-28 16:34:28 +07:00
Carlos Roca
fdcb2ae235 [IMP] base_report_to_printer: black, isort, prettier 2024-10-28 16:34:28 +07:00
Jaime Arroyo
0700b15211 [IMP] base_report_to_printer: archive printers 2024-10-28 16:34:28 +07:00
Ignacio Buioli
21e97c0da0 Translated using Weblate (Spanish (Argentina))
Currently translated at 100.0% (141 of 141 strings)

Translation: report-print-send-13.0/report-print-send-13.0-base_report_to_printer
Translate-URL: https://translation.odoo-community.org/projects/report-print-send-13-0/report-print-send-13-0-base_report_to_printer/es_AR/
2024-10-28 16:34:28 +07:00
Ignacio Buioli
7bab9902bf Added translation using Weblate (Spanish (Argentina)) 2024-10-28 16:34:28 +07:00
Florian Pose
c6df932c5d Added job state 'cups-filter-crashed'.
Missing state caused periodic backtraces in the logs.
2024-10-28 16:34:28 +07:00
Rod Schouteden
76b926068e Update base_report_to_printer/__manifest__.py
[13.0] [MIG] set correct website in manifest

Co-Authored-By: Raf Ven <raf.ven@dynapps.be>
2024-10-28 16:34:28 +07:00
Pedro M. Baeza
32a6d7c8e7 [FIX] .travis.yml: Update definition 2024-10-28 16:34:28 +07:00
Rod Schouteden
987deeb161 [MIG] base_report_to_printer: Migration to 13.0 2024-10-28 16:34:28 +07:00
Graeme Gellatly
12c5421f31 [WIP] Migrate base_report_to_printer to V12 2024-10-28 16:34:28 +07:00
Enric Tobella
a64e5a44a3 Translated using Weblate (Spanish)
Currently translated at 99.3% (139 of 140 strings)

Translation: report-print-send-11.0/report-print-send-11.0-base_report_to_printer
Translate-URL: https://translation.odoo-community.org/projects/report-print-send-11-0/report-print-send-11-0-base_report_to_printer/es/
2024-10-28 16:34:28 +07:00
Maxime Chambreuil
da0fd74392 [FIX] Group inheritance 2024-10-28 16:34:28 +07:00
Oscar Ulises Garza Cordova
127c54a360 [FIX][base_report_to_printer] - behaviour to print the report succesfully. 2024-10-28 16:34:28 +07:00
Enric Tobella
bbc99a7d14 [FIX] missing super declaration 2024-10-28 16:34:28 +07:00
Bhavesh Odedra
16371a4ad2 [FIX] Permission issue 2024-10-28 16:34:28 +07:00
Sylvain GARANCHER
d0f340c592 [FIX] Allow to generate printing options without a report 2024-10-28 16:34:28 +07:00
Yannick Vaucher
a656f1dbef Bump base_report_to_printer version to 11.0.2.1.0 2024-10-28 16:34:28 +07:00
Jairo Llopis
c7a3ec53ee [FIX] base_report_to_printer: Stateless tests (#123)
If the test was run in a database with the `account` module installed, they were failing for 2 reasons:

- It was searching for the first report it could find, with the first 5 records to report. This made it load the `account.report_agedpartnerbalance` report, which caused a fake `TypeError: 'NoneType' object has no attribute '__getitem__'` error.
- It was running tests without loading the full module graph, thus not getting the default value for the new required `invoice_warn` field.

Now tests are run in `post_install` mode to load full module graph, and they use stateless data.
2024-10-28 16:34:28 +07:00
Florent de Labarre
fa3e714b13 FIX view 2024-10-28 16:34:28 +07:00
Graeme Gellatly
98feb8aac2 [WIP] Commit before rebase on latest #109 for user and view updates
Migration of printer_tray to v11 and integration with base_report_to_printer
2024-10-28 16:34:28 +07:00
Sylvain GARANCHER
6380ffbb37 [MIG] base_report_to_printer: Migrate to v11.0 2024-10-28 16:34:28 +07:00
Graeme Gellatly
fccad1e2ab [FIX] Minor bugfixes
Printer Tray isn't an app
Base Report To printer ir.actions.report.xml view xpath error and missing page name
Put to before security as security tab doesn't do much and if this module is installed it should be the hero page
2024-10-28 16:34:28 +07:00
Sylvain GARANCHER
fbca73e1f6 [FIX] base_report_to_printer: A button method should be @api.multi 2024-10-28 16:34:28 +07:00
BLUTEC™ Solutions
49997315f8 Update README.rst
Provided steps to installing PyCups
2024-10-28 16:34:28 +07:00
Angel Moya - PESOL
b2a7527b82 [10] FIX format parameter (#84)
* FIX format parameter

To be able to print files in raw format it's needed to set this parameter.

Previous code was not able to print raw files, but it didn't get error because 'format' used on line 107 is assumed as a format funtion, because format parameter was not on this scope.

* FIX pep8
2024-10-28 16:34:28 +07:00
Pedro M. Baeza
ae358a2e11 [MIG] Rename manifest files 2024-10-28 16:34:28 +07:00
Sylvain Garancher
cbdf1b13a7 [10.0][MIG] base_report_to_printer (#68)
* Set api.multi for action called as `object` on view

* Merge syleam printers module into base_report_to_printer (#60)

* [IMP] Updated unit tests

* [FIX] Fixed renamed attributes

* [FIX] Remove deleted fields

* [IMP] Add printing.server and printing.job models

* [IMP] Allow to cancel all jobs, enable, and disable printers

* [IMP] Split the cups part of print_document into a new print_file method

* [IMP] Updated cron job to run the action_update_jobs method

* [ADD] Add a migration script to create a printing server from configuration

* [MIG] Migrate base_report_to_printer to v10.0

Removed deprecated methods on printing.printer (replaced by methods on
        printing.server)

* [IMP] Add wkhtmltopdf in travis configuration file

* [FIX] base_report_to_printer: Fix Update Job Cron
* Fix API issue with Update Job Cron
** Forward Port from 9.0

* [FIX] Fixed the res.users view

The string attribute should not be used as a selector, because it is
translatable.

* [FIX] Fixed the print_document method of report

The new API migration was made to @api.multi because of the "cr, uid,
ids" signature, but "ids" was the ids of the records to print here, not
the report's ids.
Also, the new API version of "get_pdf" get directly the ids of the
records to print in the standard module, not a recordset.

* [FIX] UI is now (un)blocked only when using qweb-pdf reports in standard addons
2024-10-28 16:34:28 +07:00
yvaucher
21b19339ae Fix placeholder for repo in readme.rst 2024-10-28 16:34:28 +07:00
Dave Lasley
49fdb7f19a [MIG] base_report_to_printer: Upgrade to v9 2024-10-28 16:34:28 +07:00
Roel Adriaans
39783eee72 [IMP] Soft fail on missing cups import
cups is an external dependency, if it is not installed Odoo will not start.
OCA guidelines specify guidelines for External dependencies, code is from there.
2024-10-28 16:34:28 +07:00
Alexis de Lattre
14dceb9d0a Add support for multiple copies 2024-10-28 16:34:28 +07:00
czoellner
521a3eb4b0 pass context to printer to use it for example in print_options()
* context was lost while getting report
* now it will be passed using with_context
* could be used for print_options (example: pass copies amount for
productlabals)
2024-10-28 16:34:28 +07:00
Stéphane Bidoul
7a5094c3d8 [UPD] prefix versions with 8.0 2024-10-28 16:34:28 +07:00
Yannick Vaucher
6e68bbaa8f [PEP8] 2024-10-28 16:34:28 +07:00
vrenaville
7aa2392c85 [FIX] test if the module is installed before monkey patching 2024-10-28 16:34:28 +07:00
Anthony Muschang
d5fac51809 [FIX] base_report_to_printer: make get_pdf callable from 8.0 api 2024-10-28 16:34:28 +07:00
Nicolas Bessi
7b5bf5ef78 Improve bloated condition test 2024-10-28 16:34:28 +07:00
Guewen Baconnier
4aa6b4be3c The alteration of the context has no effect 2024-10-28 16:34:28 +07:00
Nicolas Bessi
030e14b5f0 Compatibility fix for report with custom parser
By calling `super.get_pdf` in print_document we can encounter trouble with MRO resolution
that prevent custom report parser (e.g. override of `get_pdf`) to be called.

The fix consist of not calling `super` and prevent multiple call to 'printer.print_document'
2024-10-28 16:34:28 +07:00
Alexandre Fayolle
3d50a33359 Add OCA as author of OCA addons
In order to get visibility on https://www.odoo.com/apps the OCA board has
decided to add the OCA as author of all the addons maintained as part of the
association.
2024-10-28 16:34:28 +07:00
Guewen Baconnier
c2823850c5 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
2024-10-28 16:34:28 +07:00
Alexis de Lattre
b919317472 [FIX] Bug #19 avoid crash when using 'raw' option
[Usability] Auto-add Administrator user to the Print group
Make XML code more readable

base_report_to_printer: add support for remote CUPS server (not just localhost)
More logging and better error handling

Add CUPS_HOST in more debug logs
2024-10-28 16:34:28 +07:00
Guewen Baconnier
acedcfeb85 base_calendar passed away
Migrate ir_report.py to new API

Migrate printing.py to new API

Migrate res_users.py to new API

Migrate report_xml_action.py to new API

Migrate wizard/update_printers.py to new API

Better view for wizard

Recursion when calling a method with old-style api signature from browse

Remove the Lock because it is useless on multiprocess

Replace it by a database lock so the different processes are
all aware of the lock and the last update timestamp.

browse is called often enough to call the update routine (even too much)

Implements the print on the new 'report' model

Restore the print capability on deprecated reports

Update copyrights

Improve form view, add search view for printers

Update translations, add a string to URI so it is uppercased

missing api decorator

We need the report in print_document and print options (needed in
printer_tray)

Move the 'skip_update' right in the browse, it prevents a loop

See https://github.com/odoo/odoo/issues/3644

Also, it helps to have the value set/read in context close to each
other.

Avoid to hits the database too many times to check if the list of
printers needs to be refreshed.

Keep the last update datetime in cache and invalidate this datetime if is
is older than POLL_INTERVAL.  Thus, one process won't hit the DB more
than 1 time every POLL_INTERVAL (10 seconds currently) to check if it
needs to update the list.

Refresh the list of printers every 15 seconds instead of 10

Extract a method so it will be easier to override in printer_tray

Error on installation of the module

Invalidate the cache when the table is created so the table_exists()
method returns a fresh value after creation of the table

Use a cron instead of threads to update printers status

The implementation with threads was blocking the loading of the
server in multiprocess.  Using a cron will lower the frequency of
the updates but at least it is simple and reliable.

Fixes #14

Do not write the printer status if it has not changed

Avoid unnecessary UPDATE every minute

Clean the XML file (remove eval, reindent)

Give access to models to all users for reading

So they are able to print
2024-10-28 16:34:28 +07:00
oca-git-bot
e468f77e0e [IMP] update dotfiles 2024-10-20 16:05:09 +00:00