Commit Graph
103345 Commits
Author SHA1 Message Date
Mitali Patel 49a0c137e3 [IMP] product: Add UoM type in the list view of the UoM. 2016-03-04 15:26:55 +01:00
Nicolas Lempereur 3e48ee634f [FIX] base: fix ir.actions.todo after module install
When installing or upgrating a module via the apps managing view, the
module updates are applied in a new cursor. So when getting the action
to do after updating the module, we need to have a transaction current
with commited transaction.

closes #11216
opw-660269
2016-03-04 15:20:07 +01:00
Christophe Simonis e46f65ab26 [MERGE] forward port of branch saas-6 up to 62fc257 2016-03-04 15:03:39 +01:00
Dhaval Panchal dc7aca3ca6 [IMP] project: favorite
A favorite system is introduced in project model. It uses a many2many between
users and projects. This allow users to favorite a project and see them by
default in their project dashboard.

The new default fitler when seeing projects is now favorited projects.
2016-03-04 15:00:54 +01:00
Mohammed Shekha 783f246bde [IMP] hr_holidays: user reads only own leaves
In order to avoid all users being able to see leaves from everyone
the record rule is updated so that users see only their own leaves.

Code computing leave on employee record now uses super user to compute
it to ensure the current status of an employee is visible to other
employees.

Dashboard menus is now restricted to group hr_manager.
2016-03-04 14:57:48 +01:00
rmu-odoo c76201cbdd [IMP] payment : environment as toggle button
Environment field on payment.acquirer model now has a shiny stat button on its
form view. It allows to toggle between production and testing mode.

All payment acquirers are by default in testing environment now, to avoid issues.
2016-03-04 14:55:20 +01:00
Christophe Simonis 62fc2571c0 [MERGE] forward port of branch 8.0 up to 40fdb84 2016-03-04 14:33:37 +01:00
Nicolas Martinelli 501e09ba94 [FIX] product: name in formula
When the user selects a pricelist based on a formula, the name in the
formula is the same if "Public Price" or "Cost" is selected.

opw-670563
2016-03-04 12:04:33 +01:00
Nicolas Martinelli 8528651d22 [FIX] product: unnecessary default pricelist
Commit cf62fdb4 introduces a default pricelist item for any new
pricelist. Therefore, this default data is not necessary anymore, and
leads to two identical pricelist items created by default for the
"Public Pricelist".
2016-03-04 12:04:33 +01:00
Denis Ledoux b5c3598eb1 [FIX] membership: membership dialog form in partner form
The dialog form opened when clicking on a membership line,
in the "Membership" tab of the partner form,
was just unbearable.

This revision improves the readability of
this dialog form.

opw-671144
2016-03-04 11:48:26 +01:00
Nicolas Martinelli 0eb3170674 [FIX] sale: mail template
The URL sent to the partner in order to view the quotation is not
usable: the report/pdf route is not public, and therefore a partner
without an account is not allowed to download the PDF report.

The fix is to sent a sign-up URL instead, as it used to be. Note that
the portal functionality should be removed in the near future, and
another fix will have to be found.

opw-667606
2016-03-04 10:39:10 +01:00
qdp-odoo 6d502823ff [IMP] account: added field reference on bank statements, to hold the name of imported file or online synchronization reference 2016-03-04 10:20:54 +01:00
Joren Van Onder 7ec5db206e [FIX] point_of_sale: prevent crashes on older iOS devices
On older iOS devices (like the iPad 2) webkit would crash when clicking
on the closing button. Newer devices like the iPad Air 2 and iPad Mini 3
do not exhibit this behavior. This occurs on iOS 9.2.1 but I expect iOS
in general is affected by this. This affects both Safari and Chrome as
on iOS they both use the same rendering engine.

When the POS closes it searches the xml_id containing the action ID,
which seems to trigger the webkit crash. So instead we will use the
xml_id directly in the URL, that's simpler anyway and it avoids an
unnecessary RPC call. Functionally this means you won't get the 'Your
internet connection is probably down' message anymore, but it's useless
anyway, as after closing the popup the webpage is blocked anyway.

