Commit Graph

51 Commits

Author SHA1 Message Date
Graeme Gellatly
a06dc38f53 [FIX] Runbot error, try new cron code, plus @yajo review cleanup 2019-05-12 20:52:38 +12:00
Graeme Gellatly
bd5073456b [PORT] Finalize move of printer_tray to base_report_to_printer,
fix tests as report param is not a string but recordset
2019-05-12 20:52:38 +12:00
Graeme Gellatly
8220b750b5 [FIX] Set back old tray behaviour to take user or report default if tray not set on action - update tests for printer tray to new determinant location 2019-05-12 20:52:38 +12:00
Graeme Gellatly
a051a146d7 [To FIX] Hackish fix to test, needs to be done properly as behaviour is now part of the call to report. 2019-05-12 20:52:38 +12:00
Graeme Gellatly
64c5800d11 [FIX] Update tests to new return signature of behaviour 2019-05-12 20:52:38 +12:00
Graeme Gellatly
3424a0900c [REF] Refactor the way print options are defined and sent. 2019-05-12 20:52:38 +12:00
Graeme Gellatly
6198b74ee0 [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
2019-05-12 20:52:38 +12:00
Sylvain GARANCHER
f3bbcea043 [IMP] Allow users to define their default behaviour and printer 2019-05-12 20:52:38 +12:00
Sylvain GARANCHER
96f2ea85fc [MIG] base_report_to_printer: Migrate to v11.0 2019-05-12 20:52:38 +12:00
Graeme Gellatly
3b675a42f5 [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
2019-05-12 20:52:38 +12:00
Sylvain GARANCHER
b6ca499dd5 [FIX] Use an HttpCase test class to avoid locking the registry for HTTP threads loading during tests that need wkhtmltopdf 2019-05-12 20:52:38 +12:00
Sylvain GARANCHER
94883b1fbc [REM] Removed dead code
The two monkey-patched method were not called anymore in any module
(standard or OCA), and are removed from the next version.
2019-05-12 20:52:38 +12:00
OCA Transbot
af9b613cad OCA Transbot updated translations from Transifex 2019-05-12 20:52:38 +12:00
Sylvain GARANCHER
59002c4a24 [FIX] base_report_to_printer: A button method should be @api.multi 2019-05-12 20:52:38 +12:00
BLUTEC™ Solutions
73f80157c5 Update README.rst
Provided steps to installing PyCups
2019-05-12 20:52:38 +12:00
Angel Moya - PESOL
bcb73ee602 [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
2019-05-12 20:52:38 +12:00
Sylvain Garancher
afc9a95219 [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
2019-05-12 20:52:38 +12:00
Pedro M. Baeza
3f899df73f [MIG] Rename manifest files 2019-05-12 20:52:38 +12:00
Pedro M. Baeza
9f7cfa57ca [MIG] Make modules uninstallable 2019-05-12 20:52:38 +12:00
yvaucher
1b2ccd68af Fix placeholder for repo in readme.rst 2019-05-12 20:52:38 +12:00
Dave Lasley
f89fe7fd97 [FIX] base_report_to_printer: Switch error type
* Prefer UserError to Warning
2019-05-12 20:52:38 +12:00
Dave Lasley
0eb3e703d7 [FIX] base_report_to_printer: Remove execute bit 2019-05-12 20:52:38 +12:00
Dave Lasley
b1cf3030af [FIX] base_report_to_printer: Unify logger import 2019-05-12 20:52:38 +12:00
Dave Lasley
59ab0bd119 [FIX] base_report_to_printer: Minor fixes
* Migrate print_document method to v8 api exclusively
* Use api.multi on _can_print_report
* Simplify printing_printer description
* Simplify noupdate declaration
2019-05-12 20:52:38 +12:00
Dave Lasley
217f0460db [IMP] base_report_to_printer: Add test coverage
* Add test coverage
* Minor touch ups in wizard
* Prefer UserError to Warning
2019-05-12 20:52:38 +12:00
Dave Lasley
b41ad5987c [MIG] base_report_to_printer: Upgrade to v9 2019-05-12 20:52:38 +12:00
Roel Adriaans
aae69f9d95 [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.
2019-05-12 20:52:38 +12:00
Yannick Vaucher
25714fdb53 Merge branch '8.0' of https://github.com/intero-chz/report-print-send into 8.0 2019-05-12 20:52:38 +12:00
Alexis de Lattre
175bf9945d Add support for multiple copies 2019-05-12 20:52:38 +12:00
czoellner
6f35255e97 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)
2019-05-12 20:52:38 +12:00
Pedro M. Baeza
32650b8b2d [MIG] Make modules uninstallable 2019-05-12 20:52:38 +12:00
Stéphane Bidoul
34b99e1037 [UPD] prefix versions with 8.0 2019-05-12 20:52:38 +12:00
Yannick Vaucher
97b73e6c33 [PEP8] 2019-05-12 20:52:38 +12:00
vrenaville
4c9bc42e4b [FIX] test if the module is installed before monkey patching 2019-05-12 20:52:38 +12:00
Anthony Muschang
6c33d99707 [FIX] base_report_to_printer: make print_document callable from 8.0 api 2019-05-12 20:52:38 +12:00
Anthony Muschang
1c4b164c25 [FIX] base_report_to_printer: make get_pdf callable from 8.0 api 2019-05-12 20:52:38 +12:00
Nicolas Bessi
77746d162b Improve bloated condition test 2019-05-12 20:52:38 +12:00
Guewen Baconnier
6f860deb9b dict.copy() is more efficient than calling dict 2019-05-12 20:52:38 +12:00
Guewen Baconnier
0697853537 Vague method name, put the predicate method closer to its caller 2019-05-12 20:52:38 +12:00
Guewen Baconnier
ae00e544bd Past tense is confusing 2019-05-12 20:52:38 +12:00
Guewen Baconnier
ac9572734a The alteration of the context has no effect 2019-05-12 20:52:38 +12:00
Nicolas Bessi
47de6877e9 Fix set the skip directive in context
instead of a faulty return
2019-05-12 20:52:38 +12:00
Nicolas Bessi
da0ee351b4 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'
2019-05-12 20:52:38 +12:00
Alexandre Fayolle
2d3cfad726 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.
2019-05-12 20:52:38 +12:00
Guewen Baconnier
c96f82cb40 When get_pdf has no printer, just create the pdf file
And do not print anything, instead of raising an error.
2019-05-12 20:52:38 +12:00
Guewen Baconnier
e027233638 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
2019-05-12 20:52:38 +12:00
Alexis de Lattre
cc57dd484b [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
2019-05-12 20:52:57 +12:00
Guewen Baconnier
799f8974df 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
2019-05-12 20:52:38 +12:00
OCA Git Bot
d1ac5f0265 [ADD] setup.py 2018-10-06 11:39:44 +02:00
OCA git bot
c4a1433151 [MIG] .travis.yml: Upgrade to Postgres 9.6 2018-10-01 09:29:41 +02:00