Commit Graph
196 Commits
Author SHA1 Message Date
Christophe Simonis 2cf91d16a5 [MERGE] forward port of branch saas-6 up to 63e92cb 2015-07-22 16:17:54 +02:00
Yannick Tivisse 09affe7cdf [IMP] Replace translate_doc method by t-lang attribute as this method is deprecated
now that we have a cleaner system to switch translation when calling a qweb template.
      Update the docstring too.

  Replace :
    <t t-foreach="doc_ids" t-as="doc_id">
    <t t-raw="translate_doc(doc_id, doc_model, 'partner_id.lang', account.report_invoice_document')"/>
    </t>
  By :
    <t t-foreach="doc_ids" t-as="doc_id">
    <t t-call="'account.report_invoice_document" t-lang="doc_id.partner_id.lang"/>µ
    </t>

  Impacted modules : acccount, purchase, report_intrastat.
2015-07-17 14:48:41 +02:00
Yannick Tivisse 2b29b3cc2e [FIX] website_quote : Missing report.css as dependency 2015-07-16 16:43:46 +02:00
Yannick Tivisse b7a855952c [FIX] report : grammar error 2015-07-16 16:43:46 +02:00
Christophe Matthieu 9665882fba [IMP] web_editor: adapt css, js and xml to use web_editor 2015-07-10 17:00:12 +02:00
Christophe Matthieu c9492f8904 [IMP] report: adapt report to use web_editor and remove website_report 2015-07-10 17:00:11 +02:00
Jeremy Kersten 2254a970d4 [FIX] report: use hardcoded viewport in wkhtmltopdf to use col-md-* Bootstrap
Without this, wkhtmltopdf, don't use media query from bootstrap and so respect
only col-xs-* class (xs by default because no media query).

Viewport from wkhtmltopdf is not really respected, so 1024x768 or 1920x768 will
not change the real view port, but only use the right media query.
2015-07-10 16:09:32 +02:00
Raphael Collet cd925255b7 [FIX] addons: view extensions are no longer based on attribute string
In view inheritance, selecting an element based on the attribute `string` is
broken, since this attribute may be translated before the inheritance is
applied.  This fixes existing views to avoid such selections.
2015-07-06 16:58:04 +02:00
Josse Colpaert d9371fce85 [IMP] stock: Stock picking report improvement
Only one picking report that shows the operations. Warning message when no operations.
Change title.
2015-07-02 15:02:52 +02:00
Christophe Simonis b16fd16e90 [MERGE] forward port of branch 8.0 up to 7d01029 2015-06-30 15:29:03 +02:00
Max Hellwig 10e4a98b89 [FIX] report: prevent overlapping of tbody rows with header part
Implementation of this reported workaround for wkhtmltopdf:
https://github.com/wkhtmltopdf/wkhtmltopdf/issues/1524
2015-06-29 15:02:15 +02:00
Odoo Translation Bot acc1b525fa [I18N] Update translation terms from Transifex 2015-06-29 08:42:08 +02:00
Odoo Translation Bot 35b2463324 [I18N] Update translation terms from Transifex 2015-06-22 13:21:18 +02:00
Odoo Translation Bot e2c9699cfc [I18N] Update translation terms from Transifex 2015-06-08 14:03:50 +02:00
Olivier Dony 0bd4545348 [LEGAL] Use global LICENSE/COPYRIGHT files, remove boilerplate text
- Preserved explicit 3rd-party copyright notices
- Explicit boilerplate should not be necessary - copyright law applies
  automatically in all countries thanks to Berne Convention + WTO rules,
  and a reference to the applicable license is clear enough.
2015-06-02 03:16:04 +02:00
Martin Trigaux 4528ccf148 [I18N] First sync of translations from Transifex
Translation is that which transforms everything so that nothing changes.
 -- Grass Günter
2015-05-29 21:58:20 +02:00
Olivier Dony 1cea0dc4e9 [I18N] Final sync + cleanup of Launchpad Translations, moving to Transifex
See https://github.com/odoo/odoo/wiki/Translations
2015-05-29 10:55:06 +02:00
Christophe Simonis fe2b5f35a4 [MERGE] forward port of branch saas-6 up to bf1e999 2015-05-28 14:27:38 +02:00
Christophe Simonis 14a7d52307 [MERGE] forward port of branch 8.0 up to 327e471 2015-05-21 14:50:39 +02:00
Denis Ledoux 453b373a68 [FIX] report: datetime already imported, differently
This rev. is related to 439cdb6871.

The module datetime was already available in the reports,
and it was the entire datetime module that was imported,
not just the class.

This rev. is not recompatible with 439cdb6871,
but there is no other choice, since other existing
reports might already expected the datetime module
and not the class