A log of the crash can sometimes be seen in the iOS diagnostics logs
which indicates com.apple.WebKit.WebContent crashing due to
EXC_BAD_ACCESS (SIGSEGV). This log is not always present, but that's not
unusual for out of memory issues on iOS [1]. Presumably the segmentation
fault is caused by iOS forcefully freeing memory being used by the
browser.

iOS manages memory in an unusual way. Plenty of developer reports are
available online which indicate this [2], but no official documentation
from Apple exists that specifies exact memory limit amounts.

[1] http://stackoverflow.com/questions/16400431/ios-app-crashes-with-no-error-and-no-crash-report
[2] http://stackoverflow.com/questions/16319486/ios-ipad-has-1gb-ram-why-is-my-app-killed-after-using-30mb

opw-668268
2016-03-04 09:41:51 +01:00
Olivier Dony 40fdb841ae [FIX] auth_signup: readonly empty login field on signup
Closes #9367
Fixes #11180
2016-03-03 17:52:13 +01:00
Simon Lejeune 14fdabb4bc [REF] tests: inline the full docstring in the logs
meaningless entries like
` Checks that the bundle's cache is working, i.e. that a bundle creates only enough
become
` Checks that the bundle's cache is working, i.e. that a bundle creates only enough ir.attachment records when rendered multiple times

see https://docs.python.org/2/library/unittest.html#unittest.TestCase.shortDescription
2016-03-03 17:45:19 +01:00
Simon Lejeune 9631a30228 [FIX] ir_qweb: don't use a stylesheet cached by another bundle.
An issue could arise if a preprocessed stylesheet asset is present
in multiple bundles: the first bundle will cache a version of this
file (identified by its url) and the second one will cache another
one. The next time the first bundle is rendered in debug mode, it
will use the last created record of the asset.

This could lead to design issues as, for instance, a less asset
could change according to another less asset included in the bundle.

We fix this issue by adding the xmlid of the bundle in the url's
asset. This fix another inconsistency as the compiled version of
an asset is reachable with an url that is not dependent of its
bundle, so if the asset is present in multiple bundle it could
return different values.

Note: this only concern the debug mode
2016-03-03 17:38:20 +01:00
Denis Ledoux 0806506c9c [FIX] sale: sales stats button on product with multiple variants
`default_search_product_id` with several ids simply can't work.

The only way to do it is using a domain in the action.
Anyway, this is unlikely that the user would like
to remove the domain (which is the main interest
of using a filter, the possibility to remove it), as
this will display all sales orders lines, whatever the products,
all mixed up. This is not super-useful.

opw-671022
2016-03-03 17:36:37 +01:00
Raphael Collet a4ea258176 [FIX] fields: company-dependent (property) fields should not be stored or copied 2016-03-03 16:47:05 +01:00
Thibault Delavallée f4481ff74e [IMP] mail: gateway: CIDs
Finally add support of CIDs in incoming emails. Inline images are recognized
and added as attachments. Image links are updated from src=cid: to src=link
using the /web/image controller.

It has been decided to keep the image in atttachments instead of putting them
in base64, like proposed in various PRs. Indeed we prefer to store this data
into the attachments instead of directly putting it in the mail_message table.
Moreover this enable the display of attachments in the chatter and record views.
2016-03-03 15:56:09 +01:00
Géry Debongnie a127a7aed2 [FIX] mail: only update timestamps periodically
the messages in a thread were previously rerendered every minutes to
update their timestamps.  This commit only update the timestamps, not
all the message.  This will allow us to keep expanded/folded state in
messages without collapsing them every minutes.

[IMP] mail: add read more/read less support client side

Messages are cleaned up and tagged server sides, with a attribute
data-o-mail-quote.  This commit replace their content with a clickable
read more link, which toggle its display.
2016-03-03 15:45:05 +01:00
Thibault Delavallée ba74e9ffec [CLEAN] tools, mail: remove html_email_clean
Remove html_email_clean in tools. Remove shorten in mail.
2016-03-03 15:44:57 +01:00
Thibault Delavallée cb8c2d2b7e [IMP] tools: sanitizer: quote detection
Quote detection is now done in the sanitizer itself. It tags nodes that are
inside quotes (signature, text quotes, email quotes). The purpose is to remove
html_email_clean and have all the html cleaning / sanitizing inside a single
function. When a node is tagged, data-o-mail-quote is set on the node.
This attribute is added in the whitelist of valid attributes for the
sanitizer.

