Commit Graph

75736 Commits

Author SHA1 Message Date
Nicolas Lempereur a5e32690b0 [FIX] tests: UTC used in test when it should not
The test for account followup use UTC time, but the default `date_maturity`
and `date_due` of an account invoice come from fields.Date.context_today`.

One failing test for project_timesheet also used `today` instead of
`context_today`.

So depending on the test user timezone, an error of one day (if UTC time
and user time are on different day) occured which failed the tests.

For example:

* user has GMT+1 timezone, test fails 0:00am–1:00am (11:00pm-0:00am in UTC)
* user has GMT+3 timezone, test fails 0:00am–3:00am (9:00pm-0:00am in UTC)

This fix removes UTC use in the tests.
2015-03-10 17:33:43 +01:00
Denis Ledoux 89093a2616 [FIX] hr_timesheet_sheet: performance improvment of timesheet report
It always better to avoid doing the same join multiple times when
possible.

opw-629857
2015-03-10 16:20:40 +01:00
Nicolas Martinelli f7de3f0603 [FIX] account: product variants prices in invoices
when a customer invoice is created directly,
if a product variant is selected,
it now computes the price from the product variant and
not from the product template.

opw: 629285
2015-03-10 14:56:25 +01:00
David Monjoie 6758b4cfc5 [FIX][REF] purchase: prevent confirming order if no stockable item
After discussing with jco, we decided to keep it simple and have a coherent behavior between different versions, we then changed the behavior from the one of jbefficient PR at 92adf673f7.
2015-03-10 14:22:32 +01:00
Nicolas Lempereur 9abf7a2010 [FIX] mass mailing: keep menu when back in backend
The menu was not present in 8.0 when going back from the mass mailing email
composer to the backend. This fix adds the current action id as a return_action
query string parameter and return to the correct action.

fixes #5591

opw-629526
2015-03-10 13:51:08 +01:00
Denis Ledoux 9e4a8e814f [FIX] mail: suggested recipient for emails without author
When a message had no author (this is accepted),
a recipient without full_name, name and email address
was added to the suggested recipients of the thread,
leading to a "(no email address)" within the suggested recipients,
which is not really useful.

opw-629797
2015-03-10 11:38:44 +01:00
Géry Debongnie 1fe4cef530 [FIX] web: fix issue with search view input
This patch hopefully solves an annoying issue with the search view:
when the user types really fast (or uses a barcode scanner for example),
the resulting search string was (sometimes) missing the last few
characters.  I'm unclear on the exact reason why it happens.  From the
code, I can only guess that it happens because the scanner use a TAB
key instead of ENTER (TAB is handled in keydown event, ENTER in keyup),
or that the key events aren't in a correct order (if the user press a
key A, then press ENTER, then release ENTER, then release A, it results
in an empty key).

Anyway, the way this patch probably solves the issue is by using the
keypress event for triggering the search view.  I hope that in every
case, the keypress event are correctly ordered.  It leads to some code
I'm not really proud of this patch, but the key event handling are
quite messy.  Also, I need to handle the search string also when the
keyup event is fired, because it might change the search (for example
backspace trigger a keyup, but not a keypress).
2015-03-10 11:28:56 +01:00
Denis Ledoux a8d520552b [FIX] website_quote: do not display notifications in website quote
Some information should be hidden from the customer.
Changes of price, for instance.

opw-629746
2015-03-10 10:39:43 +01:00
Goffin Simon 9562bf8398 [FIX] account_payment: supplier invoice on more then one payment oder
The field move_line_id only shows account move lines that still have
an amount to pay. This was lost during 333e83fc5b.

opw: 625946
2015-03-10 09:14:14 +01:00
Christophe Matthieu 74497a667f [FIX] website_sale: If there is no description_sale for the product set the cart display the product name and 'False' 2015-03-09 20:34:01 +01:00
Nicolas Martinelli 2cc09e86af [FIX] web: on_change event on one2many fields was not fired if an attribute is mandatory (courtesy of Christophe Matthieu)
opw: 626974
2015-03-09 16:20:36 +01:00
qdp-odoo 5e3e41b730 [FIX] mrp_repair: removing deprecated and confusing tooltip on guarantee_limit 2015-03-09 15:12:31 +01:00
Olivier Dony 3a8ce072cd [FIX] sale_stock: context is generally frozen in 8.0 2015-03-09 15:03:19 +01:00
Olivier Dony 64da3c5e17 [FIX] website_forum: hide questions coming from abusive users
When a user's karma is driven to a negative value
due to repeated abuse or the posting of spam,
automatically hide all their posts from public
view.
This will reduce the effectiveness of their abuse,
and simplify moderation and cleanup.
2015-03-09 14:41:14 +01:00
Olivier Dony 13476c844d [FIX] fields.html, forum: opt-in stripping of @style attrs
For public-facing HTML content provided by the user,
`<style>` tags and `style` attributes should be stripped
automatically, as they can easily be abused to deface
pages for abusive users and spammers.
<style> tags were already stripped, the optional `strip_style`
for fields.html enables the automatic stripping of style
attributes.

This is opt-in because custom style attributes are still
desirable in trusted HTML fields.
2015-03-09 14:41:14 +01:00
Denis Ledoux 948befbb34 [FIX] mrp: set decimal precsion on qty field for produce wizard
In manufacturing bom lines, digits_compute is set
to the precision 'Product Unit of Measure'.

It should be the case as well in the produce wizard,
otherwise you won't be able to change the quantity
within this wizard to the according product quantity precision

opw-629657
2015-03-09 12:23:14 +01:00
Denis Ledoux 20173836b1 [FIX] mrp: preserve bom lines order within produce wizard
BOM Lines are ordered by a sequence field,
the "handle" widget makes even possible the lines reordering.
The order was respected within the mrp.production
(in o2m products to consume and consumed products)
but not within the mrp.product.produce wizard

opw-629629
2015-03-09 12:14:24 +01:00
Christophe Simonis 416f0246ac [MERGE] forward port of branch saas-3 up to 4a3c471 2015-03-09 12:03:22 +01:00
Denis Ledoux d93c4bef1d [FIX] mrp: always use float_compare to compare floats
When comparing a float value to 0.0,
it can happen the float value is very near to 0.0,
but not exactly 0. This is the point to use float_compare,
```float_compare(qty, 0, self.pool['decimal.precision'].precision_get(cr, uid, 'Product Unit of Measure'))´´´
will compare qty to 0, with the product unit of measure precision (0.01 by default).
So, if qty is equal to 0.00001, this means the qty is regarded as equal to 0.0.
(float_compare will return 1).
2015-03-09 11:49:41 +01:00
Christophe Simonis 4a3c4713e9 [MERGE] forward port of branch 7.0 up to 209ce6f 2015-03-09 11:24:32 +01:00
odoo-tac 209ce6f48c [FIX] Fixed a typo in project.py exception message 2015-03-06 17:11:57 +01:00
jesusVMayor 591d207ff9 [FIX] sale: reset state of exception procurements only
During the delivery of a picking the procurents in exception or canceled are
reset to confirm state.
As the list of picking was a list shared in the loop, other procurements may be
reset to confirm as well.
2015-03-06 16:00:54 +01:00
xmo-odoo d9c9ac72da [FIX] export: decode Field strings before comparisons
Allows exporting fields whose string is a non-ascii *byte*string (rather than unicode).

