Commit Graph
96356 Commits
Author SHA1 Message Date
Denis Ledoux d47ee18fef [MERGE] forward port of branch 8.0 up to c9fce1a 2015-11-17 13:19:14 +01:00
Denis Ledoux c9fce1a404 [MERGE] forward port of branch saas-3 up to f69b0ca 2015-11-17 13:05:15 +01:00
Denis Ledoux f69b0cade1 [MERGE] forward port of branch 7.0 up to df91cb5 2015-11-17 13:04:39 +01:00
Denis Ledoux df91cb5a9a [FIX] mrp: Product Cost Structure decimal precisions
The decimal precisions for the quantities, cost/supplier price
per unit of measure were not respected. It was always
set to 2 digits, whatever the configuration in the database
decimal precisions.

opw-653143
2015-11-17 12:56:28 +01:00
Goffin Simon e3b90ba1d4 [FIX] sale_stock: payment_term in supplier invoice
When invoicing a supplier, this is the supplier payment term which
has to be taken into account.

opw:656307
2015-11-17 10:45:17 +01:00
Nicolas Martinelli cf82f0fffc [FIX] account_analytic_default: access rights
The group analytic.group_analytic_accounting should have access to the
account.analytic.default model. Otherwise, a user with only analytic
rights (along with another group which has access to the products, e.g.
Purchase) will not be able to see the product form view. Indeed, the
field rules_count requires an access to the model
account.analytic.default.

opw-653735
2015-11-17 08:08:38 +01:00
Matthieu Dietrich 0d0bb69bb1 [FIX] stock: Only re-reserve moves not done or cancelled
`Recheck availability` must ignore
the done or cancelled moves.

Otherwise, it raises the warning telling you cannot
unreserve a done move.
https://github.com/odoo/odoo/blob/856b31719c69e7f022143ce39df7c6c43688beb9/addons/stock/stock.py#L1899

To reproduce the issue:
 - Create a delivery order,
   with 10 stockable product A
   & 10 stockable product B,
   mark as todo.
 - Create a receipt,
   with 5 stockable product A,
   mark as todo & transfer.
 - Cancel the move of stockable product B from the delivery order,
   in Traceability -> Stock Moves.
 - Come back to the delivery order, `check availability`,
   then, `recheck availability`

Closes #9550
2015-11-16 17:13:25 +01:00
Goffin Simon 856b31719c [FIX] product: _check_valid_attribute
To check if the values set for the attribute are valid.

opw:653945
2015-11-16 13:50:19 +01:00
Martin Trigaux c054350dac [FIX] account_check_writing: undefined amount
In check_writing report, amount is the content of the field amount_to_text that
we can not guarantee has been filled (done in onchange so could be avoided, also
for other languages, etc.)
Instead of potentially failing, double check amount is filled.
cf https://www.odoo.com/groups/59/14976615
2015-11-16 12:15:40 +01:00
Odoo Translation Bot 396181648c [I18N] Update translation terms from Transifex 2015-11-15 03:03:19 +01:00
Goffin Simon 26189bf67a [FIX] website_sale, website_sale_options: optional_product_ids
The field optional_product_ids is not in the model "product.template" if
the module website_sale_options is not installed.

opw:654273
2015-11-13 13:05:33 +01:00
Christophe Simonis afae197073 [IMP] base: timezone handling in server actions.
Give access to `pytz.timezone` (as `timezone`) in `ir.actions.server`
records. Usefull when dealing with date(time)s.
2015-11-12 12:23:27 +01:00
Christophe Simonis 5b77f9d39f [FIX] website: pass context as keyword argument when calling method. 2015-11-12 12:09:53 +01:00
Denis Ledoux 56c08e486f [FIX] expression: child_of domain with parent_store & non-existing parent
In the `product.template` model,
when searching products within a category that doesn't exist,
all products were returned, while none should be returned.

For instance,
In Sales > Products,
In the search input, search with internal category:
"A category that doesn't exist",
all products were returned.

opw-649548
2015-11-10 16:35:55 +01:00
Nicolas Lempereur a8ae94485d [FIX] website_sale: unify image update when change variant
The variants on a product in the ecommerce can appear:
- naturally, not a list, colored square for color, ...
- in a list of radio button.

To have the second kind, we need to enable the "List View of Variants"
customize option.