[REM] Support of shortening messages. The read more / read less will only
display or hide detected quotes and signatures. Shortening messages above
a given amount of characters is not supported anymore. Indeed it adds much
complexity to the sanitizer without adding much value to the result. The
primary purpose of the sanitizer is indeed to remove noise and unnecessary
content.

[TESTS] a lot of test are not necessary anymore, as read more / read less
display will be moved in the front-end and as the shortening has been
removed.Tests have therefore been cleaned and simplified.

[DEMO] mail: small demo update to include a bit quote detection
2016-03-03 15:44:56 +01:00
Christophe Matthieu bc4561b26b [FIX] web_editor: can't use mako/jija if remove space to prettify html
Addapt html method to prettify the html code and keep mako structures.

opw-668409
2016-03-03 15:41:02 +01:00
Christophe Matthieu 1320ad8cfe [FIX] mail: button_access is undefined in mail template preview
opw-668409
2016-03-03 15:41:02 +01:00
Mansi Trivedi 79bc3f3836 [IMP] project: Calendar view by month on project.task
Purpose:
The field date_deadline is a date field (without hours:minutes:seconds)
The customer is tempted to put the task deadline under hours, which is not
feasible

So in the calendar view for task, set the "month" view by default
instead of the "week" view.
2016-03-03 15:21:24 +01:00
eLBati e0555a66e1 [FIX] account: amount_currency when grouping invoice lines
when using a journal with 'Group Invoice Lines'
and issuing an invoice with foreign currency with more than 1 line
(of the same product, or no product),
the amount currency in the journal item
associated to the merged invoice lines was wrong.

It took into account the `amount_currency` of the first line only,
ignoring the `amount_currency` of the remaining merged lines.

opw-670972
Closes #10375
2016-03-03 15:07:10 +01:00
hip-odoo e91a3346ef [FIX] account: remove unused option in tooltip
'situation' type is no longer present, remove it's contextual help (tool-tip).
Make the tooltip multiline.
2016-03-03 14:49:08 +01:00
Martin Trigaux 7952a57b45 [FIX] l10n_multilang: create translations in master lang
When creating the account translations using the account template translations
read it without the environment language.

Otherwise, when the translation is created, the content of `element.name` (the
source term to translate) might be in a different language and already
translated.

This was introduce during the migration at the new API where previous code did
not propagate the context (probably by accident).
2016-03-03 13:56:06 +01:00
Denis Ledoux 14282f1659 [FIX] report, website_report: barcode widget
Up to this revision, barcodes set in reports are generated
using the controller `/report/barcode`,
using a `img` HTML tag, e.g. (from `report_location_barcode`)
```
<img t-if="not o.loc_barcode"
     t-att-src="'/report/barcode/?type=%s&amp;value=%s&amp;width=%s&amp;height=%s'
     % ('Code128', o.name, 600, 100)" style="width:300px;height:50px"/>
``

This `/report/barcode` route is set as `auth='user'`, meaning
the route can only be accessed by signed in users.

When wkhtmltopdf prints a report containing such a barcode,
it calls this `report/barcode` route, making sure to pass
the request session in the cookies, so wkhtmltopdf
uses the same session than the one of the user. This is
needed, as only users can access this `report/barcode/` route.

This session is passed in `report.py`, in the method
`_run_wkhtmltopdf`, thanks to the --cookie wkhtmltopdf
parameter.

Nevertheless, if a report is printed through the website
front-end, as public (without a signed in user), the request
session is not associated to a signed in user, and therefore
the route `/report/barcode` refuses the access / redirects
to the login, making it impossible to print a report
containing a barcode without being signed in. This even
if the report is printed as `sudo` through a controller
(as this is the session of the not signed in user which is passed,
not a session associated to `sudo).

Fixes #10621
opw-667797
2016-03-03 13:51:44 +01:00
Martin Trigaux 5be9619738 [FIX] l10n_multilang: translate accounts after the installation of a CoA
Before this commit, the only way to translate a chart of account was to install
the language (if present in 'spoken_language' field on the chart of account
configuration) **before** the installation of the chart of account.

This commit loads the translations of the chart of account at the installation
of the language too.