backport of 7286f4e424 fixing #773 to branch 7.0 by request of @flotho
2015-03-06 13:12:50 +01:00
Josse Colpaert f1a9ab7025 [FIX] stock: typo not in 2015-03-06 13:00:31 +01:00
Josse Colpaert b886e11e47 [IMP] Stock: When changing wh config: check before deactiving locations fixes #4985
When changing e.g. from 3-step to 2-step, we would like to deactivate a location,
but maybe the user still wants to use that location e.g. in a rule on the product, so do a check
if it is not used in some route not related to the warehouse.
2015-03-06 11:06:38 +01:00
Wolfgang Taferner 6b1f475bb5 [FIX] Missing possibility to define a file_type on creation/write of a
document which leads to an error message in case the indexer could not
retrieve the content type automatically.
2015-03-06 10:10:41 +01:00
Josse Colpaert 872a80c419 [IMP] Stock: Not only service products can be invoiced after shipment, but also lines without product
Purchase lines or sale order lines without product should have the same behaviour
when invoicing based on shipments as those with services
2015-03-05 18:09:11 +01:00
Denis Ledoux 3508104c97 [FIX] web: autocomplete dropdown wrong initial position
This issue is related to
http://bugs.jqueryui.com/ticket/8656
http://bugs.jqueryui.com/ticket/8749
d693ce5324

When opening a form view, scrolling down,
and opening a many2one dropdown menu,
the dropdown menu wasn't directly under its input.
It could be really problematic when the menu was not even
visible on the current browser page (when you had to scroll down
a lot to access the many2one input).

The issue was resolved as soon as you opened the dropdown
menu a second time, and did not happen if you didn't scrolldown.
But, on initialization, the dropdown menu wasn't at the right position.

Fixes #5603
opw-629601
2015-03-05 17:23:41 +01:00
Goffin Simon 6c9afff057 [FIX] account_payment: amount in payment order is not correct.
Amount in payment order is not correct if the account move
line has already been paid by another way. The right amount is
in the residual field related with move_id to the account invoice.

opw:628903, 628428
2015-03-05 15:37:20 +01:00
Denis Ledoux c9a72b79e4 [FIX] web: size of text fields textarea when invisible by default
Text fields, or char fields having widget="text",
were not sized correctly when the field was not
visible by default, ans was set visible thanks
to attrs and other fields values.

opw-629394
2015-03-04 17:56:05 +01:00
Goffin Simon ab9f02cdee [FIX] account_followup: overdue payments must exclude payments not yet due.
Before this revision, the overdue payments report contained all payments due,
including the ones in the future, that are not actually due yet.

opw-628874
2015-03-04 17:12:23 +01:00
Laetitia Gangloff f18304c0cd [IMP] account: Add auto_join on account move line
As the number of journal entries can grow quickly, domains such as
[('move_id.state', 'in', ['draft'])] will degrade very quickly.
Fixes #5573
2015-03-04 14:55:17 +01:00
Leonardo Donelli 017f346dd3 [FIX] product: keep partner to base pricelist
When a rule is based on another pricelist, the partner was not passed to the
base pricelist.
2015-03-04 14:33:06 +01:00
Romain Deheele 6626884255 [FIX] hr_expense: display analytic account on report
Order of attributes matter in QWeb and due to unexpected evaluation order
<span t-field t-fi /> will not works while <span t-if t-field /> do.
Since v8, the ORM will no longer crash to resolve foo.bar.name if bar is not
defined. The t-if clause is then not necessary and can be simply remove instead
of inverting the order of clauses.
2015-03-04 12:22:10 +01:00
jbeficent a81a7513b2 [FIX] purchase: prevent user to confirm a purchase order when there is a service product in it and invoicing is based on incoming shipments
Fix for issue 3492 and opw 628377
2015-03-04 11:37:54 +01:00
Romain Deheele 56f3f01491 [FIX] crm: retrieve title and function of partner in leads
When setting a partner on the lead,
the on_change_partner method retrieves
the various partner field values.

title & function fields were omitted, without obvious reasons

opw-629374
Closes #5388
2015-03-03 17:59:46 +01:00
Denis Ledoux 1628050030 [FIX] board: board creation of users other than admin.
It wasn't possible to create a new dashboard,
as a user other than SUPERUSER_ID,
using the "Create board" menu specifically
Reporting > Configuration > Create Board
(Technical Features & Administration > Settings groups required)
Because it creates a new menu for this dashboard,
which lead to the automatic creation of an "ir.values" record
which is prevented for other users than SUPERUSER_ID

opw-629367
2015-03-03 17:10:04 +01:00
Josse Colpaert 935141582f [FIX] Inventory line store for theoretical qty 2015-03-03 17:07:45 +01:00
Goffin Simon 1155099d2b [FIX] purchase: wrong currency printed on purchase order
Choosing a currency different than the purchase order pricelist is allowed.
Therefore, the purchase order report must display the currency
of the purchase order, and not the currency of the pricelist.

opw:628767
Fixes #5443
2015-03-03 16:54:53 +01:00
Goffin Simon 092c64b76f [FIX] website: translations for qweb templates not applied.
-Website.tours must be loaded after the translation data:
"website.ready" before the tour ensure that the translations are loaded.

-Translations for qweb templates not applied:
Translate all text nodes in qweb templates when translation data
are loaded.

-Add some translations in website tours.

opw:619786
2015-03-03 16:05:34 +01:00
Anton Chepurov 47ca07ba19 [FIX] product: sort attributes before checking existing variants
When generating the list of all needed variants, the attributes are sorted based
on the order in field attribute_line_ids while, when comparing with existing
variants, the order of the attributes on the product.product is the order
on the field attribute_value_ids. As both order could be different (no direct
relation), variants could be wrongly recreated instead of keeping existing one.

Make sure the attribute lists are always sorted.

Fixes #4361
2015-03-03 15:40:19 +01:00
Xavier Morel 3e18166ea4 [ADD] py.relativedelta: weekday handling
also various changes/fixes
2015-03-03 13:10:53 +01:00
Denis Ledoux 19aa7b732b [FIX] report: overflow of long content in reports colums
When having a long, non-breakable, content
within a report column,
e.g. an invoice with a very long, pipe-separated, origin,
the content overflowed on other columns.

Set word-wrap: break-word; prevent this behavior,
and is not considered dangerous regarding the possible
side-effects on the design in the reports layouts.

In fact, we should even consider applying this change
on the webclient itself. A similar issue happens in the form view
when having a field with a long non-breakable content,
e.g. a long, pipe-separated orign in an invoice. Nevertheless,
we should avoid taking risks in stable releases,
and this change in the webclient should therefore be done
carefully in master release.

opw-629352
2015-03-03 12:35:25 +01:00
Xavier Morel fb2b1d7568 [IMP] py.js relativedelta
Rewrite relativedelta.__add__ based on dateutil 2.4.0

* completely remove any hint of supporting time deltas (could be
  implemented in the future, but not currently asked for and lots of
  code to implement)
* implement weekday support (ordinal only)
* probably better leapyear support
* remove relativedelta.__sub__ (only works between relativedeltas)
* add relativedelta.__neg__

fixes #5089
2015-03-03 12:00:12 +01:00
Xavier Morel f64a2fa386 [ADD] js tests: more relativedelta tests
* add some more boundary tests and nudges
* add test for weekday

ref #5089
2015-03-03 11:55:18 +01:00
Xavier Morel adf5b5e0e8 [FIX] tests: overflow on test page body
inherited from main CSS, would prevent from scrolling body and thus from
seeing all the test cases and test case contents (e.g. error messages
and stack traces)
2015-03-03 11:54:12 +01:00
Xavier Morel 752e21a633 [FIX] py.js: arguments dispatching in PY_call
When providing an args of ``null`` (or ``undefined``) and a non-empty
kwargs, the kwargs would be removed/ignored.