opw-640299
2015-05-20 12:19:29 +02:00
Christophe Simonis 4a0241d6f6 [MERGE] forward port of branch 8.0 up to f722254 2015-05-18 17:35:24 +02:00
Denis Ledoux 439cdb6871 [FIX] report: print time in user timezone
In reports calling the internal headers layout,
e.g. the general ledger,
the print time was displayed in UTC,
while it should be in user tz.

closes #3341
opw-612043
2015-05-18 12:44:36 +02:00
Christophe Simonis 2260496879 [MERGE] forward port of branch 8.0 up to a939a27 2015-05-05 18:48:34 +02:00
qdp-odoo c04065abd8 [IMP] accounting v9. Yeeeeaah 2015-05-05 17:28:04 +02:00
Martin Trigaux cff65f57eb [IMP] report: use unminifed version reset.css
Source from https://code.google.com/p/reset5/
Used same file to be able to merge in stable but should be moved to separate
file in lib folder in master.
Fixes #6376
2015-04-30 15:31:48 +02:00
Olivier Dony 622e00baa5 [I18N] Sync 8.0 translations from Launchpad 2015-04-28 09:45:53 +02:00
Christophe Simonis 9c5a1d8231 [MERGE] forward port of branch 8.0 up to cf4d14c 2015-04-27 17:33:44 +02:00
Denis Ledoux 3c61ee5c68 [FIX] report: random disappearance of headers/footers
This issue is related to the wkhtmltopdf issue
https://github.com/wkhtmltopdf/wkhtmltopdf/issues/2083

It seems there is a race condition in the Javascript file
loading in wkhtmltopdf 0.12.x.

The subst.js file put in the header/footer of reports
was not always loaded when the page was being rendered,
leading to the crash of the onload="subst()" attr in
the body node, leading to the non-rendering
of the header/footer.

Replacing the script file by its content solves
the issue.

Increasing the --javascript-delay of the wkhtmltopdf
executable (e.g. 1000 ms instead of 200 ms,
the default value) seems to solve the problem
as well, but will lead to obvious performance issues.

We therefore choose to put the javascript code inline,
as a workaround,
the time the issue is solved in wkhtmltopdf, at least.

closes #3047,#5548,#6207
opw-633161
2015-04-24 15:55:35 +02:00
Christophe Simonis a9471c43b9 [MERGE] forward port of branch saas-6 up to e941c0f 2015-04-17 15:33:00 +02:00
Jeremy Kersten 67c40a50fa [FIX] assets : clean typo and useless script 2015-04-10 10:55:58 +02:00
Mitesh Savani 55de6cac47 [IMP] report: better default footer for reports
(including TIN, bank accounts, better handling of separators...)
2015-04-01 16:03:38 +02:00
Géry Debongnie 4fdf74fe21 [IMP] web+addons: improvement to module system
The module system needs to know the dependencies of a given module
before executing the function.  This is why the dependencies were
defined once in an array, and then were described one more times in the
call to require.

But a trick can simplify this: the boot function can parse the string
representation of the module and extract the calls to require from it.
It is more work for the processor, but it leads to simpler module
definitions.
2015-03-18 09:23:37 +01:00
Géry Debongnie 5e6171bb6f [REF] various addons: update to the new module system 2015-03-18 09:09:22 +01:00
Christophe Simonis bc2fd0515b [MERGE] forward port of branch 8.0 up to 017f346 2015-03-04 15:16:10 +01:00
Denis Ledoux 19aa7b732b [FIX] report: overflow of long content in reports colums
When having a long, non-breakable, content
within a report column,
e.g. an invoice with a very long, pipe-separated, origin,
the content overflowed on other columns.

Set word-wrap: break-word; prevent this behavior,
and is not considered dangerous regarding the possible
side-effects on the design in the reports layouts.

In fact, we should even consider applying this change
on the webclient itself. A similar issue happens in the form view
when having a field with a long non-breakable content,
e.g. a long, pipe-separated orign in an invoice. Nevertheless,
we should avoid taking risks in stable releases,
and this change in the webclient should therefore be done
carefully in master release.

opw-629352
2015-03-03 12:35:25 +01:00
Christophe Simonis 109dae2efa [MERGE] forward port of branch 8.0 up to d4f41a1 2015-02-26 18:56:26 +01:00
Denis Ledoux 22606c8905 [FIX] report: abstract reports default lang
In ir_ui_view.py, in method render (line 132 atm),
the values passed to the rendering engine is a merge of the context
and the values.

Therefore, if at this place, the language is rightly set in the context,
the report lang will be as well in the values.

In abstract_report.py, the values passed to the render method is the
wrapped report localcontext in which are added some key/values
(docs, doc_ids, doc_model).
By default, the lang in the localcontext is False
See __init__ method of rml_parse class in report_sxw.py.
If setLang method is not called, the lang in the localcontext remains False.

In this rev., we avoid to overwrite the lang from the context by the lang
of the localcontext if this one is False, so the lang of the report is set
with the current context lang.

Forcing the lang of the report to False had as side-effect to prevent the
editing of report using the website editor(e.g. playslip_report)

