Commit Graph

1960 Commits

Author SHA1 Message Date
Nicolas Lempereur bf38fe4c5f [FIX] base: edge case of search on >/< and 0
The double inversion introduced by 6e063188 is done to catch default 0
values.

For example '>= -3' is transformed in "NOT what is found by < -3".

There was an issue with '> 0' and '< 0' since in these instance 0 don't
match and the inversion must not be done.

opw-703929
2017-01-12 15:15:51 +01:00
Olivier Dony ba7880a249
[FIX] base: force local cursor in case of mismatch 2016-10-03 19:48:09 +02:00
Nicolas Martinelli 2c19e9be96
[FIX] base: cherry-pick 55fa0912 to 8.0
Backported to 8.0 following report at #12648

[FIX] base: use datetime instead of date

The variable `date` is compared to the field `name` in the selection
query. `name` is filled in with datetime data. In particular, in the
module currency_rate_live, datetime.now() is used in the name. It is
necessary to make an appropriate comparison to make sure we select the
updated rate right away.

Fixes #12648
2016-07-19 12:58:13 +02:00
Martin Trigaux 0af32f3f84
Revert "[FIX] res.currency: allow duplication"
This reverts commit d780f9476d.

Did not work due to the size=3 on name field that strips the code to the first
three letters only (removing the " (copy)" part).
Copying a currency has a few business cases as the rates are not copied.
As can not increase the size of a field in stable, remove the method that had no
effect.

Fixes #11036
2016-05-23 10:39:15 +02:00
Denis Ledoux dc1b8a5a51 [FIX] res_company: some information missed on company creation
On the `res.company` model, the fields
`name`, `phone`, `email`, `website`, `vat` are
related field on the `partner_id` of the company.

When creating a new company, the partner
associated to the company is created automatically,
it's handled in the overrided `create` method
of the model, but it forgots the values
`phone`, `email`, `website`, `vat` at the moment
the partner is being created.

opw-675526
2016-04-25 12:37:06 +02:00
Olivier Dony bf163700e4 [MERGE] Forward-port 7.0 up to 38905d686f 2016-04-11 14:23:02 +02:00
Olivier Dony 38905d686f [FIX] res.partner: relax condition in 3ab436fb7b
Users may sometimes need to edit their own partner records directly,
although indirect access by writing on `res.users` directly works
fine in most cases.
2016-04-11 13:33:49 +02:00
Olivier Dony bf75f51ddb [FIX] base: require wizard for passwd change 2016-04-01 20:30:57 +02:00
Olivier Dony 08b7e5ab63 [FIX] res.users: better compatibility of read() override with new API 2016-04-01 20:30:57 +02:00
Olivier Dony a7c2377500 [FIX] res.partner: modifying users requires extra access 2016-04-01 20:30:56 +02:00
Olivier Dony 97a96bc96b [FIX] base: require wizard for passwd change 2016-04-01 20:28:00 +02:00
Olivier Dony 3ab436fb7b [FIX] res.partner: modifying users requires extra access 2016-04-01 20:16:11 +02:00
Jairo Llopis 906bf16a76 [8.0][FIX] Make on_change in address_format divs work
To reproduce the bug:

- Create a partner.
- Set it state "Alaska".
- Country becomes "United States".
- Set a country for YourCompany, such as Spain.
- Create a partner.
- Set it state "Alaska".
- Country remains blank.

Also, `node.xpath("//field")` was running over every `<field>` in the
view, not just those inside the `<div class="address_format">`. Now it
only traverses the right nodes, which renders every affected view
faster.
2016-03-08 13:40:40 +01:00
Xavier Morel 8848af76f0 [IMP] account: recordset calling conventions for fixed has_group 2016-02-02 18:28:23 +01:00
Xavier Morel ccb0f6db61 [FIX] base: has_group behaviour under the new API
While the signature makes sense in an old API context (sort-of) it's
very easy to misuse in a new API context as one'd expect `has_group` to
use the subject (recordset), not the user in the environment, compounded
by ``env.user`` being browsed as administrator, resulting in the
"obvious" ``env.user.has_group(foo)`` checking if the
administrator (rather than the current user) has the specified group.

Adds a divergent v8 version of has_group which first checks if it's
called on a non-empty recordset, and in that case use the recordset id,
otherwise fallback on the context user (to handle new API conversions
which used the "correct" call convention rather than the obvious one).

fixes #9649
2016-02-02 18:28:23 +01:00
Goffin Simon c0571d4066 [FIX] base: by default a company is not a customer
When creating a company, a new partner is created with his field
'customer' = True. But by default a company doesn't have to be
a customer.