While explicitly providing a null args is not necessary, it's perfectly
valid.
2015-03-03 11:51:50 +01:00
Olivier LAURENT 31194a59fb [FIX] analytic: parent of contract form view
unhide the parent_id field in the form view of analytic accounts of type
"contract or project"
Fixes #5513, lp:1237512, opw 598926
2015-03-03 11:50:54 +01:00
Nicolas Lempereur c40d5065fa [FIX] purchase: get taxes when create rfq from bid
When creating a request for quotation from a call for bids, the suppliers
taxes where not present in the quotation. Since a product `taxes_id` field
is a many2many, the unused triplets syntax caused the issue.

fixes #5307
2015-03-03 10:00:27 +01:00
Cédric Pigeon dc41a9b645 [FIX] sale_layout: invoice report
Put uos in same td tag than qty to avoid shift with header (one more cell)
Fixes #5515
2015-03-02 17:44:53 +01:00
Josse Colpaert 9284679abe [FIX] Add decimal precision on product template quantities fixes #5512 2015-03-02 17:18:13 +01:00
FalcoBolger 714fe9135d [FIX] Signature on overriden fields_get method 2015-03-02 16:52:53 +01:00
Denis Ledoux c3f4ec856c [FIX] website_sale: keep attributes filter in pager
While having a product list with 20+ products,
If more than two attributes were set in the shop filter,
going to the next page kept only the first filter.

opw-629188
2015-03-02 16:44:24 +01:00
Goffin Simon fc481c5e3a [FIX] website: quote slider not editable.
Quote slider must be editable when the snippet is dropped
in a page.

opw:628510
2015-03-02 16:25:58 +01:00
Yenthe 29cf197cfa [FIX] website_event: typo
compenents to components > Fixed the typo's.
2015-03-02 16:10:10 +01:00
Josse Colpaert 84b47f62eb [IMP] Add already the possibility to fill in the products you want in an inventory
In order to do that, we change the theoretical quantity into a functional stored field.
Therefore the on_change changes, but the old still work.
The UoM of the inventory line is also taken into account

[IMP] Manual selection, no theoretical qty compute on import, comments
2015-03-02 14:09:16 +01:00
Josse Colpaert edaec21835 [IMP] Change order of search terms when creating domain for search qty, clean 2015-03-02 13:59:39 +01:00
Denis Michiels acbef5552d [FIX] stock: improvement search on product
- The search on qty_available is faster by looking only to the quants.

- Less SQL queries
2015-03-02 13:59:39 +01:00
Josse Colpaert d4152c2a40 [IMP] Optimize child_of with parent_left and parent_right
[FIX] Make sure it does not give errors on runbot by providing an alternative when parent_left would be zero
2015-03-02 13:59:39 +01:00
Denis Ledoux 19ce5932e2 [FIX] warning: stock picking warnings
Warnings on pickings no longer worked, while it was possible
to set them in the partner form.

The problem comes from the fact onchange_partner_in no longer exists
on the picking form, by default. It was therefore never called,
on the warning never displayed.

opw-628956
2015-03-02 12:11:29 +01:00
Julien Legros 9339f1bfb1 [IMP] sale: quotation confirmed mail subtype defaults to False
This reverts commit 0130ce4e84.
2015-03-02 11:06:32 +01:00
Josse Colpaert 50fc06e275 [IMP] Fasten up procurement JIT in v8 already 2015-03-02 09:41:19 +01:00
Nicolas Lempereur 85ede15793 [FIX] purchase: get taxes when create rfq from bid
When creating a request for quotation from a call for bids, the suppliers
taxes where not present in the quotation. Since a product `taxes_id` field
is a many2many, the unused triplets syntax caused the issue.

fixes #5307
2015-03-02 09:11:13 +01:00
Goffin Simon 631d2f7146 [FIX] purchase: pricelist and related currency mismatch on purchase order (Bid received).
pricelist must be readonly when currency is readonly because there 's an onchange on currency which depends
on the pricelist.

opw:627009
Fixed #4598
2015-03-02 08:44:45 +01:00
Leonardo Pistone ddb900c7c5 [FIX] product: demo data irrelevant product description
Closes #4735
2015-03-01 03:34:00 +01:00
Laetitia Gangloff eda2736e4c [FIX] account: journal_id should be readonly when there is already invoice internal number
Closes #5162, #5167
2015-03-01 03:23:01 +01:00
Cédric Pigeon cf2b1143dc [FIX] hr_timesheet_invoice avoid empty returns in invoice line description
Closes #5242
2015-03-01 02:42:40 +01:00
Daniel Reis ccf021938d [FIX] auth_ldap login when password is unicode
python ldap library api is str based, assume utf-8 encoding for non-ascii
chars.

Closes #5376 lp:1079476
2015-03-01 02:06:54 +01:00
Christophe Simonis 128de187a3 [FIX] web: KanbanSelection and Priority widgets
Use directly datarecord id instead of previously stored value which may
not be up to date.
2015-02-27 17:18:06 +01:00
Denis Ledoux b11c49d6f6 [FIX] sale: sales team amount invoiced exclude purchases
This is possible to assign a sales team to a supplier invoices
Supplier invoices must be rejected in the invoiced count
of sales team (in the kanban view of sales team).

The invoiced amount must be the customer invoices amount minus
the customer refund invoices amount

opw-629105
2015-02-27 15:44:40 +01:00
Xavier Morel 68f14c6870 [FIX] handling of big fields in CSV
fixes #2742
2015-02-27 14:11:21 +01:00
vnsofthe 05905b794e [FIX] mrp: xmlid of Manufacture route
Is present in mrp and not stock module.
2015-02-27 17:57:50 +05:30
Denis Ledoux 3bf1615ad4 [FIX] hr_timesheet: worked hours summary when sign in without sign out
In a timesheet, when a sign in is added, and a sign out
is not following, the current time is took as sign out value.

Rev. dbb2a669f4 corrected an issue
regarding the worked hours summary not taking into account
the employee timezone.
This timezone has to be applied on the current_time also.

e.g: For an employee being in timezone UTC + 1
If the current_time is presently 12:00 (UTC+1)
If the employee set his sign in to 10:00
and do not entered a sign out
The hours summary table displayed 1:00 of worked hours,
based on computation (11:00 - 10:00)
11:00 being 12:00 but in timezone UTC

Besides, another issue was present when entering
a sign in at midnight exactly without a sign out:
If the employee set his sign in to 00:00:00
and do not set a sign out, worked hours displayed 0 worked hours
whatever the current time.

Fixes #5379
Closes #5378
Closes #5503
2015-02-27 12:04:49 +01:00
Denis Ledoux d4f41a18a6 [FIX] sale: sales count button on variants
The button was no more redirecting to the
sales order lines list view,
following a distraction error introduced during 68b8286d5f
2015-02-26 17:39:47 +01:00
Denis Ledoux 25bf2674d5 [FIX] web: prevent set value of priority if readonly
The priority widget did not handle the readonly concept
It was therefore possible to set the priority of
an issue (for instance) even if the field was marked
as readonly.

opw-628960
2015-02-26 17:21:10 +01:00
David Monjoie 5f45e7ca96 [FIX] hr_timesheet_sheet: properly unlink timesheets when deleting a timesheet_sheet
Adaptation of afe4a97d03, but we properly unlink the timesheet lines themselves instead of going for the account.analytic.lines like the original commit proposition did. Actually, the unlink method of hr.analytic.timesheet already unlinks the corresponding acount.analytic.line, but those records were previously deleted via ondelete='cascade', which didn't trigger the unlink method at all, so the associated analytic lines were not deleted accordingly.
Fixes opw 628256.
2015-02-26 16:18:08 +01:00
Christophe Simonis f0dc416871 [FIX] phantomjs 2.0 compatibility
phantomjs 2.0 remove the deprecated attribute `phantom.args`. Use the
new `system` module.
2015-02-26 15:08:17 +01:00
Olivier Dony 05bbe78d87 [FIX] product.product: name_search() must preserve natural order
The natural order was discarded when merging results with a set,
and this was actually un-necessary as the second search()
excludes the previously found `ids`.
2015-02-26 14:03:05 +01:00
Olivier Dony bf31ab6718 [FIX] product.template: name_search compatibility with product.product
In the rare places with a m2o field to product.template
(e.g BoMs), it is necessary to be able to search on product
codes, EAN, etc, the way it works on product.product.
This is done by delegating the name_search to product.product
and then returning the corresponding templates.
This has a small penalty of executing name_get() twice,
but is simpler and more robust for future changes.