One part of the code was not the same which cause an issue when saving
the image of the variant, it was saved on the product.template instead.

This commit add an "update_product_image" function which is now called
in both scenario.

first half of:
opw-654279

forward port note: in 9.0 website/image -> web/image
2015-11-10 16:34:57 +01:00
Denis Ledoux 238b2027b0 [FIX] hr: retrocompatibility for last_login in employee kanban
This revision is related to 67e07d55ee
We reset back a `li` element with `id="last_login"`,
for views inheriting from this kanban view on this field.
2015-11-10 13:32:01 +01:00
Nicolas Lempereur 15b0596c31 [IMP] web: remove onchange on m2o one remove record
These onchanges were needless since it was already done by the
BufferedDataSet when we use alter_ids to add/remove ids/virtual ids from
the recordset.

The onchanges this commit remove were introduced with 6b907bb4d in
juliet 2012 whilst the onchange in the BufferedDataSet when using
dataset alter_ids was with dd747c096 in october 2012.

closes #8273
fixes #7595
opw-644706
2015-11-10 12:38:04 +01:00
Nicolas Lempereur 3e1d5a5cca [IMP] web: remove needless o2m onchange
Partial backport of master (-> v9) commit 059230512.

for the issue when removing an invoice line from an account.invoice,
three onchange where triggered:

- ListView account.invoice.line unlink the line id from its dataset,
  [[first onchange]]
  -> the line id is removed from the dataset which trigger an onchange

after this is done (and the onchange is finished), the following
onchange happen:

-- remove each record of the Collection of the ListView
   -> this remove the id of these record from the ListView List dataset
      [[second onchange]]
      -> this trigger an onchange albeit the dataset is not changed
         (since it was already removed before the first onchange)
   -> this trigger an onchange on the one2many_list of the ListView
      which has the same dataset as the ListView
      [[third onchange]]
      -> so an onchange is called yet again.

this commit removes the second onchange in this case where we remove ids
already removed from the dataset.

closes #8273
fixes #7595
opw-644706
2015-11-10 12:36:06 +01:00
Nicolas Martinelli 6f7e757fa2 [FIX] website_quote: description translatable
The website description should be translatable.

opw-652454
2015-11-10 12:10:19 +01:00
Denis Ledoux 67e07d55ee [FIX] hr: last login hour on employee kanban.
Setting a value for the `date` field on a partner of
an employee leaded to a crash in the employees
kanban view.

This last login field on the employee kanban
had as goal to display the last connection hour
of each employee, if the last
login happened within the current day.

Since 7.0, the last login date field  on `res.users`
has been renamed from `date` to `login_date`,
and became a date instead of a datetime.

Nevertheless, the `last_login` related field
on `hr.employee` remained on the field `date`,
which is set on the `res.partner` model,
but is not used as a connection date field. The
related should have been updated to use
`res.users`.`login_date`, probably, but it
wasn't the case.

From saas-6, the `date` field is no longer available
on the `res.partner` form.

We can therefore safely assume that this feature
is no longer used nor needed, as:
 - It should display the last hour of connection within a day
 - but it uses the wrong date field
 - and it uses a field type for which the hour is not stored (date).
 - even by updating the related to use `login_date`,
   it would still be a field where the hour is not stored.

opw-654313
2015-11-10 11:12:15 +01:00
Manuel Vázquez Acosta c333385eda [FIX] account_voucher: amount currency on supplier payment
In scenario described at #1490 (comment 152726416), amount_currency of a
supplier payment has the incorrect sign
Complete ede807d2955
Closes #9347
2015-11-09 17:07:25 +01:00
Denis Ledoux 7cab554590 [FIX] portal_sale,website_quote: templates compatible with wysiwyg
<% are automatically escaped as soon as the wysiwyg tool
is used to edit the template.
The wysiwyg tool is not compatible with Jinja, and
it isn't expected to be.

To avoid to have this problem everytime when
editing the portal email templates, we use
a Jinja syntax compatible with the wysiwyg,
as a workaround.

