Commit Graph

75370 Commits

Author SHA1 Message Date
moylop260 f2ab162d31 [FIX] l10n_mx: Set reconcile=True on receivable and payable accounts
This is necessary to enable reconciliations on these
accounts, and also ensures the residual amount on
invoices will be properly computed.

Closes #5235
2015-02-12 15:08:08 +01:00
Denis Ledoux c9154e08aa [FIX] api: environment recomputation
In a workflow context (for instance, in the invoice workflow),
context is not passed.

Therefore, relying on the 'recompute' key being the context
in order to not recompute the fields does not work with Workflows.

It leads to huge performance issues,
as fields are recomputed recursively (instead of sequentially)
when several records are implied.
For instance, when reconciling several invoices with one payment
(100 invoices with 1 payment for instance),
records of each invoice are recomputed uselessly in each workflow call
(for each "confirm_paid" method done for each invoice).

With a significant number of invoices (100, for instance),
it even leads to a "Maximum recursion depth reached" errror.

closes #4905
2015-02-12 14:57:31 +01:00
Denis Ledoux a67747f77e [FIX] website_quote: duplicate sales order options on order duplication 2015-02-12 14:11:49 +01:00
Denis Ledoux 0e248245dd [FIX] website_quote: prevent to add options to a confirmed order 2015-02-12 14:10:14 +01:00
Christophe Simonis c7648a1026 [FIX] event_sale: data have to be in `noupdate` 2015-02-12 13:20:25 +01:00
Christophe Matthieu 9fbdd2d83d [IMP] website: improve speed of test crawl and load only one slug by route
If they are this routes:
/partner/p-1
/partner/p-2
...
/partner/grade-1/p-1
/partner/grade-1/p-2
...
/partner/grade-2/p-1
/partner/grade-2/p-2
...
We want test only one time the routes:
/partner/p-1
/partner/grade-1/p-1
2015-02-12 12:26:23 +01:00
Jeremy Kersten 7c751e9243 [FIX] web: insert notification container into the .openerp container
During the refactoring of the web client, the self.$el has been changed
from .openerp to body, so the notification was no more into the .openerp container.
Custom css (eg .highlight) was no more applicated.
2015-02-12 11:57:01 +01:00
Jeremy Kersten 6740cdaff5 [IMP] calendar: change default data for calendar alarm 2015-02-12 11:57:01 +01:00
Jeremy Kersten 8ef8cf7dba [IMP] calendar: use from_string and to_string from new api to convert datetime/string 2015-02-12 11:57:01 +01:00
Jeremy Kersten 064f18e6b6 [FIX] calendar: stop to think that cron will be always on time
Fix error where if no email_from was in openerp.tool.config, notif by mail was not sent
Add optionnal param 'missing' to allow to have missing alarm.

Missing field is the date from the last time that cron had run.
Now we stop to process the next 30 minutes, but we process all alarm since the next cron.
So, an email alarm will be always in delay, but a mail will be sent !

In v8 we use ICP to save the date, but it should be changed in master, maybe we should
save the last execution time in the ir_cron model directly ?
2015-02-12 11:57:01 +01:00
Jeremy Kersten f540c2c586 [FIX] calendar: add missing menu to manage calendar alarm 2015-02-12 11:57:01 +01:00
Denis Ledoux 314a0358b7 [FIX] website_membership: include free members in members page
This is possible to set a partner as a free member
simply by checking the "free member" box, in the partner form

This leads to the fact there is no membership lines for this partner
Before this rev., only partners having membership lines were displayed
on the website members page.
2015-02-12 11:56:08 +01:00
Denis Ledoux ee8919af84 [MERGE] forward port of branch saas-3 up to fe8845a 2015-02-12 11:05:00 +01:00
Denis Ledoux fe8845ade6 [MERGE] forward port of branch 7.0 up to 0b5271e9 2015-02-12 11:04:36 +01:00
Denis Ledoux 0b5271e90d [FIX] account: always use a copy when altering a context
To avoid wrong context propagation
2015-02-12 11:03:54 +01:00
Josse Colpaert 30b5285c9d [IMP] Add composite indexes for stock_move and stock_quant and do manual query for history_ids when splitting quants to avoid unnecessary full table scan on stock_move
[IMP] Improve indexes

[IMP] history_ids opti

[IMP] Clean and document

[IMP] Clean
2015-02-12 10:08:29 +01:00
Josse Colpaert d42af010ce [IMP] Do manual query in search for negative quants to avoid ORM ordering by id and as such always using the wrong index
[IMP] Simplify code

[IMP] Negative quant search should include child locations also

[IMP] Comment