An alternative would have been to extract the name_search()
method into a mixin and mix it on both product.product and
product.template. However this would be more brittle and
only work as long as the name_search implementation strictly
uses fields that are present in both tables.

OPW 626662
2015-02-26 14:03:05 +01:00
Martin Trigaux e2fa66b05d [FIX] web: avoid incoherent actual_mode after refresh
When accessing an existing record in form mode directly (enter the url or refresh a page), the daterecord has not been initialized yet. This means that the value of actual_mode will be set to 'edit' before loading the current record (method _actualize_mode() called from do_show()).
This was problematic for one2many fields that we loaded in edit mode, showing add/delete icons/buttons in readonly views. (opw 607910)

Backport of 7ec7f1ba40 for 7.0 and saas<6. (opw 627885)
2015-02-26 13:55:48 +01:00
Vijay Baladaniya 10a1d44389 [FIX] Change the target_version for anonymization.
Fixed #5476
2015-02-26 10:30:01 +01:00
Fabrice Henrion e9b391c308 [FIX] base_import: typos
closes #5478
2015-02-26 10:02:45 +01:00
Denis Ledoux 22acc5d379 [FIX] project_timesheet: retrocompatibility for 73f7a2ba35
It looks like it was possible to pass vals['date']
in date format (!= datetime format) to _create_analytic_entries.

This rev. is a retrocompatible patch for 73f7a2ba35.

In addition, it solves the same issue than the rev.
73f7a2ba35, but in the case the project is
set on the task after the work hours are created.
See ab5ecef476

opw-628729
2015-02-25 18:30:26 +01:00
Aaron Bohy e73a3c6898 [FIX] Web: view_list.js: pager next and previous actions
When the number of records n and the limit l were such that n%l = 0
(e.g. 16 records total, 8 displayed per page), clicking on the
previous button on the first page, or on the next button on the
last page produced a bug because the total number of pages
computed for this edge case was incorrect.
2015-02-25 14:35:19 +01:00
Lionel Sausin (Numérigraphe) 5be3ac1fd0 [FIX] sale_stock: use current product's UoM to check availability
When selecting a product in a sale.order, the asked quantity is verified against
the available quantity.
If the user changes the UoM or the onchange from super call changes it,
the context should be updated accordingly.
Fixes #2559
2015-02-25 18:32:26 +05:30
Josse Colpaert 37f9459610 [IMP] Return of return should be linked with original destination move should fix #5253
[FIX] Split of return move should keep the returned move

[IMP] Better comment and check for state not cancelled
2015-02-25 12:03:49 +01:00
Josse Colpaert d416492259 [IMP] To determine the invoice we put extra moves in, it is better to take the values from the sale order / purchase order if we can find it through the picking
[IMP] Add comments

[IMP] Simplify code
2015-02-25 10:30:36 +01:00
Josse Colpaert cb6e27c992 [IMP] When invoicing from multiple pickings, services should be checked for all purchases/sales
[FIX] Should make sure purchase order lines are not invoiced twice
2015-02-25 10:29:50 +01:00
Jeremy Kersten 3050e35d31 [FIX] google_calendar: don't send mail from calendar when date has been changed.
If a meeting has been changed in google, a mail has been already sent.
2015-02-24 18:18:53 +01:00
Denis Ledoux 22606c8905 [FIX] report: abstract reports default lang
In ir_ui_view.py, in method render (line 132 atm),
the values passed to the rendering engine is a merge of the context
and the values.

Therefore, if at this place, the language is rightly set in the context,
the report lang will be as well in the values.

In abstract_report.py, the values passed to the render method is the
wrapped report localcontext in which are added some key/values
(docs, doc_ids, doc_model).
By default, the lang in the localcontext is False
See __init__ method of rml_parse class in report_sxw.py.
If setLang method is not called, the lang in the localcontext remains False.

In this rev., we avoid to overwrite the lang from the context by the lang
of the localcontext if this one is False, so the lang of the report is set
with the current context lang.

Forcing the lang of the report to False had as side-effect to prevent the
editing of report using the website editor(e.g. playslip_report)

opw-628720
2015-02-24 17:42:25 +01:00
Goffin Simon cbb51610ee [FIX] ir.ui.view: qweb translations: allow looking up translation in parent template
- Translations lookup normally uses the namespace of the current
QWeb template, after merging all inherited views.
But when a QWeb template is "cloned" by a child view using
inheritance with `primary` mode, the translations are more
likely to exist for the original (parent) template, and would not
be found when using only the "child" namespace.
This patch adds support for looking up each translation
also in the parent namespace in this case, if none was found
for the child template in the first place.

- ir.translation's _get_source() now supports a list of res_id
to search for, in addition to a single res_id

- Also moved the logic of routes /website/customize_template_get
and /website/get_view_translations to the ir.ui.view model where
it belongs.

opw: 615241

Closes #5325
2015-02-24 14:01:34 +01:00
Denis Ledoux 7ffbb8d142 [FIX] project: task count button & link
The tasks list view "act_project_project_2_project_task_all"
always displays inactive tasks ("'active_test': False" in context).

Both the link in the kanban and the button in the form
leading to this list view should therefore counts both
inactive & active tasks.

opw-628672
2015-02-23 16:08:42 +01:00
Denis Ledoux f23e47539e [FIX] project_issue: partner form issue button
The reasons are similar than 4928db70ad
2015-02-23 15:39:26 +01:00
Denis Ledoux 4928db70ad [FIX] account: partner form buttons access rights
When having account installed, but having as only
access right "Contacts creation", it wasn't possible to
display the partner form.

Setting the "groups" on the button itself has as effect
to hide the button, but not to prevent its value computation.
If you did not had the access rights required to compute the
buttons values, it leaded to security issues.

Put the "groups" on the view instead prevent the button to be loaded,
and its value to be computed. It therefore avoids both
a useless computation (computing the value of a hidden button
is not really useful), and prevent any access rights warnings.

Besides, 3 different groups were needed to display the
three buttons:
 - account.group_account_invoice
 - account.group_account_user
 - analytic.group_analytic_accounting

Not having one of these tree groups could lead to security
warnings. We therefore split this view into three sub-views,
with each one a group set (and a button)

opw-628668
2015-02-23 15:39:07 +01:00
Arthur Maniet 25429656c7 [FIX] account: rounding error when the balanced operation done in bank statement reconciliation is converted to the company currency. 2015-02-23 15:08:49 +01:00
Denis Ledoux d13ca06c8e [FIX] calendar: message_(un)subscribe expects integers
In calendar, using recurrent events leads to the use of
virtual ids, which are strings.
It wasn't possible to change the message subscriptions
for recurring events,
neither for the user himself, neither for the other followers

opw-627895
2015-02-23 14:29:01 +01:00
Denis Michiels 4bf5ce94d2 [FIX] account_invoice : origin field for refund invoice
When creating a Refund invoice, the field "origin" is fill with
the number of the invoice to refund

fix #5233
opw 627828
2015-02-23 13:38:44 +01:00
Goffin Simon 3ff4cdea95 [FIX] pos: Bad float comparison to check amount_return in _process_order.
Float comparison should always be done using float_compare, or float_is_zero when compared to 0.0.