opw-654223
2015-11-09 15:38:17 +01:00
Odoo Translation Bot 7a0a649deb [I18N] Update translation terms from Transifex 2015-11-08 03:01:35 +01:00
Denis Ledoux 8558ecfdf3 [MERGE] forward port of branch saas-3 up to dd8cbf4 2015-11-06 16:08:30 +01:00
Denis Ledoux dd8cbf49ac [MERGE] forward port of branch 7.0 up to d24fcd1 2015-11-06 16:04:21 +01:00
Atchuthan, Sodexis 38868d4991 [CLA] Added sodexis corporate cla 2015-11-06 12:54:55 +01:00
Denis Ledoux 384b8d496d [FIX] base_import_module: exception logger for module imports
When importing a module, if an error was raised
during the import, the traceback wasn't displayed
anywhere, making harder the debugging.

While it make sense to not display the entire traceback
to the user, in the web client, this is useful to
diplay the traceback in the logs, for debugging purposes.

opw-653882
2015-11-06 12:03:35 +01:00
Nicolas Lempereur d24fcd1d2e [IMP] base: test for expression distribute_not
Testing the use case of c28a28e, in which distribute_not was refactored
with iteration instead of recursion.
2015-11-05 17:13:55 +01:00
Raphael Collet c28a28e69e [IMP] osv: use iteration for expression negating
The current code when applying negative operator on an expression used
recursion which in extreme case is not best friend with python.

e.g: on instance with a lot of wharehouse, some simple action could lead
to a domain with lot of elements which could easiliy go over the python
maximum recursion limit.

This commit fixes this by replacing recursion with iteration.

We have a stack of negation flags and loop on each token of the domain
as follow :

- when we iterate on a leaf, it consumes the top negation flag,

- after a '!' operator, the top token negation is inversed,

- after an '&' or '|' operator, the top negation flag is duplicated on
  the top of the stack.

closes #9433
opw-653802
2015-11-05 17:13:28 +01:00
Denis Ledoux a23468c845 [FIX] hr_timesheet_sheet: total attendances & timesheets performances
For these function fields, bypassing the ORM, using a SQL query,
improves the execution time by 100 for a set of 80 timesheets
in a database with
 - 250K `hr.analytic.timesheet`
&
 - 250K `hr.attendance`.

These function fields depends on a one2many field which use
the SQL view `hr_timesheet_sheet_sheet_day`.

When performing `sheet.period_ids`, two SQL requests are performed,
 - the first just to know the ids in the sql view matching this sheet
 - the second to read the fields `total_attendance` & `total_timesheet`
and the request is performed on the entire set of lines of this view
(~250K lines in the observed use case)

while, when replaced by this SQL request, only one request is performed,
on a restricted set of lines, speeding up significantly the computation
of these computed fields for smaller sets of sheets.

opw-653447
2015-11-05 16:23:48 +01:00
Nicolas Martinelli ea2c80cad0 [FIX] web: Python-like rounding method
Javascript and Python handle the rounding of -x.5 differently.

In JS, `Math.round(-0.5)` is equal to `-0`.
In Python, `round(-0.5)` is equal to `-1`.

This will lead to inconsistencies between Python and Javascript, but it
can also lead to inconsistencies in the Javascript itself. Indeed, in
the POS, a refund to the client is entered as a negative number. For
example, `4.245` will be rounded to `4.25`, but a refund of `-4.245`
will be rounded to `-4.24`. The payment and the refund are not
consistent.

Sources:
- http://www.ecma-international.org/ecma-262/6.0/index.html#sec-math.round
- https://docs.python.org/2/library/functions.html#round
- https://en.wikipedia.org/wiki/Rounding#Round_half_up

Fixes #9249
opw-653034
2015-11-04 13:14:59 +01:00
Xavier ALT 2f35c40714 [FIX] web_calendar: date/datetime fields format in calendar views
As everywhere else, dates & datetimes must be formatted according
to the format defined in the `res.lang` of the user, and within
the timezone of the user.

Before this revision, when adding a datetime field to a calendar view,
the raw value of the date was displayed, for instance:
`2015-01-01 10:00:00`
instead of
`01/01/2015 11:00:00`
for a user in English(US), in UTC +1.

fixes #5324
opw-653625
2015-11-04 12:47:28 +01:00
Pedro M. Baeza 0ea130424d [FIX] sale_service: Allow a project user to close a task.
Closing a task associated to a sale order line requires
the write access to the according sale order line, that
a user who is only a Project > User does not have
by default.

