Commit Graph
117156 Commits
Author SHA1 Message Date
Christophe Simonis 1292700f4e [ADD] new modules to ensure the inalterability of accounting in France
[FIX] l10n_fr_certification: main module

    Main resource document to be found at https://www.economie.gouv.fr/files/files/directions_services/dgfip/controle_fiscal/actualites_reponses/logiciels_de_caisse.pdf

    This document states that only business operations with partners not being subject to VAT should be inalterable and secure.
    We adpat the module by differentiating between b2c and b2b journals and apply hashing on the former's moves

    Protection against account_cancel is not necessary anymore

    By default, this module considers a sales journal being a b2c, thus activating hashing on its move.
    Since we can't afford to lose information, when a b2c journal contains hashed moves, its b2c characteristic cannot be changed

[ADD] l10n_fr_pos_cert: module to adapt the POS to the recent French regulation CGI art. 286, I. 3° bis.

    The module adds following features:

    - Inalterability: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries

    - Security: chaining algorithm to verify the inalterability

    - Access to download the mandatory Certificate of Conformity delivered by Odoo SA (only for Odoo Enterprise users)

[ADD] l10n_fr_sale_closing: module to store automatically the total of daily/monthly/annualy sales.

    (both of the period and cumulative).

    This fulfills another requirement brought by the recent French regulation CGI art. 286, I. 3° bis related to the storage of data

Adaptation of #20581 for version 11.0.
2017-12-14 13:04:36 +01:00
Nicolas Lempereur c8df0333f5 [FIX] mrp: determine order of mrp.production
The order of production was first based on "priority DESC" and then
"date_planned ASC".

So for production with the same priority/date_planned the order is not
deterministic.

This commit make the order deterministic as it seems preferred.

opw-784243
closes #21644
2017-12-14 12:57:22 +01:00
Christophe Simonis 228f6086b1 [FIX] l10n_fr_pos_cert: correct dependency 2017-12-14 12:55:32 +01:00
David 849a10b1da [FIX] website_event_sale: registration visibility
- When all the tickets in an event expire, the form is still visible,
wich is confusing for users.

This closes #21384
2017-12-14 12:50:05 +01:00
Arnold Moyaux 587a606635 [FIX] mrp: missing rouding
Due to commit fda755b885
misisng a .rounding after the uom in float_round call.
2017-12-14 11:07:14 +01:00
Lucas Perais (lpe) b75927f9e3 [FIX] l10n_fr_certification: adapting to the new specs
Main resource document to be found at https://www.economie.gouv.fr/files/files/directions_services/dgfip/controle_fiscal/actualites_reponses/logiciels_de_caisse.pdf

    This document states that only business operations with partners not being subject to VAT should be inalterable and secure.
    We adpat the module by differentiating between b2c and b2b journals and apply hashing on the former's moves

    Protection against account_cancel is not necessary anymore

    By default, this module considers a sales journal being a b2c, thus activating hashing on its move.
    Since we can't afford to lose information, when a b2c journal contains hashed moves, its b2c characteristic cannot be changed

[ADD] l10n_fr_pos_cert: module to adapt the POS to the recent French regulation CGI art. 286, I. 3° bis.

    The module adds following features:

    - Inalterability: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries

    - Security: chaining algorithm to verify the inalterability

    - Access to download the mandatory Certificate of Conformity delivered by Odoo SA (only for Odoo Enterprise users)

[ADD] l10n_fr_sale_closing: module to store automatically the total of daily/monthly/annualy sales.

    (both of the period and cumulative).

    This fulfills another requirement brought by the recent French regulation CGI art. 286, I. 3° bis related to the storage of data

Was PR #20581. Was task 29922
2017-12-13 17:22:51 +01:00
qsm-odoo 3a13eada0e [FIX] web: readonly required text fields should not be highlighted
The bug is also present in enterprise but the required style of
enterprise makes the bug invisible. The bug has also been naturally
fixed in 11.0 thanks to the views and design refactoring.

Thanks @auyeung112002 for the original fix.
2017-12-13 17:14:11 +01:00
qsm-odoo 08d48b0fff [FIX] web_tour: restore rainbowMan for tours
Bugs introduced with commit https://github.com/odoo/odoo/commit/08e92204b661086b27a2d435d3ca06436540c0e0

- The new `rainbowMan` option was always `true`
- When checking the option, it was looked in the wrong object so it was
  always considered false (so no more rainbowMan at all...)

