Commit Graph
103200 Commits
Author SHA1 Message Date
Thibault Francois 2b775b0136 [FIX] Make hr_timesheet updatable, remove command 0 in one2many that will violate the unique key constraint and replace them by the creation of ir.actions.act_window.view 2016-07-04 14:17:07 +02:00
Olivier Dony d4d09df143 [MERGE] Forward-port saas-10 up to f76f4cd0b6 2016-07-01 20:14:28 +02:00
Olivier Dony f76f4cd0b6 [MERGE] Forward-port 9.0 up to 7f2e748a22 2016-07-01 18:36:24 +02:00
Olivier Dony 8d8f1bdb6a [FIX] ir.qweb: t-lang had no effect anymore, e.g. when printing reports
Setting the env of the qwebcontext is not sufficient because the closure
of the `loader` carries its own contexts and lang, so subsequent t-calls
may still use the original language.

This was broken by the new API conversion at commit
4ddc323139,
and further broken by the forward-port
6c8141a1dfa9fa44067d052b368e3851972d836cA with a wrongly indented line.
2016-07-01 18:09:32 +02:00
Cedric Snauwaert 2f3b32c676 [FIX] base_import: fix error when trying to load a file and then clicking on cancel while file opener is opened 2016-07-01 16:57:27 +02:00
Raphael Collet f4677cf2a6 [FIX] account, purchase: keep model 'mail.compose.message' transient 2016-07-01 16:04:55 +02:00
Raphael Collet 4ee6adf4b2 [IMP] models: model extension may not change kind (abstract, model or transient)
This prevents a model extension from:
 - changing an abstract model to a non-abstract one,
 - changing a transient model to a non-transient one or vice-versa.
2016-07-01 16:01:04 +02:00
Simon Lejeune 7f2e748a22 [REV] base: allow 'render' override with new api
Using a frozendict as context breaks the `t-lang` mechanism, as
the `loader` is not aware of the changes of a copied frozendict
and thus is still using the values from the original context,
including the lang one.

This reverts commit e1deae7eab.
2016-07-01 15:41:39 +02:00
Nicolas Martinelli 9a7ed7cabd [FIX] sale_mrp: COGS in case of kit
When a kit is sold, the unit price of the COGS recorded is the sum of
the unit prices of each component multiplies by the quantity sold.
Obviously, this is not correct since the unit price should not take into
account the quantity sold.

opw-681403
2016-07-01 11:05:28 +02:00
Olivier Dony 61a9cdc3f8 [FIX] account: fix unclear wording for Net EOM payment terms
The previous wording was inaccurate and made users think it
was impossible to setup "Net EOM" payment terms.

Updated POT file accordingly, but not PO files because this
requires a proper new translation.
2016-06-30 18:11:51 +02:00
Goffin Simon 31fb5275fd [FIX] product_extended: bom_count appeared twice in a view
The field bom_count appeared twice in product.template form view and
then the smart button for "Bill of Materials" always displayed 0 as
number of BoMs.

opw:681830
2016-06-30 15:28:04 +02:00
Goffin Simon bdec480434 [FIX] account: _compute_base_amount
When computing the base amount of a tax, all the include base amount
taxes must be considered.

Closed #12481

opw:681102
2016-06-30 15:12:13 +02:00
Christophe Simonis 52a380c539 [FIX] event_sale: remove useless onchange + set related fields as readonly
These fields lost their readonly attribute during the convertion to
new-api. Due to the new-api, onchange is now unnecessary.

Readonly related are required to have the right to create sale order
without write-access on products.
2016-06-30 15:03:25 +02:00
Yannick Tivisse 692d41c686 [IMP] Classified each module in its category to display them correctly on odoo/apps
To be displayed correctly on odoo app (In a given category and not only in all or hidden)
the module category in the __openerp__.py file should be one of these:

    "Accounting",
    "Discuss",
    "Document Management",
    "eCommerce",
    "Human Resources",
    "Industries",
    "Localization",
    "Manufacturing",
    "Marketing",
    "Point of Sale",
    "Productivity",
    "Project",
    "Purchases",
    "Sales",
    "Warehouse",
    "Website",
    "Extra Tools",