opw: 627248
Closes #4118
2015-02-23 13:32:05 +01:00
Frédéric van der Essen 717e4106ad [FIX] product: backport of 0059d7b, avoid rounding 0 for kg
The precision 'Product Unit of Measure' was defined after the declaration of kg.
Since fc85a7ee, the precision of kg is set in data to 0.001.
As the Product Unit of Measure was not defined yet, the rounding was stripped to
(16,2) precision, so getting a rounding of 0.0 for the kg unit of measure.

[FIX] product: the declaration of decimal precision was done after
the declaration of uom precision, preventing uom precision from going above
the default decimal precision. + made the Kg unit precise up to grams by default.
2015-02-23 16:46:46 +05:30
Denis Ledoux 5d9fb7f1d1 [FIX] stock: picking report for picking without lines
Even it is dummy, this is possible to create an empty picking,
and to print it.
We therefore must ensure no traceback is displayed.
2015-02-23 11:59:46 +01:00
Denis Ledoux 4f60549a26 [MERGE] forward port of branch saas-3 up to 56c73bf 2015-02-23 11:47:45 +01:00
Denis Ledoux 56c73bf6f3 [MERGE] forward port of branch 7.0 up to 0bbd835 2015-02-23 11:47:25 +01:00
Denis Ledoux 0bbd8351f1 [FIX] web: on_item_action_clicked, self.dataset is not always defined.
27a48f8026 introduced the use of self.dataset
It appears it is not always defined.
Few lines above, self.getParent().dataset is used,
and looks to be always defined.
We therefore now use this dataset in order to get the context,
to correctly pass the current session language.

Closes #5416
2015-02-23 11:44:48 +01:00
Denis Michiels 8be57ccf0d [FIX] sale: Chatter entries translated in user language
When a delivery order is confirmed, pass the user language to the
procurement creation so the messages in the chatter are now translated
in his language.

opw 627002
2015-02-23 11:17:05 +01:00
Denis Ledoux d350f5b59e [FIX] hr_expense: deprecated use of fast_suite
Introduced during forward port b0be8dfdfd
2015-02-20 17:25:30 +01:00
Denis Ledoux 0200e31f7b [FIX] calendar: context can be frozen in Odoo 8.0 2015-02-20 16:53:02 +01:00
Denis Ledoux b0be8dfdfd [MERGE] forward port of branch saas-3 up to aae75f1 2015-02-20 16:43:15 +01:00
Christophe Simonis a9ba27b79f [FIX] stock: only get first element from cursor row 2015-02-20 16:33:16 +01:00
Jeremy Kersten 337487db60 [FIX] website_blog: change name t-as to avoid to erase exisitng variable tag.
controller render with context { tags, tag, ... };
so use 't-foreach tags t-as tag', erase the 'tag' from controller.
2015-02-20 16:22:15 +01:00
Denis Ledoux aae75f1e29 [FIX] hr_expense: deprecated use of LocalService()
Introduced in a test, during the forward port 7613d5d499
2015-02-20 16:19:44 +01:00
Jeremy Kersten b2aa9c8429 [FIX] website_blog: duplicate blog via front end.
Traceback because id was not casted: AccessError: ('AccessError', u"Database fetch misses ids (u'1') and has extra ids (1), may be caused by a type incoherence in a previous request")
2015-02-20 16:19:34 +01:00
Denis Ledoux 6539104a4f [FIX] calendar: add followers to recurrent events
default_get method of mail.wizard.invite model uses
the key 'default_res_id' to retrieve the res_id of the record
to add the followers.

In the case of recurrent events, virtual ids are used, and
the conversion from virtual ids to real ids is needed.
2015-02-20 16:13:28 +01:00
Denis Michiels b8ecbe3191 [FIX] google_drive : translate the record
Pass the context, with the language setting, when the record is read to
fill the google drive template. That allows to translate the name of the
document and all the informations inside.

opw-626675
2015-02-20 16:08:10 +01:00
Denis Ledoux 7613d5d499 [MERGE] forward port of branch 7.0 up to 27a48f8 2015-02-20 15:57:51 +01:00
Josse Colpaert 4625b5c840 [FIX] speed up with sql query for picking assign
[IMP] Commit and limit query to 1
2015-02-20 15:36:55 +01:00
Denis Ledoux 27a48f8026 [FIX] web: action translation (menuitems & more menu)
This rev. reverts partially 1d76586a1b
This rev. is related to #3462

Regarding addons/web/controllers/main.py
---
name of model ir.actions.actions is not translated
it's the name of server actions, client actions and window actions
that are translated.
Meaning the name of the ir.actions.actions will always be in English,
even when passing the user language within the context.

Regarding addons/web/static/src/js/views.js
---
There is no reason to pass the field values within the context
of the /web/action/load call: The read methods of actions are
not overidden to use the field values. Besides, it pollutes
the context of the action, leading to unwanted behavior, such
as the translation of the action name within the lang available in the
fields of the form view (e.g. the partner form).

Initially, the field values added in the context has been added
within the rev. 542928adde
Indeed, sidebar_context (or sidebar_eval_context nowadays), contains
the field values, and the additional_context passed to /web/action/load
is an extension of this sidebar_context.
We are not sure the reasons why the sidebar_context was passed to the
/web/action/load, but we believe it was to pass the session/user context
containing the lang, timezone, and so on, not to pass the fields values.
2015-02-20 15:36:47 +01:00
Christophe Simonis a5735e7891 [FIX] website_forum{,_doc}: noupdate for website.menu 2015-02-20 14:55:07 +01:00
Denis Ledoux 4ad329de55 [FIX] delivery: shipping invoice line depending on amount total
The delivery module overrode the method _create_invoice_from_picking
to add the shipping costs according to the invoice and the shipping.

The issue is that the method _create_invoice_from_picking creates an empty
invoice, without any line. The lines are added afterwards, using the method
_create_invoice_line_from_vals, within the method _invoice_create_line.
So, after having called _create_invoice_from_picking, the invoice is indeed
created, but without lines, and therefore without the amount total value.
Adding the shipping costs there will thus prevent the shipping costs
based on the total price of the invoice (e.g. free for an order of 500€)

This rev. overrides the method _invoice_create_line instead, as, after
the call to this method, the invoice will be completely set, with all
its lines, and with a correct amount total. The side effect
is that we need to recompute the taxes a second time, using button_compute.

This is not the cleanest way to solve this issue. Indeed, a cleaner patch
would be to change the method _create_invoice_from_picking so it creates
the invoice along with its invoice lines, using the ORM command
(0, _, values) to creates the lines directly within the invoice creation:
invoice['invoice_line'] = [(0, _, values) for values in invoice_lines_vals].

Nevertheless, this is a bigger change, that will probably require API changes,
and therefore should be done in master.

opw-626226
opw-628517
2015-02-20 12:44:11 +01:00
Olivier Dony f55a6046a8 [FIX] account.move.line: no move revalidation for trivial changes
Many trivial changes to journal items, such as the
"blocked" flag for litigation (follow-up), do not affect
the balance of the whole entry. These should not cause
the account.move to be (re)validated.

For example it should be possible to change trivial
fields even on journal entries recorded in a closed
fiscal period.
2015-02-20 12:24:49 +01:00
Vicente Jimenez Aguilar 0892a088fc [FIX] report_webkit: multiple misspellings of wkhtmltopdf
closes #5392
2015-02-20 11:16:13 +01:00
Somesh Khare 7f5bc3fdf0 [Fix] hr_expense: correct amount for included tax with negative sign
Setting an expense with a tax included with a negative base code sign was
getting the wrong amount (tax line as a credit instead of debit). So leading to
a total for the accounting entry superior of the total of the expense (should
not happend as the tax is included).
Add test to verify this scenario.
Fixes #4260, opw 618531
2015-02-20 11:10:32 +05:30
Arthur Maniet 6c37747057 [FIX] account: don't create move lines that have neither an amount or a tax code
Fixes 51e9f90981
2015-02-20 06:07:56 +01:00
Goffin Simon 8e5a0ac43c [FIX]hr_timesheet: prevent quick creation and record opening for account fields
The quick creation and account record opening in the sheets are not useful.
Besides, restricted users (simple employees) have no read access on account.account.