opw:667130
2016-01-19 17:02:32 +01:00
Jeremy Kersten be7019ee7d [IMP] base: fix usability for country group
Add label
Remove widget (bug in popup, and hard to use to exclude one country)
2015-12-28 14:14:25 +01:00
Martin Trigaux 44248a07a5 [FIX] base,share: error in_group_xx on user form
res.users form contains virtual fields in_group_ID to be added in res.groups.
Groups with boolean share=True (added by share module) must not be displayed in
the form and should not be modifiable through the user interface.
However, if a module adding/modifying a res.group is earlier in the dependency
graph than 'share' (e.g. only depends from 'base'), the update of the user view
is done before share is loaded and the overrride of 'get_application_groups' is
never executed.

As we can not guarantee that the module is share loaded, put the logic of
hidding the module in base instead of share.

This workaround is quite hacky but is necessary in stable version.
Better fix in 9.0 at cf63d4d

Fixes #6324
Fixes #5820
2015-11-30 13:11:02 +01:00
Christophe Simonis 27b38513b0 [MERGE] forward port of branch saas-3 up to 2e9b33b 2015-11-03 12:45:50 +01:00
Christophe Simonis 2e9b33b793 [MERGE] forward port of branch 7.0 up to 80c7209 2015-11-03 11:40:01 +01:00
Raphael Collet 845c10fef2 [FIX] res_lang: fix confusion between class variable and local variable 2015-10-26 17:27:01 +01:00
Raphael Collet d5f35bf37d [FIX] res_lang: prevent modification of language code 2015-10-26 12:09:26 +01:00
Jesús Alan Ramos Rodríguez 248d4a32d9 [FIX] base: position of MXN currency 2015-10-20 16:31:37 +02:00
Carlos Almeida 1fdd5cf975 [FIX] base: BRL currency position to before value
Closes #9098
2015-10-16 11:35:55 +02:00
Olivier Dony c345d294b1 [MERGE] Forward-port saas-3 up to rev. 10e6ad1355 2015-09-07 11:18:10 +02:00
Olivier Dony 10e6ad1355 [MERGE] Forward-port 7.0 up to rev. 20f69bbce9 2015-09-07 11:12:57 +02:00
Paul Catinean 20f69bbce9 [FIX] res.users: remove check_super duplication
Closes #8403
2015-09-07 11:07:43 +02:00
Colin Newell 84857a3f4f [FIX] currency: simple quote in currency symbols
Escape the currency symbol to prevent javascript errors,
for instance when reconciling a bank statement
(with the special reconciliation widget)

Closes #8216
2015-08-27 17:45:59 +02:00
Christophe Simonis dac52e344c [FIX] models: "ORDER BY" on many2one fields
When ordering results on a many2one fields, results are ordered by
order of the target model. The code was wrongly assuming that this
`_order` attribute only contains `_classic_read` fields (that can be
directly read from the table in database). Now correctly generate the
"ORDER BY" clause using the current table alias.

`res.users` can now be sorted by name.
2015-08-14 15:42:37 +02:00
Christophe Simonis d5a6380726 [MERGE] forward port of branch 7.0 up to f410266 2015-08-11 16:35:00 +02:00
Olivier Dony fb55b2fa5e [FIX] res.users: more consistent handling of user private fields 2015-08-07 13:16:45 +02:00
Olivier Dony 5e4c09ae53 [FIX] res.users: more consistent handling of user private fields 2015-08-07 13:15:45 +02:00
Olivier Dony 77868ec4f9 [FIX] base, auth_openid: wrong implementation of API by auth_openid
Authentication modules are supposed to override res_users.check_credentials()
in order to plug in their own mechanism, without actually modifying the
behavior of res_users.check(), res_users.authenticate() or
res_users._login().

auth_openid was incorrectly overriding check() instead of
check_credentials(), and unnecessarily accessing private
attributes of res_users. Fixing the implementation of auth_openid
to follow the API means we can completely make those attributes
private.
2015-08-06 19:21:12 +02:00
Olivier Dony 54e06907c0 [FIX] base, auth_openid: wrong implementation of API by auth_openid
Authentication modules are supposed to override res_users.check_credentials()
in order to plug in their own mechanism, without actually modifying the
behavior of res_users.check(), res_users.authenticate() or
res_users._login().