'Accounting & Finance' will not work, as 'Project Management', ...
2016-06-30 13:27:46 +02:00
Yannick Tivisse 2f020dc8b9 [IMP] Remove 'author' field in __openerp__.py files to user default value 2016-06-30 13:27:46 +02:00
Denis Ledoux 7c9ab02c53 [FIX] website_event: make Attendee # translatable
On the website,
when registering for an event with ticket,
the placeholder `Attendee #` could not be translated,
as `t-att` attributes are not translated.

An alternative is to put the string to translate
in a `t-set` node, which can be translated, and
to use the variable assigned in this `t-set`
in the `t-att` attribute.

opw-678758
2016-06-30 13:01:27 +02:00
Denis Ledoux bc2a06c019 [FIX] http, website_form: preserve form input values order
By default, werkzeug doesn't preserve the order
of the parameters sent to routes.

As stated in the werkzeug documentation:
```
parameter_storage_class

the class to use for args and form.
The default is an ImmutableMultiDict which supports multiple values per key.
alternatively it makes sense to use an ImmutableOrderedMultiDict
which preserves order or a ImmutableDict which is the fastest
but only remembers the last key.
It is also possible to use mutable structures, but this is not recommended.

New in version 0.6.

```

For some of our use cases, it makes sense to keep the order
of the route parameters.

e.g. In the website builder, when building a form
with a bunch of inputs values that will be concatened
in a lead note, the user expects the answer to be displayed
in the same order than the form inputs.

This change is seen as a bit risky as it could lead to
performances issues in the http routes processing, and this
is the reason we do not merge this in stable 9.0 at the moment.

If needed, it could be back ported later to 9.0, after
several weeks/months of testing in this release(saas-10 atm).

opw-677508
2016-06-30 10:45:55 +02:00
Nicolas Lempereur 811dd8f24c [FIX] web: submenu need toggling of .o_hidden
Since dce2a309 submenus where hidden by using the class `o_hidden` but
this was not taken into account when showing them (so opening submenu
was not possible).
2016-06-30 09:30:06 +02:00
Nicolas Martinelli a4e4881f4c [FIX] website_portal: missing kwargs
The route "/my/home" is missing kwargs, therefore switching to debug
mode or trying to translate leads to a traceback.

opw-681380
2016-06-29 16:39:51 +02:00
Christophe Simonis 2eebef8d41 [FIX] web: pager minimum on next/previous record
Since the deduplication of web addons (977db823c7),
patch 9062c01c02 (freshly forward-ported)
is now useless. Apply odoo/enterprise@26adf4fe2c couterpart.
2016-06-29 13:58:20 +02:00
Goffin Simon 58bdc39fb8 [FIX] product_extended: bom_count appeared twice in a view
The field bom_count appeared twice in product.template form view and
then the smart button for "Bill of Materials" always displayed 0 as
number of BoMs.

opw:681830
2016-06-29 11:58:54 +02:00
Nicolas Martinelli cef9759c31 [FIX] account_extra_reports: partner of other company
Printing the report "Sale/Purchase Journal" leads to an access error if
one of the partner of an account.move.line is from another company.

opw-681104
2016-06-29 11:34:44 +02:00
Nicolas Martinelli 4c4b0b6e1f [FIX] doc: RHEL-based installation
The instructions to install Enterprise version on RHEL-based
distributions are not correct.

opw-681767
2016-06-29 11:08:23 +02:00
Nicolas Martinelli dd233bd40e [FIX] mail: message order
It might happen that a transaction produces more than one message in the
chatter. In this case, the messages are created with the exact same
date, and they might appear in the wrong order in the chatter.

We therefore sort the messages by id, and not by date. Note that the
messages are already sorted when received from the server, but the web
client has its own management of the messages' order. Relying on the
server order might imply to change other parts of the code on client
side, which is something we want to avoid on a stable version.

