Commit Graph
117156 Commits
Author SHA1 Message Date
Nicolas Martinelli 8dcee7f17e [FIX] product: price digits
Complement of cf32a23b92

Closes #21686
opw-800279
2018-01-11 16:10:09 +01:00
Denis Ledoux 78d0a32470 [FIX] web: force a determinist installed modules order for the assets
The backend assets includes a list of the installed modules with:
```
odoo._modules = <t t-raw="get_modules_order()"/>;
```

Because of the randomization of Python 3.5 in the dict keys,
the order of the installed modules could change from time to
time, therefore making the assets being regenerated unnecessarily

This revision is a bit linked to the below one:
f3bb9ae679

In addition to have the dict keys always in the same
order, it's important for the values to always be
the same, and it was not the case for this list
which was in the content of the backend assets,
in various order.

opw-804747
2018-01-11 15:48:08 +01:00
Nicolas Martinelli bc1c72f9af [FIX] sale_stock: test error
`sale_stock.tour` requires `sale.tour` which is defined in
`sale_management`.

Aside from the test failing, this is more logical to add the 'Sales'
menu once the set-up is past a simple 'eCommerce' configuration. Note
that it was intended in the original commit 5dfd342d08, but was
later changed back to avoid issues.

We need to depend both on `sale` and `sale_management` explicitly, to
make sure installing `sale` and `stock` separately will also install
`sale_stock`.

opw-804621
2018-01-11 15:34:06 +01:00
Romain Derie 3ec98ae6b0 [FIX] website_sale: can't send coupon code after an ajax request
Before this commit, an user could only use the coupon form if he didn't perform
any ajax request (eg: change quantity, already sent a code..).
Since the cart html would be reinjected with theses ajax requests, the click
event would not work afterward until the page got fully reload.

Now, we changed the jquery click binding to work with dynamically injected DOM
2018-01-11 15:28:31 +01:00
Nicolas Martinelli 411a9fa326 [FIX] web: autofocus
Support autofocus on notebook pages:
```
<page autofocus="autofocus">
```

This was supported before the web client refactoring.

opw-801259
2018-01-11 15:19:52 +01:00
Raphael Collet 309b6b8e5a [FIX] api: optimize odoo.api.Cache.get_records()
Assuming that `field.cache_key(record)` is independent from `record.id`,
compute the cache key once for all records, and avoid using `browse` on all
record ids.  This makes `get_records` about 20 times faster.

This has a good performance impact on `field.modified_draft()`, which is used
during onchanges for invalidating fields.
2018-01-11 13:52:16 +01:00
Romain Derie 0474de44c0 [FIX] website: unpublished homepage read error + first menu fallback
Before this commit:
1. If the website's homepage is unpublished and a public user naviguate on it,
it will log an access read error in the server. The user won't see the error
though.

2. If the user can't access '/', we serve the first menu's page instead.
This first menu's page can be an unpublished page, resulting in a 403, which is
not convenient.

3. Menus are sorted by sequence, then the ORM sort them by write_date.
Menu with same sequence will be sorted differently every time you edit one of
them. (This issue get hidden/solved if user edit and save the menus with
"Edit Menu" since it will recompute every sequence.)
  - Create 3 pages 'A', 'B', 'C', with 'Add page in menu' enabled
  - Menu is now 'A B C'
  - Edit website.page B (in property dialog), it will write on the page's menu
    aswell
  - Menu is now 'A C B'

Now:
1. We prevent this error by ensuring the page is published and so can be read
by anyone before accessing its properties.

2. We serve the first menu's page that is published

3. We sort menu by id after sequence to keep original order

This closes #21259
2018-01-11 13:33:30 +01:00
Romain Derie bf8519853f [FIX] website: hide menu if related to an unpublished page
Before this commit, if there was a menu entry linked to an unpublished
website.page, the menu would be shown. For restricted users, they would land on
a 403 forbidden.

Now, we dont show website.page's menu if user can't access it.

This closes #21328
2018-01-11 13:30:12 +01:00
Nicolas Lempereur 491404f053 [FIX] website_event_track: day separation and tz
An agenda for an event separates tracks by days and display them taking
into account the event timezone.

But when separating by day the timezone is not taken into account and a
track could be displayed on the wrong day.

opw-803610
closes #22170
2018-01-11 12:51:54 +01:00
Romain Derie 32701aa512 [FIX] website: menus with null URL would throw an error on display
Before this commit, if a website.menu had a URL set to null, it would throw an
error when displaying that menu.
It is normally not possible to do so in v11 but after a migration, menus can be
empty. (eg: Using an empty menu to display a divider in a dropdown menu)