Also deactivate the rainbowMan for the automatic tours.
Also refactor the method's documentation.
2017-12-13 16:05:43 +01:00
Simon Lejeune 424609dad8 [FIX] stock_account: consignment
If a move line has an owner_id, it should be ignored in the valuation
process.
2017-12-13 16:00:32 +01:00
Christophe Simonis 27ad91f846 [MERGE] forward port branch 10.0 up to 1022e4fb25 2017-12-13 15:56:15 +01:00
Christophe Simonis 1022e4fb25 [MERGE] forward port branch 9.0 up to 22f8660e22
Works better when you add files...
2017-12-13 15:17:22 +01:00
Christophe Simonis 39fb0825ac [MERGE] forward port branch 9.0 up to 22f8660e22 2017-12-13 15:16:46 +01:00
Guewen Baconnier f3bb9ae679 [FIX] unnecessary rebuilding of assets
The checksum computed to verify the version of the assets includes a list of
files as JSON. This JSON is generated from a list of dictionaries.
When using Python <3.6, the ordering of the dictionaries is not guaranteed which
lead to unnecessary rebuild of assets. Particularly when starting Odoo on more
than one host, the current implementation hits this issue:

* server 1 computes the checksum with an ordering and generates the assets
* server 2 computes the checksum with a different ordering and generates the assets
* server 1 computes the checksum with a different ordering and generates the assets
* And so on...

Which obviously lead to disastrous performances.
2017-12-13 15:04:28 +01:00
Martin Trigaux b92aaf1e66 [FIX] mail: display email of partner in the tags 2017-12-13 12:57:48 +01:00
auyeung112002 d847a66415 [FIX] web: Make search view dropdown menu scrollable 2017-12-13 11:35:48 +01:00
Olivier Dony ae39802f7c [FIX] l10n_be_hr_payroll: add missing group restrictions
Without proper group restrictions many computed/related fields will
crash because they depend on other group-restricted fields, such as
the `children` field.
2017-12-13 10:29:34 +01:00
Josse Colpaert 22f8660e22 [FIX] stock: don't propagate cancel when chained move is done
When you have e.g. an SO with a product MTO generating a manufacturing
order, and you put the delivery order to done, before the MO is done,
you can not cancel the MO anymore, because the cancel method checks if
the move is not done (and raises an error).

As the user stays blocked in this case, it is better to just not try to
cancel the destination move by not propagating the cancel when the destination
move is done.

opw-786571
2017-12-13 10:17:48 +01:00
Josse Colpaert b3be0b7576 [FIX] stock: don't propagate cancel when chained move is done
When you have e.g. an SO with a product MTO generating a manufacturing
order, and you put the delivery order to done, before the MO is done,
you can not cancel the MO anymore, because the cancel method checks if
the move is not done.

As the user stays blocked in this case, it is better to just not try to
cancel the destination move by not propagating the cancel when the
destination move is done.

opw-786571
2017-12-13 10:10:46 +01:00
Wolfgang Taferner 30d0861f0a [FIX] base: ir.sequence better fallback
Zero is an non-acceptable value for sequences, so the fallback should be
one instead.

Fixes #21267
2017-12-13 08:51:05 +01:00
Jeremy Kersten a9d58a3fc2 [FIX] l10n_be_hr_payroll: don't compute field dependent_children if no access
Once installed, a standard employee cannot open a employee form view since this
field was computed and that field children is not allowed without group hr_user
2017-12-12 19:56:16 +01:00
Christophe Simonis b37cc1f9b7 [MERGE] forward port branch saas-16 up to a2ea4ba095 2017-12-12 18:39:43 +01:00
Romain Derie 9d2d9a3528 [FIX] website: edit website.page's menu URL not saving
Before this commit, editing a website.menu (linked to a website.page (m2o))
would not save the URL on the website.page record but only on the
website.menu.
But since the URL retrieved to display the website navbar is:
  1. The website.page url if the menu has a page_id
  2. The website.menu url otherwise
It would never get the edited URL stored on website.menu
2017-12-12 17:50:41 +01:00
Jeremy Kersten 294dc70a38 [FIX] http_routing, website: fix and clean routing
Clean method _add_dispatch_parameters
Remove unused code for caching

Call super before to have the correct lang when we browse website.
Without it, menu was not loaded in correct language.
2017-12-12 17:47:08 +01:00
Goffin Simon a9caef0ebb [FIX] point_of_sale: Enable Price Control
Steps to reproduce the bug:
POS -> Settings -> Enable Price Control.
Login with user with POS -> Manager rights
Open POS Session.