opw-628720
2015-02-24 17:42:25 +01:00
Christophe Simonis 61483e1a25 [MERGE] forward port of branch 8.0 up to 9333c62 2015-02-19 17:32:31 +01:00
Denis Ledoux 0167acbb52 [FIX] report : translation of report using website editor
In the website editor, the translations are loaded using
the route 'get_view_translations', which returns the translations
of the templates loaded by the website (t-call calls)

The thing is, report templates use the 'translate_doc' method
to actually load the report, translated in the partner language,
and the templates loaded by this method are not seen by the website,
therefore, when calling 'get_view_translations', those report
templates were just ignored, thus their translations are not loaded.

This rev. injects the templates loaded with translate_doc
when rendering the report into the method 'customize_template_get'
(which is used by 'get_view_translations' to retrieve the loaded templates).

The translations of the reports are therefore now loaded corretly when
hitting the "translate" button in the website editor for reports.

Besides, this rev. has as (good) side-effect to add the template,
in the template selection input when editing using the HTML editor.

opw-620713
2015-02-18 16:21:42 +01:00
Olivier Dony 91d4b947f6 [I18N] Update translations from Launchpad 8.0 branches 2015-02-18 11:51:07 +01:00
rsi-odoo 1a2b4f4de7 [IMP] hr_holidays: Convert Leaves Summary xsl report in qweb report 2015-02-04 15:28:50 +01:00
Mohammed Shekha 0399a1a8c2 [FIX] report: downloadable qweb report files are properly named 2015-02-02 15:18:55 +01:00
Olivier Dony 8e03852fd4 [I18N] Update translations from Launchpad 8.0 branches 2015-01-26 16:36:51 +01:00
Christophe Simonis 6f841038f3 [MERGE] forward port of branch 8.0 up to 3735394 2015-01-22 18:47:13 +01:00
Olivier Dony 495ec92251 [I18N] Update translations from Launchpad 8.0 branches 2015-01-21 15:36:54 +01:00
Olivier Dony 39f00b3637 [I18N] Update translation templates with latest terms
Total new terms: 270
Total deleted terms: 82
Total identical terms: 19653
Old total number of terms: 19735
New total number of terms: 19923
2015-01-21 15:31:22 +01:00
Christophe Simonis 18e22be138 [MERGE] forward port of branch 8.0 up to 0aab81c 2015-01-19 17:15:56 +01:00
Goffin Simon 0fd773a486 [IMP] Cleanup and refactoring of exception handling
Unify and refactor exception handling in framework and addons.

The generic `except_osv` is now deprecated, and replaced by more specialized exception subtypes:
 - `UserError` (renamed from Warning, as it conflicts with the built-in `Warning`) raised when a non-technical error occurs during a business operation. It could be a missing information in the data provided by the user, or a misconfiguration.
 - `AccessError`: raised when any operation is denied because the user conducting it does not have the required access rights.
 - `AccessDenied`: raised when an operation that requires authenticated access is attempted via an unauthenticated request.
 - `MissingError`: raised when an operation is attempted on a record that does not exist.
 - `ValidationError`: raised when an operation violates a SQL or Python constraint.
 - All other exceptions are internal errors due to a system problem or bug, and raised untouched to the client-side, which should display a traceback.

All exceptions take a single message argument.

The `test_exceptions` module has been updated to showcase both new and old (deprecated) exceptions.

A great many old `except_osv` had a useless title with "Error!" or "Warning", those have been removed, as this is handled by the client-side widget that displays the messages.

This commit introduces a more consistent policy for logging errors and warnings:
 - All messages that do not require administrator attention should be logged at INFO level or lower. This includes all errors that are notified to the user in a friendly manner, even for access right problems or validation errors during business operations.
 - All messages that indicate a likely misconfiguration or malicious use by the users should be logged at WARNING level, as they typically require administrator attention.
 - All other unhandled internal errors cannot typically be handled by the user and should be logged at ERROR or higher level, as they require immediate administrator attention.
2015-01-16 17:15:18 +01:00
Denis Ledoux b5e62214fa [FIX] report: reload record after report printed 2015-01-16 14:55:17 +01:00
Simon Lejeune 34c15580bf [FIX] tools: find_in_path exceptions shadowing
This commit changes the default behavior of `find_in_path`: it doesn't
shallow the IOError exceptions anymore. It especially allows the asset
bundle mechanism to handle the absence of the binaries used to compile
sass/less to css.

* ir_qweb: fallback the value of `get_command` to allow QWeb to display a message like
  "Could not execute command lessc"
* ir_qweb: use of `find_in_path` to fetch binaries, allowing to look for binaries
  in `bin_path` (Windows releases)
* fixed call of `find_in_path` by `_check_external_dependencies` in
  module.py
* fixed call of `find_in_path` by report.py (it was manually raising an
IOError)
2015-01-13 12:02:55 +01:00