auth_openid was incorrectly overriding check() instead of
check_credentials(), and unnecessarily accessing private
attributes of res_users. Fixing the implementation of auth_openid
to follow the API means we can completely make those attributes
private.
2015-08-06 19:19:17 +02:00
Raphael Collet 9699f510e4 [FIX] res_users: fix wrong index when parsing m2m commands 2015-08-05 14:35:42 +02:00
Antony Lesuisse 8f07f01783 [FIX] base: res.company _company_default_get
Fix rule processing the criteria user.company_id was not honored.

Closes: #4614, #7504
2015-07-16 14:38:13 +02:00
Dariusz Żbikowski 0f4399bb7b [FIX] res.country: address format in polan
Address format in Poland looks like:

Legionów 93
91-072 Lodz
Poland

see: http://en.wikipedia.org/wiki/Address_%28geography%29#Poland

Closes #2416
2015-07-10 11:37:34 +02:00
David Beal d780f9476d [FIX] res.currency: allow duplication
Currencies must be unique per company.
Therefore, without this revision, adding `(Copy)`
to the currency name on duplication, this
is simply not possible to duplicate a currency.

Closes #2443
2015-07-09 17:15:30 +02:00
Denis Ledoux f86d5870fc [FIX] res.country: Preferred address format
According to the USPS, separating the city name
and the zip code with a comma is acceptable,
but the preferred format omits the comma.

http://pe.usps.gov/cpim/ftp/pubs/Pub28/pub28.pdf

opw-644000
2015-07-08 11:13:46 +02:00
Samus CTO 6490c62e5d [FIX] mail: backport of rev 752a07c to 8.0
[FIX] res.partner.find_or_create() should match using =like

Otherwise john@connor.com may match sarah.john@connor.com
2015-07-07 08:52:44 +02:00
Jeremy Kersten f07be4b675 [REF] base, wesbite_crm: remove placeholder for phone
Some people visiting website doesn't understand that it's a
placeholder and call to Odoo because they see the number on the website.
2015-07-02 15:53:36 +02:00
Matthieu Dietrich f2c807d99d [IMP] account_report_company: performance on partner name_search
The field display_name is present in account_report_company but not in base
on the res.partner (has been added in v8 in base).
Create a hook method to keep using the slow CASE in base and switch to the
faster display_name when installing account_report_company.
2015-07-02 14:10:23 +02:00
Denis Ledoux 49cc4b9d4e [FIX] base: typoe, referencable -> referenceable 2015-07-02 12:59:36 +02:00
Antonio Espinosa c65fe46569 [FIX] base: runtime error in address_get if ids is empty
Closes #7359
2015-07-02 11:23:34 +02:00
Miku Laitinen f5dd09dd84 [ADD] base: Finnish address format 2015-06-25 08:47:05 +02:00
SauliusZ 2948ed954b [FIX[ base: Currencies changed for Latvia and Lithuania
Latvia changed its currency to Euro from 2014 and Lithuania from 2015. It is not
possible to buy in old currencies anymore.
2015-06-03 19:03:45 +02:00
Goffin Simon 6e06318828 [FIX] base: value = 0 for record ir_property
When a record is created with a field property of type integer or float equal to 0, there is
no record created in ir_property for this field. Then for a search of a record with this type of
field equal to 0, it must match all the records that have no corresponding property in the table
"ir.property" for this field.

ps: in 7.0, the function search_multi doesn't exist and the bug linked to cost price
doesn't happen because it's a float field.

opw:639746
2015-05-19 09:30:53 +02:00
Denis Ledoux a4c7c564cf [FIX] stock_account: average cost in multi-company environment
When receiving goods with average price set as costing method,
for a move from another company than the SUPERUSER_id company,
the average price updated was the one from the SUPERUSER company
instead of the one of the move.

opw-634167
2015-05-18 11:49:55 +02:00
Denis Ledoux 5d4560676e [FIX] res_users: action_id must be readable by the user
`action_id` is the loaded (window) action on user sign in.
It must thefore be readable by the user.

opw-634402
2015-05-12 11:33:43 +02:00
Nicolas Lempereur dd88f3c82f [FIX] search: searching fields.property not set
When searching if a many2one property field is not set, there may be less
results since only the ones with a reference set to NULL are returned.
We should also get those not in the table.

This commit change this case so instead of returning ['id', 'in', {matching non-set ids}],
the ['id', 'not in', {matching set ids}] is returned.

e.g: if (1, 3, 8) are set, (5, 9) are not set. ['id', 'not in', (1, 3, 8)] would
be returned instead of ['id', 'in', (5, 9)] which might not select all non-set
property fields.

closes #6044
opw-631057
2015-05-04 12:00:22 +02:00