[IMP] Could be child_of also
2015-02-12 10:08:29 +01:00
Christophe Simonis 33a8989d77 [MERGE] forward port of branch saas-3 up to d73eeab 2015-02-11 16:40:01 +01:00
Christophe Simonis d73eeab5ba [MERGE] forward port of branch 7.0 up to 9fe040e 2015-02-11 16:39:11 +01:00
Denis Ledoux e92e633e64 [FIX] google_account: sync of event deleted google side
When creating and deleting (disabling, actually)an event without syncyng with google,
this is possible that Google returns a 404 status page,
meaning the event we are trying to delete google side do not exist.

We can safely ignore these 404 pages, as the event are not anymore existing
in Odoo side either

opw-627767
2015-02-11 15:20:17 +01:00
Denis Ledoux 9fe040e592 [FIX] account: invoice analysis residual amount
When having an invoice with multiple lines having the same
product_id and account_id, the residual amount was wrong.

This is due to the fact the residual amount of each line
was computed on the residual amount of the invoice divided
by the number of lines of the invoice, and the fact the main
select of the sql view was grouped by product_id, account_id.

So, for an invoice defined as
Product Account Total
A       1       10
A       1       10
B       1       10

The invoice analysis, grouped by product, account, computed
Product Account Total   Residual
A       1       20      10
B       1       10      10

The residual amount '10' of the first line being
30 (the residual amount of the invoice)
divided by 3 (the number of lines in the invoice)

The residual amount of the invoice should actually be divided by
the number of lines in the invoice * the count
of occurences in the group by clause
So, in this case, (30 / 3) * 2 = 20

Replacing the big jointure by
SELECT count(*) FROM account_invoice_line l where invoice_id = ai.id
to get the number of lines in the invoice
is just an optimization for performances

opw-621672
2015-02-11 13:10:54 +01:00
Géry Debongnie 2d524c947c [FIX] web: editable lists and read only fields bug
when the user press tab in editable list views, the focus is supposed to
go to the next cell unless it is at the last cell of the line.  in that
case, it is supposed to create a new record.

Sadly, when the last cell is readonly, this does not work.  This commit
make sure that read only fields are properly ignored when computing the
last_field state.
2015-02-11 12:46:13 +01:00
David Monjoie 88349d0fab [FIX] point_of_sale: added date_done field value on generated stock.picking
Fix for Issue 627561 (5169 on Github)
2015-02-11 10:23:02 +01:00
moylop260 9ec5529ac1 [FIX] product: avoid duplicate product ref in demo data
Closes #5142
2015-02-11 10:14:35 +01:00
Josse Colpaert 73899fd2dd [FIX] Store for moving package with inner packages. Further Fixes #5125
[IMP] Search quant instead of underlying packages
2015-02-10 17:46:49 +01:00
Denis Ledoux 08888b21b8 [MERGE] forward port of branch saas-3 up to 48f527b 2015-02-10 15:32:20 +01:00
Denis Ledoux 48f527b860 [MERGE] forward port of branch 7.0 up to 368c674 2015-02-10 15:31:51 +01:00
Julien Laloux 368c674a9b [FIX] account_followup: formatted user language date in followup text
When using %(date)s in the follow-up text in the follow-up levels configuration
the date was formatted within server date format
instead of the partner language date format.

Closes https://github.com/odoo/odoo/pull/5168
2015-02-10 15:26:57 +01:00
Alexandre Fayolle 0e1deed63b [FIX] purchase: typo in commit 675357b + add coverage test
Closes #5193
2015-02-10 14:51:18 +01:00
Antony Lesuisse af3a8ada58 [FIX] hw_escpos copyright notice
In v9 we will plan remove the lib and replace it by an optionnal import.
2015-02-10 14:24:54 +01:00
Martin 3cf45e1111 [FIX] hw_escpos: Backport driver robustness 2015-02-10 13:24:59 +01:00
Raphael Collet 2067a206ec [FIX] models: process onchange methods on new records in the order of the view
The onchange() on new records processes fields in non-predictable order.  This
is problematic when onchange methods are designed to be applied after each
other.  The expected order is presumed to be the one of the fields in the view.

In order to implement this behavior, the JS client invokes method onchange()
with the list of fields (in view order) instead of False.  The server then uses
that order for evaluating the onchange methods.

This fixes #4897.
2015-02-10 13:12:40 +01:00
Denis Ledoux 372f4a82d5 [FIX] account_followup: set lang for each partner
So dates are formatted using each partner language date format
2015-02-10 12:37:58 +01:00
Leonardo Pistone 0715a408e8 [FIX] stock: propagate owner from pack to stock operation
Using pack instead of picking for more precise tracking of the owner.
Fixes #5165
2015-02-10 16:53:07 +05:30
Denis Ledoux c718661ba8 [FIX] hr_timesheet_sheet: default product in analytic lines
The module analytic_user_function allows to define a specific product
to use, when creating timesheet activities for a specific employee
with a specific contract