To avoid recreating translations at each update of a language, skip if the
language is already installed.
This means than, to benefit from the fix, already deployed instances should
remove (after de-activating it) the language and reinstall it to translate
existing chart of account.

opw-670327

Closes #11091
2016-03-03 13:50:09 +01:00
Nicolas Martinelli 88e7122020 [FIX] mail: mail_server_id
When a specific SMTP server is set on a mail template, it is never used
when the mail is sent. There are two reasons:
- `mail_server_id` is a read-only field set by an onchange. However, a
  read-only field is not sent to the server, so the information is lost.
- The information is stored in the context of the object `Mail`, but it
  is never used. Moreover, when the method `message_post` is called, the
  `Mail` object is not used to post the message, so the information is
  lost again.

The fix includes two parts:
- the `mail_server_id` field is not read-only anymore. Actually, there
  is no reason to make it read-only.
- the information is stored directly in the mail values and used at the
  appropriate moment.

Fixes #6554 (from v9.0)
opw-669958
2016-03-03 13:24:41 +01:00
Nicolas Martinelli fad4788272 [FIX] web_editor: image size
Make sure to create an image of a size larger than zero. A size of zero
will generate a traceback.
2016-03-03 13:24:40 +01:00
Denis Ledoux db95dcd8bc [FIX] models: translate fields label, even for en_US
In Odoo 7.0 & 8.0, this was possible to translate
a field label, from `en_US` to `en_US`. It was
used as an easy way to change the fields label,
instead of creating an inherited view changing
the string attribute of the field everywhere it was needed.

This was no longer the case in 9.0,
following the revision 9593a29.

The translated terms for `en_US` have been
excluded, for performance reasons
as it was considered not possible to have
translated terms for the `en_US` language.

The fact is, this is very possible: Nothing
prevents to add a translated term
in `en_US` for a translate-able field,
as this is the case for the fields label,
as mentioned above. This field is then
used as the display value instead of the source
term when being in the `en_US` language.

Besides, the above revision was mainly to
give the possibility to sort a model records
on a translated field, using a join on the translations
table. It was then considered that the join could
be avoided, in the case where the user language was `en_US`,
for performance reasons, but, as this is possible
to give another value to the field value trough
the translations, it should actually be done, even
for the records sorting.

opw-670814
2016-03-03 13:21:56 +01:00
Xavier Morel a76b3caa6e [IMP] custom view validators system
Add possibility for modules to add validators, getting closer to
defining views outside of base.
2016-03-03 13:18:01 +01:00
Xavier Morel cfbc1729c4 [IMP] view: inefficient contains check
Checked that the arch tag was a *substring* of "kanban" rather than
literally "kanban"
2016-03-03 13:18:01 +01:00
Nicolas Lempereur 17e79711e4 [FIX] web: save initially grouped editable tree view
Test to bind save and discard buttons of an editable tree view are done
only once when initializing it.

But if the view is by default grouped at the beginning, it will be then
"not editable" but only removing the groupby will change this.

So this commit add a case so if the view is grouped when initialized,
the buttons are always bound.

closes #11198
opw-666794
2016-03-03 13:07:22 +01:00
Philipp Hug 8c635a3a4a [I18N] l10n_ch: German translation
Closes #11192
2016-03-03 11:46:34 +01:00
Denis Ledoux 13f1426bf5 [FIX] report: UPC-A barcodes drawing
It looks like reportlab doesn't handle well
UPC-A barcodes.

As UPC-A barcodes became EAN13 barcodes when
adding a `0` to the beginning of the barcode,
and the render is the same, we ask reportlab
a EAN13 barcode type when a UPC-A barcode is asked,
making sure to add the `0` automatically first.

From Wikipedia:
```
The EAN was developed as a superset of UPC,
adding an extra digit to the beginning of every UPC number.
[...]
the original rules for UPC are treated as a '0'
if read as EAN-13.
A UPC barcode XXXXXXXXXXXX therefore is the EAN-13 barcode 0XXXXXXXXXXXX.
It is possible to prefix a UPC barcode with a 0;
they become EAN-13 rather than UPC-A.
This does not change the check digit.
All point-of-sale systems can now understand both equally.
```
opw-670560
2016-03-03 11:08:36 +01:00
Joren Van Onder 5d07ad5e2f [FIX] point_of_sale: make receipt screen touch scrollable
In the POS we use a touchmove event listener to stop undesired
rubberbanding (in Chrome.disable_rubberbanding()). Elements which should
be scrollable by touch should have the touch-scrollable class. The
receipt screen is obviously one of those, because otherwise you won't be
able to scroll down if you have a long receipt.