opw:626989
2015-02-19 09:11:21 +01:00
Denis Ledoux 0167acbb52 [FIX] report : translation of report using website editor
In the website editor, the translations are loaded using
the route 'get_view_translations', which returns the translations
of the templates loaded by the website (t-call calls)

The thing is, report templates use the 'translate_doc' method
to actually load the report, translated in the partner language,
and the templates loaded by this method are not seen by the website,
therefore, when calling 'get_view_translations', those report
templates were just ignored, thus their translations are not loaded.

This rev. injects the templates loaded with translate_doc
when rendering the report into the method 'customize_template_get'
(which is used by 'get_view_translations' to retrieve the loaded templates).

The translations of the reports are therefore now loaded corretly when
hitting the "translate" button in the website editor for reports.

Besides, this rev. has as (good) side-effect to add the template,
in the template selection input when editing using the HTML editor.

opw-620713
2015-02-18 16:21:42 +01:00
Anthony Muschang 184ed718a3 [FIX] project_issuer: fix record rule "issue_user_rule"
A message follower is a partner not a user

Closes #5346
2015-02-18 16:10:28 +01:00
Goffin Simon 427835e47f [FIX] website_quote: quote template does not take into account variant prices.
In a quote_line, if the product is a product variant, the unit price must be
the sum of the sale price and the price extra.

opw: 625957
2015-02-18 14:21:42 +01:00
David Monjoie 1581c43026 [FIX] web: revoke last_search when the user made his choice
Without this, if the user creates a second line (or more) with another search query and presses tab (or clicks somewhere else) quickly, it will take the previous search result instead of the new one because the new one did not occur yet.
With this fix, if the search did not have time to process, the Create a product modal appears, just like it already did for the same behavior on the first line.
Fixes 620679.
2015-02-18 13:52:36 +01:00
Jeremy Kersten 2c09ba980d [FIX] calendar: synchro - use current user to synchronize as uid
Else, function like get_primary_calendar return values from administrator and not the user to synchronize
2015-02-18 13:00:39 +01:00
Olivier Dony e3ba594789 [I18N] Remove deprecated PO files (incorrect names)
Those files have already been replaced by
correctly named ones.

uk_UA.po -> uk.po
lt_LT.po -> lt.po
nl_NL.po -> nl.po
2015-02-18 12:11:51 +01:00
Olivier Dony 65e8115b8a [I18N] Update translations from Launchpad 8.0 branches (again), after syncing direct changes from 67bdc241bd 2015-02-18 11:58:13 +01:00
Olivier Dony 91d4b947f6 [I18N] Update translations from Launchpad 8.0 branches 2015-02-18 11:51:07 +01:00
Yenthe 67bdc241bd [FIX] incorrect etherpad url URL
closes #5287
2015-02-18 11:43:41 +01:00
Goffin Simon 02d07ef060 [FIX] l10n_eu_service: generate the description (Code) for account taxes. 2015-02-17 17:00:56 +01:00
Goffin Simon 60a8f894f9 [ADD] l10n_eu_service
As of January 1rst, 2015, telecommunications, broadcasting
and electronic services sold within the European Union
have to be always taxed in the country where the customer
belongs. In order to simplify the application of this EU
directive, the Mini One Stop Shop (MOSS) registration scheme
allows businesses to make a unique tax declaration.

This module makes it possible by helping with the creation
of the required EU fiscal positions and taxes in order to
automatically apply and record the required taxes.

This module installs a wizard to help setup fiscal positions
and taxes for selling electronic services inside EU.

The wizard lets you select:
 - the EU countries to which you are selling these
   services
 - your national VAT tax for services, to be mapped
   to the target country's tax
 - optionally: a template fiscal position, in order
   to copy the account mapping. Should be your
   existing B2C Intra-EU fiscal position. (defaults
   to no account mapping)
 - optionally: an account to use for collecting the
   tax amounts (defaults to the account used by your
   national VAT tax for services)

It creates the corresponding fiscal positions and taxes,
automatically applicable for EU sales with a customer
in the selected countries.
The wizard can be run again for adding more countries.

References
++++++++++
- Directive 2008/8/EC
- Council Implementing Regulation (EU) No 1042/2013

Closes #5229
2015-02-17 16:08:15 +01:00
Denis Ledoux fc6ac83608 [FIX] mail: hide delete button when uploading attachment
This is not possible to interrupt the uploading of an attachment.
We therefore hide the 'delete' button during the upload
2015-02-17 15:36:03 +01:00
Richard Mathot af94e5af6b [FIX] calendar: loading problem with some locales
When you try to load calendar_demo.xml, the loading of demo event
`calendar_event_1` fails with fr_BE locale (and probably some others).

This is due to the rendering of the mail template
`calendar_template_meeting_invitation` (which is used when you create
an event).

This template used a method `get_interval()` in calendar.py, which
does not always return Unicode strings. Furthermore, these strings
are dates and should be formatted according to user locale.

PS: Yeah, we love Python2's management of encodings and Unicode...
2015-02-17 14:41:29 +01:00
Arthur Maniet 51e9f90981 [FIX] account: avoid 0.0 tax lines
Don't create useless journal entries for taxes whose amount is 0.0.
Keep tax code lines creation unmodified.
Fixes #5036, opw 627055
2015-02-17 17:39:29 +05:30
Arthur Maniet 058a010456 [FIX] account: in bank statement reconciliation widget, make sure a move line 'ref' is an empty string if the field has no value
Fixes #5272
2015-02-17 11:30:34 +01:00
Denis Ledoux 31527c9a36 [MERGE] forward port of branch saas-3 up to 4c7e078 2015-02-17 11:10:10 +01:00
Arthur Maniet 69b6cf44bd [FIX] account: in bank statement reconciliation, show the invoice line from a partial reconciliation.
Since all the lines in a partial reconciliation share the same state and the same amount_residual, we need to keep only one 'result' line.
It was the first line found that was kept ; now it's the line whose amount is greater than amount_residual, whiwh most likely is the significant one.

Fixes #5129
2015-02-17 11:07:14 +01:00
Denis Ledoux 4c7e078478 [MERGE] forward port of branch 7.0 up to 772b213 2015-02-17 10:59:25 +01:00
Anthony Muschang 772b213e69 [FIX] hr_timesheet_sheet: hide button "Add a Line" if readonly sheet
The 'Add a line' button should be hidden when the sheet is readonly.
For instance, for a submitted employee sheet.

closes #4297
opw-628160
2015-02-17 10:56:14 +01:00
Denis Ledoux 550910a8f6 [MERGE] forward port of branch 7.0 up to a87d60f 2015-02-16 18:26:45 +01:00
Christophe Matthieu f9d8493ee9 [FIX] website_sale: In the shopping cart + in the shopping summary (order in front end), the internal reference should not be displayed 2015-02-16 16:59:52 +01:00
Christophe Matthieu 414175cb30 [FIX] website_sale: the cart and modal in ecomerce are not responsive for phone 2015-02-16 16:33:01 +01:00
Denis Ledoux a87d60f70f [FIX] warning: no notes parameter in onchange_product_id
This is related to rev. 4606b4535a
2015-02-16 15:07:21 +01:00
Denis Ledoux 30d3f9605f [FIX] purchase: order line description being reset on qty change
Also set name as False for product_id field in the purchase order line form (popup)
This rev. is related to 11bd7a6774
2015-02-16 15:04:22 +01:00
Denis Ledoux 4606b4535a [FIX] warning: onchange_product method signature
Module 'Warning' overwrites onchange_product_id method of purchase.order.line