Bug: Price Option was disable.

opw:784422
2017-12-12 17:34:23 +01:00
Miquel Raïch a578531ca3 [FIX] v11 urls
Was still pointing to old links

Closes #21590
2017-12-12 17:19:01 +01:00
Raphael Collet d574c82f91 [FIX] base: ir.ui.view field names in attributes
Make sure that `True`, `False` and `None` are not considered as field names.
2017-12-12 17:06:51 +01:00
Simon Lejeune 24a9d1dee5 [ADD] stock: test on inventory and duplicated quants
This is not linked to an issue. I thought there was one so i made the
test but actually it's working as expected, so let's commit the test.
2017-12-12 16:41:21 +01:00
Simon Lejeune ac4155c8dc [FIX] stock_account: onchange on product category
Don't warn when creating a product category. Related to rev 0ca4b0f373
2017-12-12 16:39:19 +01:00
Christophe Simonis a2ea4ba095 [MERGE] forward port branch saas-15 up to 5701010d0d 2017-12-12 16:15:04 +01:00
Adrien Peiffer (ACSONE) 2a9e6e6a3b [FIX] res_partner: bad sudo.
Using sudo on super call can turn into infinite call in odoo.

opw:785415
2017-12-12 15:58:59 +01:00
Christophe Simonis 5701010d0d [MERGE] forward port branch saas-14 up to 744c2934b3 2017-12-12 15:35:11 +01:00
Josse Colpaert b0acb42f0b [FIX] stock: avoid infinite or longer than necessary loops
In some cases the MRP scheduler can remain blocked on an infinite loop
consuming a lot of CPU. The reason comes from the loop 'Check done
procurements'

If a new procument is created from another process (such like MTO
orders) during this loop, the process never ends.

The only way to reproduce is in debug mode:
1. Put a breakpoint on line 'Check done procurements'
2. Launch the MRP scheduler manually and stay paused on the breakpoint
3. In parrallel, create and confirm a sale order with a MTO route, this
   will trigger the creation of a new procurement order in state
   'Running'
4. Continue debugging step by step the scheduler and you will notice
   that the loop never ends.

Closes #21565
opw-787651
2017-12-12 15:20:57 +01:00
Arnold Moyaux fda755b885 [FIX] mrp: problem with rounding
Basic operation are used instead of using function
from float utility tools.
2017-12-12 14:56:09 +01:00
Arnold Moyaux 81e983443c [FIX] stock: unlink move line don't update move state
Use case to reproduce:
- Go for a delivery order and use show detailed operations mode
- Have something reserved on a picking
- Manually delete the stock.move.line
-> The move state is not adapted to the new state of the stock move lines

It happens because the move state is not computed not
update on the move line unlink method.

This commit use the existing move function in order
to compute the state and add a test.