Now we return an empty url instead of an error
2018-01-11 12:49:18 +01:00
Romain Derie cca12fbb08 [FIX] payment_stripe: route receive wrong currency parameter
This commit b335ae0348 previously sent currency instead of currency_id on
/website_payment/transaction route resulting in a cast error.

Now, we send the currency_id as the route expect

This closes #19468, closes #22165
2018-01-11 11:01:35 +01:00
qdp-odoo 330f84f211 [FIX] l10n_fr_fec: fix format of Debit/Credit columns
Numeric columns of fixed length should be left padded with '0' instead of ' ' (Article A47 A-1 Section III 2°)
2018-01-11 10:46:31 +01:00
tbe-odoo ea90491789 [FIX] mail: m2m tag email test fixed
- The test for m2m tag email was not expecting an array as the result.
2018-01-11 10:12:06 +01:00
Jeremy Kersten 8fb203f7c6 [FIX] base: ir_ui_view unescape %% in dev mode
In dev mode with xml feature, we read the xml from file directly.
%% should be unescape to get % instead.
2018-01-10 21:01:33 +01:00
Goffin Simon 88fe132a27 [FIX] mail: Wrong title for the image's activity
An activity is always created with sudo, so it's useless to set the
image and the name of the "Administrator" all the time.

Now the image and the title of the assigned person is displayed.

opw:802759
2018-01-10 16:10:03 +01:00
tbe-odoo d9f1e6789a [FIX] mail: Fix crash when adding recipient on mails
When adding more than one recipients on mails a traceback appears.
This was caused because instead of doing a name_get by providing the partners ids as a list, we send them as arguments.
Which wasn't valid because name_get except a single argument.

opw #804691
2018-01-10 15:40:16 +01:00
Rémi Rahir 13baea56b9 [FIX] phone_valdation: fix default behaviour for numbers formatting
before this commit, the selection on res.company was by default hiding the country prefix. THe option was not available on res.company view.

We fix the default behaviour and add the option in the res.company view in debug mode.
2018-01-10 15:39:28 +01:00
Martin Trigaux 932ac72c7e [FIX] hr: correct action source model
Should be from hr.employee
At a8326cc6 source model inconsistence was introduced but the bug was revealed
only after 55549f1e where it kept the wrong one

Fixes #20203

PS: this action should be removed in master in favor of hr_org_chart module
2018-01-10 14:18:31 +01:00
Paul Catinean eded3cfda8 [FIX] website: check that website.user_id is not falsy
This field should be required.

This commits closes #21997

@kangol: diff in addons/website/models/ir_http.py is for existing db
It can be ignored in master because required will be apply
2018-01-10 13:09:32 +01:00
Xavier Morel f7323dbe23 [FIX] doc: informal sub-params
Revert 6cb12273e2 which reverted
08d48b0fff.

Issue was the support for sub-parameters (aka @param {type} foo.bar)
where the "parent" parameter was not formal (only present in a
function's docstring, but not in the function's parameters list),
subtype creation would fail to find a root parameter to attach the
sub-parameter to.

This has not actually been fixed, but for the specific case where the
formal parameters list is *completely empty* we fall back on a list of
the docstring's parameters, which works well enough for this case.
2018-01-10 12:36:58 +01:00
Yenthe V.G eeea6e8667 [FIX] website_blog: don't copy visitor count of blogpost
This commit closes #22107 and closes #22111
2018-01-10 12:25:50 +01:00
Goffin Simon cd05c16641 [FIX] mrp: location_id domain on mrp.routing
Steps to reproduce the bug:

- Create a routing with a Product Location of type view
- Create a MO with this routing
- Click on "Plan" without clicking on "Check for Availability"
- Complete the work orders
- Go back to the MO and try to put it in state "Done"

Bug:

Impossible to set the MO on state "Done". By clicking on "Mark as Done",
it returns:

You cannot take products from or deliver products to a location of type "view"

opw:803580
2018-01-10 11:53:07 +01:00
Martin Trigaux ff0abd214c [FIX] untranslated defaults
The field was translatable but the default value was untranslated