The signature in the warning module had 'notes', while there isn't any 'notes'
parameter in the original method, in the purchase module.

The super call was also wrong, ignoring the optional fields, which
were therefore always set to the default value
2015-02-16 15:01:12 +01:00
Jeremy Kersten e4030e2016 [FIX] google_calendar: write info on current user with superuser_id
If the user is not admin, it will synchronize always from start, because last_synchro_date cannot be write on res_users
2015-02-16 14:55:22 +01:00
Denis Ledoux 11bd7a6774 [FIX] purchase: order line description being reset on qty change
The name must be changed when changing of product,
but not for other changes, quantity for instance.
The 'or not uom_id' is just for retro-compatibility concerns
uom_id being False actually means we just changed of product,
and the name must therefore be changed
name as been set as False in the onchange call in the view
for the product_id field, in this rev.,
so the name being False now means th change of product
Nevertheless, existing databases for which the view
is not up to date won't have this change
and we therefore have to rely on something else to know
when the product has been changed or not.

fixes #5295
opw-628138
2015-02-16 14:22:15 +01:00
Denis Ledoux d00d90a95e [FIX] web: cached company logo on database change
When having several databases in the login form (not monodb mode),
when switching from one database to another,
if the company logo was different,
the company logo could be the logo of the database you came from.

fixes #5291
opw-628131
2015-02-16 13:34:58 +01:00
Christophe Matthieu 8518a963e0 [FIX] product: if the product has no attribute and you add one without any value, the product is deleted. 2015-02-16 13:22:50 +01:00
Arthur Maniet 32b4ded242 [FIX] account: bank account field of the transactions in a bank statement
- Field is readonly when the statement is closed
- Only bank accounts with the same partner as the transaction or no partner can be selected
2015-02-16 11:55:45 +01:00
Arthur Maniet d1be21dfdf [IMP] account: feature that links bank accounts to partners upon bank statement closing.
Retreive additional informations to write on the res.partner.bank by using the onchange_partner_id, instead of only writing the partner_id
2015-02-16 11:55:45 +01:00
Christophe Matthieu a7e0b73930 [FIX] website: need to add an attribute on html to apply css selector in function of the browser. Fix the media video display for ie 2015-02-16 10:49:28 +01:00
Christophe Matthieu 72c418e6dd [FIX] website_sale: wrong line details in pdf invoice, the invoice line name does not contains the product name 2015-02-16 10:32:39 +01:00
Denis Michiels 8da53f9dec [FIX] account: taxes translated in partner language
Regression introduced during cbe2dbb672
Fixes #5132
opw-627826
2015-02-16 10:20:51 +01:00
Jeremy Kersten 9ffa3a5c15 [FIX] google_calendar: force google synchro to be without default notif 2015-02-13 16:11:51 +01:00
Denis Ledoux 899acef186 [FIX] payment: unique reference constraint
The payment transactions references must be unique, but for
states within draft, pending, done states, not
if the transaction has been canceled or in error.

Otherwise, this is not possible to create a new payment
transaction for an ecommerce order for which
the payment has been canceled by the acquirer

For instance, when the customer lands on Ogone,
then hit the cancel button

opw-627914
2015-02-13 15:35:35 +01:00
moylop260 88ab3db5f2 [FIX] product: missing default init before using it as dict
This revision bring back the possibility to use the copy method
of product.product without passing parameters

Closes #5236
2015-02-13 15:03:13 +01:00
Jeremy Kersten 7638fe51a9 [FIX] website*: SEO optimizely 2015-02-13 13:51:01 +01:00
Jeremy Kersten aed865aa93 [IMP] google_calendar - synchronize OE alarm with google reminders 2015-02-13 13:51:00 +01:00
Martin Trigaux 20e3f33ebd [FIX] purchase: get supplier from the procurement company
The seller_id field is a related that is read administrator so it would fetch
the first line, whatever the company specified.
Setting related_sudo=False would not be enough as creating purchase orders
through the scheduler makes the computation done as administrator.
Use the company of the procurement (required) to search for a supplier.
If no result, fallback on the first one as before.

Fixes #3833, opw 618809
2015-02-13 15:07:45 +05:30
Géry Debongnie 4e2025719b [FIX] web: viewlist editable use correct record_id in dataset
When clicking on an element in a listview editable, the record_id
is not updated in the dataset, which means that when you switch to form
view, the list view does not display the last selected record.

Also, it should fix the issue solved by PR pull/2725
2015-02-13 10:01:42 +01:00
Denis Ledoux c62be6167a [FIX] website_sale: price overlapping product name
In ecommerce products list view, if the product name was
shorter than the product price, than,
the product price overlapped the product description

Besides, this display: inline-block; has no useful utility
(at least not known), and it should be set in a CSS property
anyway
2015-02-12 16:40:14 +01:00
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
Christophe Combelles 34d4508535 [FIX] hr_payroll: nicer error message for some bad rule definitions
For example avoids a crash with:

    TypeError: can't multiply sequence by non-int of type 'float'

when setting the quantity field of a salary rule to `1,0`
instead of `1.0`.

Fixes #5154
Closes #5155
2015-02-12 12:23:02 +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
David Monjoie 3babbbe393 [FIX] l10n_fr_hr_payroll: fixed design of payslip report
Improvements were requested in Issue 626112 like splitting columns, and the second table was broken so I also fixed it
2015-02-09 11:48:57 +01:00
Humberto Arocha d89fa3281a [FIX] account_anglo_saxon: Missing Fiscal Position
when creating Cost of Goods Sold Journal Entry
2015-02-06 15:27:05 +01:00
Denis Ledoux 769c62ef27 [MERGE] forward port of branch saas-3 up to f92b2f8 2015-02-06 14:19:30 +01:00
Denis Ledoux bdd4d58b35 [FIX] share: create group before creating a model access with this group 2015-02-06 14:12:18 +01:00
Denis Ledoux f92b2f8d4d [MERGE] forward port of branch 7.0 up to 0b7db55 2015-02-06 14:02:43 +01:00
Jeremy Kersten e0c17258bd [FIX] calendar: allow to force the sending of email in function _send_mail_to_attendees (even if email are himself) and use it for reminder. 2015-02-06 14:02:36 +01:00
Denis Ledoux a6eac0f08e [FIX] share: share feature compatibility with Odoo 8.0
Since rev. 1ce0b70a02, ir.ui.menu
was readable for employees and portal users only

Since rev. 74aa7406bf, the navigation menus
were displayed for employees and portal users only.

Therefore, when sharing a record with the share feature, nothing was
displayed when following the link.

This rev. introduces a new group "Shared group", implied for all shared groups
created through the share feature.
Read access to menus is given to this group
The possibility to display the webclient navigation menus as well.
2015-02-06 14:01:59 +01:00
Denis Ledoux 0b7db5583f [FIX] share: action params in url is action, not action_id
When sharing a record to a share user (for instance, the quotation),
the action in the url was set to "action_id=" instead of "action=",
therefore, the link sent just leaded to nowhere.
2015-02-06 12:59:07 +01:00
Denis Ledoux 8bee3bbfad [FIX] share: mail.notification is also transversal
mail.message and mail.notification are transversal: they should not received directly the access rights
2015-02-06 12:52:47 +01:00
Jeremy Kersten 0cbf8d5386 [FIX] website_customer: check that customer has a country_id
Add country != False in main domain will be not the right fix, because if people doesn't activate the sort by country in customize, they are no reason to hide customer without country_id.
2015-02-06 10:53:15 +01:00
Denis Ledoux 0c9b8cd7af [FIX] survey: write expects a list of integers for ids arg
This is related to rev. 972b02397a
The reason is the same than in the above related rev.
2015-02-06 09:46:46 +01:00
David Monjoie 9bae596693 [FIX] website_sale: shop tutorial doesn't explicitly look for an ipad picture anymore
Previously, if you registered enough images to push the ipad one on page two, the test would fail to find it. Now it chooses the image with index 4, whatever it is.
2015-02-06 09:43:56 +01:00
Denis Ledoux 972b02397a [FIX] survey: write expects a list of integers for ids arg
In saas-3, at rev. c7afc04be3
an assert has been introduced, asserting the record_id of the record class
is an integer.