A part of test_stock_flow_74 is updated. Since procurement
refactoring make a move mto and confirm it will not work
since purchase or mrp are not install (Usererror). Also do an unreserve
on a draft move is not a real use case and should not pass
it in waiting since moves orig are never created.
2017-12-12 14:55:55 +01:00
Christophe Simonis 744c2934b3 [MERGE] forward port branch 10.0 up to 219c93252f 2017-12-12 14:49:29 +01:00
Christophe Simonis 219c93252f [MERGE] forward port branch 9.0 up to 7a24a2f45f 2017-12-12 14:15:15 +01:00
Nicolas Martinelli 7a24a2f45f [FIX] field: avoid overhead of record._set_dirty when setting fields (#21378)
Setting fields as dirty was dramatically slow for huge one2many fields.
2017-12-12 13:36:23 +01:00
Pierre Masereel 96c3001f0e [FIX] delivery: compute package weight
The package weight is computed by summing all move lines related to it,
which is wrong, because if you have a package that is in two pickings,
its weight will two times bigger than the real weight.

To fix this, we will compute the weight based on the quants in the
package, except if we are opening the package from a pickin, it's weight
will be the sum of move lines of the package that are in the current
picking. This allow user to see the weight of a package after a put in
pack when there are not yet any quants in the package
2017-12-12 13:34:06 +01:00
Pierre Masereel b62973e901 [REF] stock: packages and report
- delivery slip: remove mention of packages
- package: fix the report's traceback
- picking: moved the packages references to a table at the bottom of the report
2017-12-12 13:34:06 +01:00
Pierre Masereel 3799043fdb [FIX] stock: move entire package
When an entire package is moved from a location to another and reserved,
we can process all the move_lines of a package in one step.
2017-12-12 13:34:06 +01:00
Nicolas Seinlet eb36f42729 [FIX] stock: complete_name of stock location
Have the following location structure: Loc A -> Loc B -> Loc C
The `complete_name` fields are:
- Loc A
- Loc A/Loc B
- Loc A/Loc B/Loc C

When changing Loc A to Loc D, the `complete_name` are:
- Loc D
- Loc D/Loc B
- Loc A/Loc B/Loc C

Compute `complete_name` of stock location using `complete_name` of
parent instead of parsing the full bunch of ancestors.  This improves
the computation speed, and moreover solves the recursivity problem.

Closes #21585
2017-12-12 13:15:47 +01:00
Nicolas Seinlet 68cb2ade09 [IMP] base_import: defer parent store
Makes possible to choose `defer_parent_store_computation` in UI.

Closes #21320
2017-12-12 12:05:51 +01:00
Goffin Simon 2720eb84ee [FIX] website_portal: Verification of vat number in EU country
We have problems when trying to validate our EU VAT report because some vat number are wrongly encoded in Odoo.
    There are 2 problems:

    1) We use vatnumber library to check the validity of the VAT number entered by the user on website.
       That library removes the following characters '.' and '-' in order to perform the check and
       thus can return True for a number like 123.123.123.13 or -123-3454-34
       And those VAT number are then saved in our database but are rejected by the state
       as VAT number should only contains alphanumeric character
    -> Solution: prevent entering vat number with other characters than alphanumeric for users that are located in EUROPE!

    2) Usually VAT is prefixed by country code, however some people in europe managed to bypass the system
       by prefixing their VAT number with CC instead of their country code, CC is consider valid in odoo
       (it means Country Code) but is not a valid European country code in general, which means that those
       people that should have pay some tax have not. Which is a huge problem.
    -> Solution: prevent the use of CC as country code by the user when entering a vatnumber only if the user country is in EUROPE!

    source: https://en.wikipedia.org/wiki/VAT_identification_number

opw:785443
2017-12-12 11:51:52 +01:00
Pedro M. Baeza d82b360309 [CLA] backport signature for Tecnativa
backport of dc8010c9b to 9.0
Asked in #21496
2017-12-12 11:39:35 +01:00
Martin Trigaux ffbcf69af5 [FIX] product_extended: remove not working price computation
costs_hour field no longer exists
Some modules in a different repository (let say enterprise), may be still using
it but it is not its place here.
For stability reasons, we keep the computation if an external module adds the
missing field anyway

Fixes #16269
Closes #20899
2017-12-12 11:36:58 +01:00
Nicolas Seinlet 98072f1ad0 [IMP] stock: performance on _compute_reserved_availability
Improve performance (* 2.5) on _compute_reserved_availability
`mapped` makes use of orm prefetch, which is inefficient in this use
case when facing high volume.

Closes #21198
2017-12-12 11:17:54 +01:00
Christophe Simonis eff2c77726 [MERGE] forward port branch 10.0 up to 17c9208889 2017-12-12 11:05:29 +01:00
Simon Lejeune b610e2a812 [FIX] purchase: po line and force_save
Two fiels are set readonly according to the status of the purchase
order: product_id and product_uom_id. They become readonly once the
purchase order is confirmed, but according to the options a user is
still able to add purchase order line. Make sure to always send the
required fields to the server.

Fixes #21519
2017-12-12 10:52:54 +01:00
Christophe Monniez 17c9208889 [FIX] base: backport of set mimetype on js and css assets
On MS Windows, the mimetypes module relies on the Windows Registry to
guess mimetypes. As a consequence, when generating assets bundle for
javascript files, the mime type of js files may be wrong. In that
particular case, the Odoo user is facing an empty web page.
This commit enforce 'application/javascript' for js assets when they are
saved as ir_attachment in the database.

This commit is a backport of 77ca51f
2017-12-12 09:42:55 +01:00
Nicolas Lempereur d0d9196da4 [FIX] crm: crm team graph error if stage deleted
When a stage on crm leads is removed, the leads appear in an
"Undefined" column in a kanban view, but this was not handled when
getting the "graph data" (eg. in version 11.0 for sales team graphs
when grouping by stage in CRM > Reporting > Sales Channels).

opw-784455
closes #21507
2017-12-11 16:04:01 +01:00