opw-681049
2016-06-29 10:23:29 +02:00
Goffin Simon 1d843884e8 [FIX] account: Empty list with get_default function in "ir.values"
The function get_default in "ir.values" can return an empty list.
This is why checking that the result of this function is a list was not
enough.
2016-06-29 09:25:48 +02:00
Adrien Dieudonne 1ec2e4b22d [IMP] mail: limit number of messages fetched to 25 2016-06-29 08:36:41 +02:00
Christophe Simonis 71530771ea [FIX] web: re-add now usefull variable self 2016-06-28 17:05:11 +02:00
Martin Trigaux cf1e8dcb92 [IMP] point_of_sale: migration of the action
Was removed at 2e4b82f4 (for good reasons) but an explicit empty value is better
for migration as it prevents needing to explicitly removed the domain.
2016-06-28 16:24:21 +02:00
Nicolas Martinelli 506c161990 [FIX] stock: appropriate chatter log when picking done
Commit d349584 solved the state change tracking of pickings, and
moreover prevents unnecessary state changes to be recorded. However,
this also prevents the state "Done" to be recorded in the chatter.

Saving properly the state change for the picking might be quite tricky,
since the stock processes sometimes imply unreservation/rereservation of
quants, and therefore lead to several state changes inside the same
process.

opw-680343
2016-06-28 16:13:34 +02:00
Denis Ledoux 8e9187e746 [FIX] account: partner ledger report, _lang_get
From revision 2483327236
`_lang_get` returns a browse record

opw-682034
2016-06-28 15:24:23 +02:00
Christophe Simonis 5166fbd21b [MERGE] forward port of branch saas-10 up to 6d51bce 2016-06-28 15:12:06 +02:00
Nicolas Martinelli 6d51bce057 [FIX] account: money in/out in PoS
It is not possible to take money out or put money in for a PoS since it
leads to a traceback.

The decorator `@api.one` returns a list, which is something we don't
want when the method returns a dictionary.

opw-681417
2016-06-28 14:17:39 +02:00
Christophe Simonis 841aa4e208 [MERGE] forward port of branch 9.0 up to 3e15b86 2016-06-28 14:10:35 +02:00
Martin Trigaux 3e15b86428 [FIX] point_of_sale: do not insert related fields on one2many
fields ref, journal_id and date on account.move.line are all related fields on
the account.move.
Setting a value here is then useless and triggers write on the account.move
after the creation of the account.move.line (inverse values in write)
2016-06-28 13:23:41 +02:00
Martin Trigaux 5d9e4b7858 [FIX] account: performances of map_tax
break on first match instead of checking other Tax Source that will not match
anyway.
2016-06-28 13:23:41 +02:00
Martin Trigaux 173b76c7bb [FIX] point_of_sale: performance and invalidation
Function fields, old-api style, that are not stored do not have cache
invalidation mechanisms. This means that they are recomputed every time the
field is accessed.
Due to the way the cache behaves, the records that are present in the cache will
be included when the prefetching is done.

In the scenario of the a POS session being closed, this implies that the cache
will contains more and more account.move.line records and try to prefetch all
(hopefully max 1000) without ever relying on the computed result for the next
access. This makes the computation of fields `amount_total` and `price_subtotal`
very slow, even for orders with a very low number of lines.

Backport the new API migration of these computed field to benefit from depends
mechanism and keep the computed value into cache when needed.

In master these fields should be stored.
2016-06-28 13:23:41 +02:00
Christophe Simonis 10550aa5a5 [MERGE] forward port of branch saas-6 up to e68ed41 2016-06-28 13:11:35 +02:00
Christophe Simonis e68ed417b6 [MERGE] forward port of branch 8.0 up to 3e965ec 2016-06-28 12:23:54 +02:00
Martin Trigaux cbbc90fc2e [FIX] website_payment: access parent payment method
On the other routes (e.g. /my/, /my/contract/) payment information on the parent
contact are displayed but can not be access in the my payment route.
You get in a unconsistant situation where you can access the contract of the
company and its payment information but can not use this payment information.

opw-681491, opw-681502
2016-06-28 12:16:41 +02:00
Christophe Simonis b355377a25 [IMP] web: visible default color on tags now visible in kanban view
un-revert of fe66472e2c which have
wrongly been reverted with 977db823c7
2016-06-28 12:01:27 +02:00
Goffin Simon 8ec03fde14 [FIX] point_of_sale: _check_unicity
A violated python constraint must raise a validation error.
This is expected by function _validate_fields.

opw:681212
2016-06-28 10:43:30 +02:00
Nicolas Martinelli 77212863b1 [FIX] stock, sale_stock, portal_stock: picking access
An access error occurs when a the delivery address of a SO is set to a
different partner than the SO partner. In this case, the picking
created is associated to the partner of the delivery address. This is an
issue when the SO partner tries to view the picking from the front-end
("My Account"), since he is not allowed to access it.