opw-670899
2016-03-03 10:02:48 +01:00
Philipp Hug 575e162b6b [CLA] signature for philhug
Closes #11191
2016-03-03 09:44:12 +01:00
qdp-odoo da10eded8c [ADD] l10n_fr_fec: FEC export for the french accounting. Courtesy of Alexis de Lattre (Akretion) 2016-03-03 09:07:17 +01:00
Denis Ledoux 66c1d18579 [FIX] account: Dasbhoard, balance of bank account in foreign currency
When a bank account is set within another currency
than the company currency
(the currency of the journal is set and is different
than the company currency),
the balance displayed was the amount within the company
currency, instead of the amount within the bank account
currency (despite the fact the currency displayed
was the one of the journal).

opw-670815
2016-03-02 17:53:53 +01:00
Joren Van Onder c23eb23267 [FIX] hw_scale: use a larger timeout during initial probe
I'm not sure why the serial timeout is so aggressive, but I assume there
is a reason for it. During probing however, we shouldn't use such an
aggressive timeout because if we miss the device during initial startup
we'll never find it since we only probe devices once.
2016-03-02 16:48:41 +01:00
Thibault Delavallée bfe7aafa7f [IMP] tools: mail: parse style in sanitizer
Style attribute is now parsed and sanitized. Only a while list of accepted
properties is kept. The behavior is implemented directly in the cleaner
itself. As there is no easy possible inheritance, the styling cleaning is
appended directly after the legacy processing in __call__.

The styling sanitizer is called only if the style attribute is kept. If
the sanitizer is called with strip_style=True, the styling is removed
and therefore no sanitizing is performed.

Tests about html fields have been updated. Indeed the styling is now sanitized
and the test was not correct anymore, as the test html was stripped. It now
contains styling that is kept. The strip_classes is also tested.
2016-03-02 16:43:22 +01:00
Thibault Delavallée fd25fd4d44 [FIX] fields: do not strip class by default
Do not strip class by default on html fields, this was an error. Currently
only mail_message body field should not contain classes. Indeed as external
content can be stored through the mail gateway we do not want to keep the
classes.
2016-03-02 16:43:04 +01:00
Denis Ledoux 204f9d3605 [FIX] account: taxes configuration, default filter instead of domain
Convert the domain to display only the sale / purchase
taxes in the taxes list to a default filter doing the same thing,
but which give the possibility to remove the filter
and see taxes with the scope `None`.

opw-670737
2016-03-02 16:27:02 +01:00
Thibault Delavallée cf2318a76d [IMP] tools: sanitizer: frame tag
Do not try to keep frames as they are already removed. Indeed tag_to_kill contain
the frame tag. This parameter has precedence on the ``frames`` parameter of the
cleaner. It was therefore unnecessary.
2016-03-02 14:33:14 +01:00
Thibault Delavallée c9e38cae9f [FIX] fields: html: strip_style / strip_classes
Added the support of strip_classes, like the already existing strip_style
parameter of html fields.. This parameter is missing but allow full
customization of html fields.

Also fixed the call to the sanitizer in fields. Indeed the strict mode is
set to False. When not in strict mode the classes are never stripped whatever
the value of strip_classes.

Sanitizer is now called always in strict mode to ensure the sanitize process
is correct and really take into account strip_style and strip_classes.

This fix is done in master due to possible side effects and possible behavior
changes that are not welcomed in stable versions.
2016-03-02 14:31:39 +01:00
Nicolas Martinelli b21af52ed8 [FIX] account: payment sequence
The payment sequence should depend on the company, which is not possible
with the harcoded reference to the sequence ids.

opw-670491
2016-03-02 14:05:45 +01:00
Martin Trigaux f125b81226 [FIX] survey: better template for list of pages
opw-670279
2016-03-02 13:58:57 +01:00