Fixes #22059
2018-01-10 08:57:12 +01:00
Christophe Simonis 55caee6481 [FIX] base: adapt test to new behaviour defined by 7e894aca0b 2018-01-09 19:07:01 +01:00
Christophe Simonis 81d03da360 [FIX] mail: do search at the right time...
Oversight of previous forward-port
2018-01-09 18:50:58 +01:00
Martin Trigaux 7e894aca0b [FIX] models: do not keep the old source in case of copy override
Current behaviour when duplicating a record:

    apply copy override in the user language (e.g. "%s (copy)")
    copy the previous term in all the other languages (including)

So if product was named:

    cheeses (en)
    kaas (nl)
    fromage (fr)

Duplicating the product, while in French, will result into:

    cheeses (en)
    kaas (nl)
    fromage (copie) (fr)

This is a problem if there is a unicity constrain on the field, it will be
raised (there is already a product named 'cheese')

After this PR:

Duplicating the product, while in French, will result into:

    fromage (copie) (en)
    kaas (nl)
    fromage (copie) (fr)

This applies **only** if there is an override of copy

This is detected by comparing the old and new value for the user language

Fixes #7010
Closes #22052
2018-01-09 18:15:47 +01:00
Yenthe V.G ad78f115c3 [ADD] doc: warning about function names in tests
Closes #22116
2018-01-09 18:07:29 +01:00
Christophe Simonis a7c2a22310 [FIX] web: adapt new test introduced by previous forward-port 2018-01-09 17:58:06 +01:00
Christophe Simonis 033c7975fa [FIX] stock: remove unknow field from pivot view
Oversight of previous forward-port
2018-01-09 17:37:51 +01:00
Christophe Simonis 6e25eb9b05 [MERGE] forward port branch saas-16 up to 4c410ee6a1 2018-01-09 17:03:07 +01:00
Christophe Simonis 4c410ee6a1 [MERGE] forward port branch saas-15 up to 38b201abce 2018-01-09 16:30:50 +01:00
Christophe Simonis 38b201abce [MERGE] forward port branch saas-14 up to e671cdcc44 2018-01-09 15:54:16 +01:00
Lucas Perais (lpe) 1ad8867dee [FIX] base: corrected automated action onchange and write
When having an automated action which
triggered upon changing a field to write on another
(no python code, but operatiing with ir.server.object.lines)

Before this commit, the onchange was not performed.
This was because there was no active id
(in fact the code did not take object(<NewId>) into consideration)

After this commit, the onchange is performed.

OPW 801424
2018-01-09 15:17:21 +01:00
Christophe Simonis e671cdcc44 [MERGE] forward port branch 10.0 up to 849d8ffd21 2018-01-09 15:12:51 +01:00
Nicolas Lempereur 3770097183 [FIX] mail: activity extraneous Administrator str
In march 2017 saas-15 on activity message, the create_uid was displayed
with 26940f8d.

In november 2017 saas-14 an activity was always created sudo() with the
change 53ad585bf.

Thus in saas-15 we always have "planned by Administrator for {user}"
not making sense.

opw-804409
closes #22113
2018-01-09 14:04:38 +01:00
Nicolas Martinelli 81d1296323 [FIX] account, stock, website: access rights
1. Create a new user with all the permissions as manager (or at least
   Accounting) except Inventory
2. Login and then go to Invoicing --> Settings
3. Do a minor change, save

An access error occurs.

Since the settings of all modules are smartly loaded in v11, it now
implies that a user must have extra manager access rights to be allowed
to save them. We could have kept separate actions for each setting page,
but we would have missed the fun of access errors.

Anyway, security-wise this is not an issue to force the manager groups
since a user with 'Settings' access rights can change his own rights.
It's just very annoying. Or fun.

Complement of aa65a46fc5

Fixes #21766
opw-801210
2018-01-09 13:19:33 +01:00
Martin Trigaux 4637bdf9bf [FIX] web: properly format translatable string
'Edit <type>View' makes untranslatable content as it is split in 3 and the type
is not translated. e.g. 'Editer FormVoir'
2018-01-09 11:23:18 +01:00
Goffin Simon a7c081941c [FIX] sale: Description of the product 'Downpayment' not translated
When you create a down payment invoice from an SO, the product that is used in the line is 'Down Payment'.
The description of this product, which is visible for the customer, was not translated to the language
of the customer in the SO and in the invoice. It was translated to the language of the user logged.
This fix is made to keep the same behavior for the description of an SO line and for the description
of the invoice line.

opw:803977
2018-01-09 10:19:47 +01:00
Goffin Simon fe0fc9eef4 [FIX] event: Duplicate an event and try to publish it leads to the previous event webpage
- Steps to reproduce the bug:

Go to events ->Duplicate an existing published event
Try to publish that new event

- Bug:

You get redirected to the previous event webpage, which is already published.
Unable to publish the event from that page.

The url used to access the event is computed the function _compute_website_url which
a slugify of the display_name of the event.

opw:804118
2018-01-09 09:59:09 +01:00
Nicolas Martinelli a650f2359b [FIX] mrp: extra move line in sub-location
- Define a Component A tracked by lot.
- Define a Final Product B tracked by lot.
- Create a BOM, e.g. 5 units of A to produce B.
- Get some quantity of A in a sub-location, e.g. 'WH/Stock/Shelf 1'.
- Create a MO for 1 unit of B.
- When clicking on 'Produce', record 6 units consumed instead of 5.
- Post the inventory

5 units of A is removed from 'WH/Stock/Shelf 1' and 1 unit of A is
removed from 'WH/Stock'. The latter might create a negative quant if no
stock is available in 'WH/Stock'.

When the extra move line is created, it is created using the data of the
stock move (in `_generate_consumed_move_line`). When posting the
inventory, the quants selection is made strictly in the location set (in
`_update_available_quantity`), which might cause the mentioned negative
quant.

The solution is to select a sub-location where the product can be found.
This gives a higher chance to avoid negative quants afterwards. Note
that if we wanted to avoid negative quants, we could make a reservation
process on the move, and potentially create several stock move lines.
This is beyond the scope of the integration of MRP with sub-locations.

opw-803969
2018-01-09 08:59:44 +01:00
Nicolas Martinelli 849d8ffd21 [FIX] sale: protect SO if done
Prevent the modification of the SO line if the SO is locked.

opw-803439
2018-01-09 08:56:32 +01:00
Nicolas Martinelli 684483b634 [FIX] website_portal_sale: SO state
Add the SO state on the payment transaction, in order to be able to spot
more easily unconfirmed SO due to incomplete payments.

opw-748467
2018-01-09 08:30:25 +01:00
Nicolas Lempereur dc61861f90 [FIX] payment: py3 error payment icon save
Code to thumbnail payment icon image had an error for python3 because
from RPC the image would be a text string instead of an expected
bytestring.

This change accepts both and made another small fix in the view since
image_medium doesn't exist (and image is already thumbnailed).

A third fix was that removing an image caused an error.

opw-803722
closes #22088
2018-01-08 15:58:30 +01:00
Richard Mathot 10c3b31d0f [FIX] payment: avoid crash when no acquirers (#22090)
opw-803882
2018-01-08 15:03:46 +01:00
Nicolas Lempereur 53cb87883a [FIX] website_sale: allow Pay Now button translate
opw-803628
closes #22083
2018-01-08 12:10:34 +01:00
Martin Trigaux e7eb3eeba1 [FIX] point_of_sale: translate 'Unused' keyword
Was set inside an expression so not translatable

Fixes #22062
2018-01-08 11:46:01 +01:00
qdp-odoo ab01e79754 [FIX] account: make sure to return only one unaffected earning account
OPW 787612
2018-01-08 11:37:56 +01:00
Christophe Simonis e3080d8433 [MERGE] forward port branch 9.0 up to 35c829f12b 2018-01-08 11:15:33 +01:00
Alexandre Kühn 255e8ca3d9 [FIX] web: binary field format in list view
Binary fields were simply shown simply by their textual representation in list views,
e.g. the base64 string.

There was no formatter for binary fields, therefore it has been implemented so that
it displays its estimated size.

Binary fields in list views had a download link in v10.0.
We provide this feature back by means of a widget called 'download_link'.
It is also possible to define an option to set the field name having the filename as its value.

Example:

    <tree>
        <field name="fname"/>
        <field name="datas" widget="download_link" options="{'filename': 'fname'}"/>
    </tree>

with the following record: {fname: 'document.txt', datas: 'Cg=='},
we get a file named "document.txt" by clicking on the download link.

Closes #21996
2018-01-08 10:17:44 +01:00
Florent de Labarre bc3d5ca775 [FIX] stock.move : add more information in UserError of product_uom Constrains
Steps to reproduce the bug:

- Create a bom with lines
- Change on one product in product view form the uom with diffrent category (exemple : unit -> meter)
- Create un manufactoring order : you have an error You try to move a product using a UoM that is
not compatible with the UoM of the product moved. Please use an UoM in the same UoM category.,
the error message doesn't give with product there are an issue. (
if you have hundred of line in your Bom, it is very difficult).

This fix improves the error message.

opw:800328
2018-01-08 10:10:33 +01:00