opw-681341
2016-06-28 09:10:55 +02:00
Martin Trigaux cc4f8df99f [FIX] account: compute total invoice in batch
The computation of the total_invoiced field did not work in batch mode.
When displaying a company in a form view (field invoice_total comptued), the
children of this company are present in the cache and the value of the field
invoice_total will be prefetched for these children as well (at least in 9.0).
Most of the time this is redudant information and the same value is computed
for each child while most of the invoices are on the parent.

Batching the computation per partner allows to make one global query for all
partners.

Add test to make sure the total increase correctly after a test invoice
confirmation.
2016-06-27 17:20:05 +02:00
Denis Ledoux 9062c01c02 [FIX] web: pager page on next/previous record
When browsing a form with a one2many / many2many field
with several pages, the one2many pager page was not reset
when going to the previous/next record, while the next/previous
record could not have multiple pages on its one2many/many2many,
and the page on which the user was on the former record could
not exist in the newly displayed record.

Besides, even if the page does exist, there is no reason
to display this new record X2many value from its first page.

It's the case anyway when you edit/save, it comes back to the first page.

opw-679092
2016-06-27 16:50:47 +02:00
Martin Geubelle f8ca7634ca [FIX] base: rate with correct current user's company
Bug introduced in 7eab8e2.

As `self.env.user` is browsed with `sudo`, the result of this call
will always return the admin's current company and not the user's current
company.

opw-681809
2016-06-27 16:20:47 +02:00
Goffin Simon d577eeaa6e [FIX] product: pricelist items
With the pricelist, it is possible to define a pricelist just for
a variant. But in the product.product.form, only the pricelist items
linked to the product template could be displayed.
The field item_ids has been created in product.product model to display
all the pricelist applied on a product.

opw:674700
2016-06-27 15:47:58 +02:00
Géry Debongnie 96bf5b2656 [FIX] web: fix label for selection fields in grouped list view
Before this commit, the list view, grouped by a selection field, displayed the
'technical' value of the field as group label.  It was basically forced
to do that, because the result of the read_group only contains the
technical value.

This commit changes the list view in a way that it now requires a full field
get, so it can use it to find the correct string.
2016-06-27 14:03:54 +02:00
Nicolas Martinelli 3229629579 [FIX] stock: reserved quants in lots
Let's take the following case:
- Enable lot tracking on a product
- Costing Method is "Real Price", Inventory Valuation is "Perpetual"
- Create a picking with 2 stock moves, each stock move is linked to the
  same product

When the picking is validated, 4 account moves are created instead of 2.

This occurs because the list of stock moves and the list of reserved
quants is sent to the method `_move_quants_by_lot`, but there is no
check to which stock move is related a given quant.

For most cases, the issue doesn't show up since there isn't usually 2
stock moves with the same product in a given picking. There is at least
one use case where this happens: selling a pack of two identical
products. In this specific case, 2 stock moves of the same product are
created, but one pack operation will merge the 2 stock moves.

opw-680308
2016-06-27 12:19:08 +02:00
Martin Trigaux 5abcbf0eb2 [FIX] js: translations and string substitutions
_('foo '+bar) does not work as `bar` is a variable with undefinied content
during translation export (and variable content during evaluation) so a match
will not be found.
Also trailing spaces are stripped during synchronisation with transifex.

The proper syntax would be
_.str.sprintf(_t("foo %s"), bar)
but to avoid breaking existing translations (need to reexport .pot)
use the syntax
_("foo ") + " " + bar
that is more stable friendly.

The 'No value found for the field...' string is not possible to be fixed without
breaking the translations should be split at least twice.
Write it the propre way directly.
2016-06-27 12:05:36 +02:00
Denis Ledoux 0fa052cc1e [FIX] l10n_generic_coa: remove liquidity account templates
These accounts are created automatically on the journals creation
e.g. On the creation of a Bank Journal, a Bank account is automatically
created, linked to this journal.

Before this revision, when installing the generic chart of account
(or l10n_us), you had two Bank accounts (101400, 101401),
and two Cash accounts (101500, 101501),
by default,
which is not right.

opw-676950
2016-06-27 11:21:35 +02:00