Fixes #9286
Closes #9352
2015-11-04 12:09:30 +01:00
Goffin Simon 4324891529 [FIX] website_sale: add to cart with optional products
When clicking on button "add_to_cart" for a product with several options,
 the user must be redirected to the product page. In this way, the user can
 choose the options, he wants to buy with the product before adding the product
 in the cart.

 opw:653356
2015-11-04 09:44:11 +01:00
Nicolas Mac Rouillon a69205d561 [CLA] Adding one contributor to adhoc cla 2015-11-03 17:41:40 +01:00
Adrien Peiffer (ACSONE) 2ae37d7c9a [FIX] hr_contract: access on resource.calendar.attendance for HR officer
Add ACL on resource.calendar.attendance for HR Officer
according access right on resource.calendar

Otherwise, this isn't possible for HR officers to
manage Work Details (`resource.calendar.attendance`),
while they can manage Resource Calendar (`resource.calendar`)

Closes #9330
2015-11-03 17:04:22 +01:00
Denis Ledoux b12aa82926 [FIX] website_mail_group: Localized messages dates
The messages dates in the groups pages
 - /groups/<model('mail.group'):group>/
 - /groups/<model('mail.group'):group>/<model('mail.message):message/

Did not take into account the user timezone, and always displayed
the date in UTC time.

opw-653508
2015-11-03 14:08:15 +01:00
Christophe Simonis b34a62a3e8 [MERGE] forward port of branch 8.0 up to 27b3851 2015-11-03 12:58: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
Nicolas Martinelli ecc9710cb3 [FIX] crm: next action date display condition
Complement of commit 71b0a4c. The next action date (date_action) should
be red if in the past, not if the deadline date is in the past.

opw-653391
2015-11-02 17:03:32 +01:00
Odoo Translation Bot 82cd86f181 [I18N] Update translation terms from Transifex 2015-11-01 03:03:27 +01:00
Odoo Translation Bot 80c7209d2e [I18N] Update translation terms from Transifex 2015-11-01 00:31:46 +01:00
Nicolas Lempereur 70d0026125 [FIX] website: don't unescape translation text node content
When we had things like &nbsp; or &amp; in a text we want to translate,
the translation system would save it unescape (so \xa0 and &).

So in this instance, the traduction would not match the real source
which was not subjected to this unescaping.

opw-653173

note: fix is courtesy of dle (no need to forward port after saas-6)
2015-10-30 16:14:03 +01:00
Denis Ledoux 7158eaf80d [MERGE] forward port of branch 8.0 up to ee2b550 2015-10-29 16:28:54 +01:00
Goffin Simon 46266ee11e [FIX] website: _view_obj in multi websites
First 'key' and 'website_id' fields must be checked to retrieve
the right view.
Then if no view is found, it falls back on xml_id.

To choose the right ir_ui_view, _view_obj must take into account
the 'website_id' set in the context.

Inspired from function "get_view_id" in addons/website/models/ir_ui_view.py
2015-10-29 15:19:10 +01:00
Nicolas Lempereur 7ffc2916ee [FIX] website: slide position gallery snippet
Changing position of a slide from the gallery snippet was not working.

saas-6 part of #9284
opw-653061
opw-653167
2015-10-29 11:55:53 +01:00
Christophe Matthieu ee2b550f3c [FIX] web: radio button display empty value when change record
When a selection field with widget="radio" is False, the form view display the previews value for this field.

1 - Create a selection field (ex: [("1", "1"), ("2", "2")]), and display it on a form vue.
2 - Go to the form view (all the record have False value for this field).
3 - Change the value of this field for one record.
4 - In readonly mode, all other records now wrongly display this value (still False in DB or when "edit").

#opw-652002
2015-10-29 07:21:36 +01:00
Ludovic Laffineur lla 3dafb19c96 [IMP] payment_adyen: add support HPP notifications from adyen
It is mandatory to switch to a production account
2015-10-28 16:36:18 +01:00
Denis Ledoux cdc795b200 [FIX] sale: Taxes mis-aligned with their column label
Regression introduced with 71c624163c.

If the discount column is not added in the `tbody`
when not part of the group `sale.group_discount_per_so_line`,
the head column should not be added either in the `thead`

opw-653242
2015-10-28 16:28:25 +01:00