Nevertheless, the product was not set accordingly to this feature
for the first timesheet activity, because,
when initilialing the timesheet line,
the on_change_account_id, which returns
the product to use according to the user and contract, was called
without passing the user.

Besides, by default, on_change_account_id does not have a user_id parameter,
this parameter is added by the module analytic_user_function, overriding
this onchange, and adding a new user_id parameter (which is not a good pratice).

We therefore use multi_on_change_account_id, which allow to pass the user_id,
within the context
2015-02-10 11:54:55 +01:00
Martin Trigaux 3c3f54549a [FIX] account: typo in 45485fe
My bad, blame the heat
2015-02-10 14:11:08 +05:30
Alexis de Lattre 45485fe1d6 [FIX] account: multicompany with currency rates
A record rule exists on currencies but not on rates.
If creates multiple currencies with rate = 1, we could fetch the wrong one in
the search and get a security exception while trying to convert rates.
Fixes #3323, opw 626353
2015-02-10 14:06:29 +05:30
Denis Ledoux 534d4e3e07 [MERGE] forward port of branch saas-3 up to a8fdc60 2015-02-09 17:58:28 +01:00
Denis Ledoux a8fdc60b88 [MERGE] forward port of branch 7.0 up to 1d76586 2015-02-09 17:57:39 +01:00
Denis Ledoux 1d76586a1b [FIX] web: context lang & active* in action buttons
This reverts rev. 9f9e7ef0e1

As explained in 9f9e7ef0e1,
if a field "lang" is present in the view, clicking in any action item
in the more menu leaded for the action title to be translated
in the lang value of the form, such as in the partner form.

9f9e7ef0e1 fixed the issue,
but has as side-effect to not update correctly the active* keys.
So, if "active_id" was used in the context of the action button,
and the active_id was set in the dataset context, for example
because you come from another form, trough another action button
(For instance, Customers > Opportunities > Logged Calls),
the active_id was not updated with the current id of the record.

opw-620293
opw-617321
fixes #3462
2015-02-09 17:53:11 +01:00
Adrien Peiffer (ACSONE) 675357b7d7 [FIX] purchase: propagate analytic accounts when invoicing on incoming shipments
Closes #5127
2015-02-09 16:31:19 +01:00
Denis Ledoux ca7036776d [FIX] web: do not apply default_order if list grouped
If the list view is grouped (with a groubpy filter),
the default order must always be the order of the groupby
2015-02-09 14:44:45 +01:00
Josse Colpaert 05e1b3d5ea [FIX] Simplify destination package and don't write package info on quant when moving entire packages Closes #5125 2015-02-09 14:19:59 +01:00
Nicolas Piganeau 7f8b12619b [FIX] Quants in a pack added to a parent pack remain in their child pack 2015-02-09 14:19:59 +01:00
Julien Legros 318f254761 [IMP] fetchmail: process pop messages in subsets
Most pop servers don't perform deletions until QUIT. If for some reason
the process is killed while fetching a large quantity of messages, the
quit method isn't invoked, while the commit method has been. We may thus
end up with duplicated messages the next time we try to fetch. It therefore
helps to fetch the messages in small subsets and call the quit method between
those subsets.
2015-02-09 13:21:06 +01:00
Denis Ledoux 1d7120a978 [FIX] hr_timesheet_sheet: prevent modify activities of confirmed sheets
In 7.0, prevent changes in activities of validated sheets was done thanks to the constraint
_check_sheet_state.
In 7.0, python constraints were checked at each write operations
whatever if the fields on which the constraint is were altered or not

This is no longer the case in Odoo 8.0: The constraint is checked
only if the fields on which the constraint is are altered.

As this specific constraint must be applied anytime, whatever the altered fields,
we now do this constraint check in the "write" method.
Besides, it was already the case for the unlink method.

opw-627415
2015-02-09 12:30:28 +01:00
buke 9d4bea10eb [IMP] hr_attendance: performance improvement
has_group is cached and do not fetch all the users with a slow `group.users`
2015-02-09 16:53:38 +05:30
Denis Ledoux eaa32e51dd [MERGE] forward port of branch saas-3 up to 9003537 2015-02-09 12:19:36 +01:00
Denis Ledoux 9003537222 [MERGE] forward port of branch 7.0 up to dd9d8b0 2015-02-09 12:14:09 +01:00
Denis Ledoux dd9d8b0c84 [FIX] hr_timesheet_sheet: prevent new activity on confirmed sheets
Once a timesheet confirmed, the activity hours should not be modified,
for any reasons.

The constraint _check_sheet_state prevents to modify activities
for confirmed timesheets, but does not prevent the addition
of new activities within the current, but confirmed, timesheet.

opw-627415
fixes #5128
2015-02-09 12:13:17 +01:00