Therefore, write operations using a string as id lead to a crash
if they trigger a workflow
2015-02-05 17:34:34 +01:00
Denis Ledoux 859979e949 [FIX] web: reset dataset orderby on groupby filter.
If the list view had a default order,
for instance, default_order="create_date desc",
setting a groupby filter kept this default order
and the groupby list was therefore not ordered on the groupby field

In general, when setting a groupby filter on a list
we expect the list to be grouped by the groupby field

The reset of the orderby is done only when the list is not grouped
and a first groupby filter is applied.
The orderby is not reset when adding a new groupby,
when one was already applied.
It doesn't reset either when passing from 2 groupby clause to 1.
It doesn't reset either when passing from 1 groupby clause to none.

opw-627233
2015-02-05 16:39:22 +01:00
David Monjoie 5fe71a3c21 [FIX] website_event_sale: fixed test to allow structural dom changes
It's not like it's the third time I change this test file, right ?
2015-02-05 15:50:06 +01:00
Denis Ledoux 764be06f44 [FIX] stock: obvious distraction error of previous rev. 8ff7d299f5 2015-02-05 15:09:06 +01:00
Denis Ledoux 8ff7d299f5 [FIX] stock: picking, Set date of reception if not set by user previously
If the date_done field of the model stock.picking is already filled in
it means the user do wanted to have this date of reception date
instead of the moment when the user clicked the receive button.

opw-627219
2015-02-05 15:04:58 +01:00
Xavier Morel 93fa43f900 [REV] 54e75b02: excessive breadth makes all falsy values disappear from lists
Empty checkboxes are supposed to be displayed.

Fix specifically and only in the binary field.
2015-02-05 14:39:40 +01:00
Jeremy Kersten 5a26c2d3ec [FIX] crm,hr,base: disable the quick create for country field
The creation of a country is not something to create at flight !
The impact could be bigger that what people was expected (no accounting configured, ...).

The bad manipulation is more often the responsible, eg 'Belgium ' was creating a new country with a trailing whitespace, while the user didn't see the difference and use both country withtout making the diff.
2015-02-05 14:14:59 +01:00
Denis Ledoux e1a1b56205 [FIX] website_sale: handle partner_ids for order email confirmation
This rev. is related to b36908b6f8

partner_ids is another *2many fields of email.template
spotted thanks to ba9bc1e86d
2015-02-05 14:14:30 +01:00
Thibault Delavallée ba9bc1e86d [FIX] email_template: updated onchange_template_id when not having
a template defined: some values were missing leadins to wrong partners and
subject pre computation.
2015-02-05 12:01:56 +01:00
Goffin Simon d5a50fd346 [FIX] sale: fiscal position wrongly taken based on country group.
An automatic fiscal position with a country group can only match with a sale order from a customer who has a country defined.
opw:627087
2015-02-05 11:15:28 +01:00
Jeremy Kersten 8be29c33fa [IMP] website_crm: allow medium_id and section_id field to be overwrited by form 2015-02-05 09:50:36 +01:00
Denis Ledoux c331e963cd [FIX] account: invoice analysis product quantity
This rev. is related to 6641c61ce6

During the above revision, a new jointure has been added
with product_uom, on product template uom_id
The join link was wrong, it was:
 - LEFT JOIN product_uom u2 ON u.id = pt.uom_id
and it must be:
 - LEFT JOIN product_uom u2 ON u2.id = pt.uom_id

 as the alias 'u' is the previous jointure, not this new one.

Besides, the uom_name is now the name
of the product uom of this second jointure
As the uom is now the product default uom
instead of the category reference uom

The groupby clause has been adapted, as the selection was slightly altered
Besides, grouping by u.uom_type, u.category_id was pointless
2015-02-04 20:28:48 +01:00
Denis Ledoux b36908b6f8 [FIX] websiste_sale: order confirmation email with attachment
This rev. is related to 67443b5b17

onchange_template_id returns the attachment_ids as a id list,
not as a *2many command list
The conversion from id list to command list has to be done manually.

At the moment, attachment_ids is the only 2many fields of email.template
2015-02-04 17:08:58 +01:00
Goffin Simon bcf8254c16 [FIX] account_asset: asset_id is missing when you create 'account.asset.depreciation.line'
Add the right asset_id when you create an 'account.asset.depreciation.line' in the depreciation board of an 'account.asset.asset'.

opw:626625
2015-02-04 16:39:29 +01:00
David Monjoie d7f30de9ae [FIX] product: moved pricelist_item ACL from stock to product
Otherwise if we install sale without stock, we can create pricelist and pricelist versions, but not pricelist items.
Fix for issue 626985
2015-02-04 16:17:36 +01:00
Martin Trigaux 16374dfa33 [FIX] account: error message not translated 2015-02-04 15:28:56 +01:00
Rifakat Haradwala a08b9c2c41 [FIX] account: forbid creating entries on closed period
Prevent creating/modifying accounting entries made on close periods.
The period_id and journal_id field on a account.move.line is a related so was
silently (without write call) updated so did not triggered the call to
_update_journal_check while modiying the linked account.move
Force the check in the validation of the move. As the move can not be balanced
without going through this method, this will prevent posted entries in closed
accounting period.
Fixes #1633, opw 615886
2015-02-04 15:28:55 +01:00
Denis Ledoux 2a162d9be7 [FIX] web: widget date handling user timezone
When converting a datetime field to date, using the widget date,
the date time value was just cropped, removing the hours,
therefore ignoring the user time zone.

For instance, if the user was in UTC + 1, for a date time 02/02/2015 00:30:00,
applying the widget date on this datetime had as result 02/01/2015,
due to the fact the UTC value of the datetime field was 02/01/2015 23:30:00

fixes #4420
opw-621281
2015-02-04 14:33:01 +01:00
David Monjoie 9831636ffb [FIX] website_event_sale: fixed test to allow structural dom changes
Correction of c3c7aa79a0, apparently the tour system doesn't click on the a if the selected element is not the a or an element inside of it, even if the selected item only has the a as child.
2015-02-04 13:24:27 +01:00
Denis Ledoux 3636aeb59d [FIX] web: field on change event
This is related to rev. d17f22cde7

Compare float values using float_is_zeor only
if the key is 'value',
meaning the changed value is the actual value of the field,
not another variable of the field (widget, etc.)

For instance, changing the currency_info of a float field
using the monetary widget should not compare the old and new value using
float_is_zero (the values are not even floats).

opw-627166
2015-02-04 13:03:39 +01:00
David Monjoie c3c7aa79a0 [FIX] website_event_sale: fixed test to allow structural dom changes 2015-02-04 12:04:00 +01:00
Denis Ledoux 90230a967f [FIX] sale_crm: preserve opp time when converting to sale order.
Field date_order of sale.order model was changed from date to datetime
during rev. 56cbc9421d

When converting the opp to a sale order, we must therefore use fields.datetime.now
which returns a datetime
instead of fields.datetime.context_today
which returns a date
2015-02-04 11:16:52 +01:00