Commit Graph

24 Commits

Author SHA1 Message Date
OCA-git-bot
3d4011a083 [BOT] post-merge updates 2024-11-14 18:27:55 +00:00
David
8f92ce85b6 [IMP] base_report_to_printer: exceptions notifications
Better handling of exceptions feedback. A notification will show up with
the issued printer and report and a button for the user to download the
report as a fallback to the failure.

TT51628
2024-11-12 09:40:16 +01:00
sergio-teruel
05ac999d11 [IMP] base_report_to_printer: Add printer option to launch reports in new thread 2024-11-12 09:36:23 +01:00
OCA-git-bot
b90f21a5bc [BOT] post-merge updates 2024-11-11 08:57:08 +00:00
OCA-git-bot
60e2e2b293 [BOT] post-merge updates 2024-05-08 08:53:13 +00:00
OCA-git-bot
6db68a83ac [BOT] post-merge updates 2024-01-30 17:07:33 +00:00
OCA-git-bot
d0723af612 [BOT] post-merge updates 2023-12-06 12:01:09 +00:00
OCA-git-bot
ab3d6ef424 [UPD] README.rst 2023-09-03 15:56:18 +00:00
Alexandre Fayolle
0eeb248238 fix(#259): handle case of print attachment wizard
The fix in #259 only worked for reports being printed at generation
of the PDF. This PR handles sending an attachment to a printer through
the Print Attachment wizard.

Also clarify the configuration section of the README.
2022-12-15 16:58:39 +01:00
Akim Juillerat
2d4b14e5b3 [ADD] base_report_to_printer: Print attachments wizard 2022-12-15 16:58:39 +01:00
OCA-git-bot
62ac45ccc0 [UPD] README.rst 2022-12-14 07:56:38 +00:00
OCA-git-bot
f4e1b35fa2 [UPD] README.rst 2022-12-07 09:31:49 +01:00
OCA-git-bot
a05870974f [UPD] README.rst 2022-12-07 09:31:49 +01:00
OCA-git-bot
aa2fb745ee [UPD] README.rst 2022-12-07 09:31:49 +01:00
Rod Schouteden
b260be0550 [MIG] base_report_to_printer: Migration to 13.0 2022-12-07 09:31:48 +01:00
Graeme Gellatly
4cd58f2b26 [WIP] Migrate base_report_to_printer to V12 2022-12-07 09:31:48 +01:00
Jairo Llopis
59e5d797fa [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.
2022-12-07 09:31:48 +01:00
Graeme Gellatly
6b5a56e12d [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
2022-12-07 09:31:48 +01:00
BLUTEC™ Solutions
58e79a7f8a Update README.rst
Provided steps to installing PyCups
2022-12-07 09:31:48 +01:00
Sylvain Garancher
40aaef2555 [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
2022-12-07 09:31:48 +01:00
yvaucher
d857852608 Fix placeholder for repo in readme.rst 2022-12-07 09:31:48 +01:00
Dave Lasley
2150beb731 [MIG] base_report_to_printer: Upgrade to v9 2022-12-07 09:31:48 +01:00
Guewen Baconnier
808b77f5a5 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
2022-12-07 09:31:48 +01:00
Guewen Baconnier
989d8357af 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
2022-12-07 09:31:48 +01:00