Commit Graph
126256 Commits
Author SHA1 Message Date
Gabriela Mogollon a703d9f7c6 [FIX] l10n_mx: add new taxes for 8% sale/purchase
The tax for 8% is used in the northern border zone of Mexico

Is a new tax and must be used in the DIOT report and in the CFDI for
sales.

closes odoo/odoo#31046
2019-02-13 07:02:46 +00:00
Yannick Vaucher f610a28670 [IMP] models: more meaningful comment for the ensure_one implementation
See discussion comment
https://github.com/odoo/odoo/pull/30817#discussion_r255899919

This revision is related to
ce0575ef27
2019-02-13 11:01:30 +01:00
Géry Debongnie 1f5807f1c8 [FIX] web: allow user to move cursor in search bar
With the control panel refactoring, the auto_complete widget was set on
a different target, which caused issues with the search bar: the event
handlers for the search bar were triggered before the handlers for the
auto_complete widget.

With this commit, we make sure they are handled in the proper order.

Also, a small piece of code that was supposed to check the position of
the cursor was lost.

closes odoo/odoo#30795
2019-02-04 08:22:34 +00:00
Aurélien Warnon dcd79a543a [FIX] survey: fix empty date in survey could not be submitted
Purpose
=======

A date field not marked as "mandatory" could not be left blank in the survey.

That was caused by the form returning "Invalid date" instead of an
empty value when submitting.

closes odoo/odoo#30788
2019-02-04 07:53:47 +00:00
Rishabh Jadia 13e058c573 [FIX] web: prevent footer linebreak.
The purpose is, prevent the linebreak in the phone when using the
document layouts 'background' in the footer.

opw-1920752

closes odoo/odoo#30812
2019-02-05 10:37:01 +00:00
Robot Odoo b13a220295 [FIX] hr_holidays: fasten creation of leaves by company
When creating a leave, we usually check/create activities for the
concerned users, this is fine when creating one leave.
However it starts to become a problem when trying to create leaves in
batch using the by company or by department holiday_type as the number
of leaves created in batch can become quite big.

Now when we create leaves in batch, we do not check for the activities,
which will fasten a lot the creation.

Another problem is that when someone defined a leave on the very day you
want to create such a request, then it will crash, this can lead to
waste of time and resources.

Now we raise an error before trying to create the leaves in case of
conflict.

NB: Tested with +- 320 records, took 20 seconds instead of more than 10 minutes.

Task: 1934383

--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr

closes odoo/odoo#30625
2019-02-05 10:36:34 +01:00
RomainLibert 9c1b932489 [IMP] hr_holidays: improve performances
going from 3X seconds for 320 leaves to 20 seconds for 320 leaves
2019-02-05 10:06:55 +01:00
RomainLibert 8ab8881167 [FIX] hr_holidays: fasten creation of leaves by company
When creating a leave, we usually check/create activities for the
concerned users, this is fine when creating one leave.
However it starts to become a problem when trying to create leaves in
batch using the by company or by department holiday_type as the number
of leaves created in batch can become quite big.

Now when we create leaves in batch, we do not check for the activities,
which will fasten a lot the creation.

Another problem is that when someone defined a leave on the very day you
want to create such a request, then it will crash, this can lead to
waste of time and resources.

Now we raise an error before trying to create the leaves in case of
conflict.

Task: 1934383
2019-02-05 10:06:55 +01:00
Julien (juc) Castiaux 262e001086 [FIX] mail: delete messages on module uninstallation
When uninstalling a module, the messages linked to the records
of that module are not deleted leading to ghost messages when
reinstalling the module.

This is due to the lack of foreign keys in the definition of the
chatter making it impossible to cascade delete.

opw-1928208

closes odoo/odoo#30798
2019-02-04 14:16:47 +00:00
Nans Lefebvre 1746112794 [FIX] purchase: fix mail templates for multi-company use
Activate multi-company, deactivate the common contact book.
Create a PO P with user U1 in company A. Switch to company B.
User U2 in company A tries to send P by email.
Rendering of the template fails, because it tries to access object.create_uid,
which breaks multi-company record rules.

We add a sudo in the template so that it works as intended.

opw 1930521

closes odoo/odoo#30789
2019-02-04 09:09:49 +00:00
Martin Trigaux c189a7c37e [FIX] base: correct case in Swedish language
Was with a lowercase S while it should be uppercase

closes odoo/odoo#30814
2019-02-04 13:34:28 +00:00
Christophe Simonis 5244a6cf48 [MERGE] forward port branch 12.0 up to ff147a08761 2019-02-03 10:42:29 +01:00
Nicolas Martinelli 8cb2965e23 [FIX] stock_account: AVCO with MRP
- Create a product P with:
  Costing Method       Average Price
  Inventory Valuation  Perpetual (automated)
- Create a component C with, costing 10.
- Create a BOM for P:
  1 Unit of C
- Create a MO for P, validate
  => a journal entry of 10 is created
- Modify the BOM for P:
  2 Units of C
- Create a MO for P, validate
  => a journal entry of 15 is created

The journal entry should be 20.

opw-1928342

closes odoo/odoo#30766
2019-02-01 13:22:32 +00:00
Raphael Collet 266f99f545 [FIX] tools: use of savepoints in TestCursor
closes odoo/odoo#30768
2019-02-01 14:09:38 +00:00
Lucas Perais (lpe) 97ad37439d [FIX] website_crm_partner_assign: portal url
With a portal user, receive an email that says "Go to lead/opportunity"
and click on the link

The link's url is /mail/view which is the generic access controller

Before this commit, the user is redirected to the backend,
with fireworks of access errors

After this commit, the portal url is opened

As a side note, in master crm.lead should implement portal.mixin

OPW 193509

closes odoo/odoo#30762

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-02-01 11:18:30 +00:00
Nicolas Martinelli 05905abb0d [FIX] note: user on stage
Set the user as admin instead of root, othrewise the stage list looks
empty.

opw-1963212

closes odoo/odoo#32361

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-04-03 06:34:40 +00:00
Robot Odoo a8fd02209a [IMP] hw_*: IoT refactoring - With longpolling
Improve the implementation of IoT.
Allow both-direction communication between iot box and devices.

task: 1906910

closes odoo/odoo#30440

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-04-02 16:05:05 +02:00
Antoine Prieels 7c2ba9dc30 [IMP] point_of_sale: Do not share printers to the network
Add Cups configuration to not share printers to the network by default.
When multiple IoTBoxes were on the same network they would share printers
with each other, creating multiple duplicates of the same printer.
2019-04-02 15:53:02 +02:00
lejeune quentin ae35e16093 [IMP] IoT : Automatic registration of the IoT Box in HTTPS without certificate
When we are on HTTPS and we want to connect a box with the scan
we need to accept manually the certificate of the box.
With this commit we don't need to accept manually the certificate.
We don't have problem of mixed content if we use the onload method of Image object
So we load a image and put on parameter the token of the odoo DB to make a connection.
2019-04-02 15:53:02 +02:00
lejeune quentin 61c824764c [FIX] IoT : Variable name correction
This commit replace "data" by "iot_box" which is more representative
of the values it contains
2019-04-02 15:53:02 +02:00
lejeune quentin db9385b708 [FIX] IoT : Waiting for wifi connection
This loop try to get "screen_url" from "URL_SERVER"
So IoT Box need to be connected to the same network as "URL_SERVER". ( Inetrnet or locally )
If can not reach "URL_SERVER" he return a default screen_url
When IoT Box is wired connected there are no problem.
But with Wifi the wireless service take some time to by enabled.
With this fix the loop wait 1 second on every loop.
So if can not reach "URL_SERVER" in 30 seconds he return a default screen_url
2019-04-02 15:53:02 +02:00
lejeune quentin 1f845e9110 [IMP] IoT : IoT refactoring - With longpolling
Improve the implementation of IoT.
Allow both-direction communication between iot box and devices.

Now a device can send its value / status as soon as it changes. Not only when he receives a request.

Now the box have only 3 routes:

/hw_drivers/action
parameter: session_id, device_id, data
used to ask at a device to make a action (take picture, make print, ect...)

/hw_drivers/event
parameter: listener
listener is a dict where you have the session_id and a list of device_id to listen
this route wait to answer that we call device_changed for a device_id with data or value

/hw_drivers/box/connect
parameter: token
used to register the box to a Odoo database
token contain the url of Odoo database and a unique number that allow the IoT Box
to connect box in the hour

task : 1906910
2019-04-02 15:53:01 +02:00
Goffin Simon fced5d1e95 [FIX] web: Wrong comparison in invoice analyes
Steps to reproduce the bug:
Let's consider that we are in 2019

- Create two customer invoices: I1 and I2
- I1 with invoice date = 2 april 2019 and amount = 100€
- I2 with invoice date = 2 april 2018 and amount = 1000€
- Go to Reporting > Invoices
- Click on widget "Time Ranges" and set "Based on" Invoice Date and "Range" This Year "Compare To" Previous Year

Bug:

The untaxed total for previous year was 1100€ instead of 1000€ because it counted previous year and this year.

opw:1962027

closes odoo/odoo#32331

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-04-02 09:27:49 +00:00
Goffin Simon 0218b7fcd3 [FIX] purchase: Labels in purchase.order form view not displayed
The labels Request for Quotation and Purchase Order were not displayed.

opw:1958631

closes odoo/odoo#32281

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-04-01 06:44:50 +00:00
Nicolas Martinelli 4da82776ff [FIX] purchase_stock: return dropship
- Set an internal location as a return location
- Create a SO with a dropship product, validate and deliver
- Return the product, and choose the internal location as the return
  location.

The received quantity on the PO is counted twice.

Since the return is an 'in' move linked to a PO, it is automatically
counted as incoming quantity.

This case is quite specific, so we explicitly add an exception in case
the origin move was a dropship, but the return is not a returned
dropship.

opw-1958228

closes odoo/odoo#32205

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-03-28 12:01:42 +00:00
Nicolas Lempereur 25e16bc668 [FIX] website: tooltip width analytics chart
On the line chart of google analytics account, we have a tooltip with
lines ({date}

sessions: {number of session}) overlapping and going
outside of the modal width.

This does not happen on google examples, the only fix found is to
display the tooltip in HTML instead of SVG.

opw-1961605
closes #32285

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2019-04-01 08:02:32 +00:00
Nans Lefebvre 3f9a0d862f [FIX] l10n_generic_coa: fix demo data install
The demo data could crash trying to send a (6, 0, [False]) to the ORM.

closes odoo/odoo#32256

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-03-29 15:04:50 +00:00
Odoo Translation Bot 3f50c16d5a [I18N] Update translation terms from Transifex 2019-03-31 01:32:20 +01:00
Julien Castiaux 3b5f33281d Partial Revert "[FIX] sale: subtotal computation and display"
This partially reverts commit e2e27b41ad.

The commit changes the DOM structure in order to pretty print both
amount (value without tax, B2B setting) and total price (value with tax,
B2C setting). Actually having both (B2B and B2C) is a client
misconfiguration and we do not support that, furthermore changing the DOM
structures can break inherited templates.

The said commit was also fine tunning 716ff76, the fine tune is
related the the removal of the dynamic colspan attribute. The section,
note and subtotal should take the entire width of the table, setting the
colspan to an abritary maximum ensures they fill the entire width.

closes odoo/odoo#32194

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-03-28 09:36:41 +00:00
Lucas Perais (lpe) c8095eb81b [FIX] base: gantt rng option duration_unit
Before this commit, the duration_unit view attribute was not present in the gantt RNG
But the JS code in the framework and in Studio allow for modifying it

So, this commit makes it an optional view attribute

OPW 1946216

closes odoo/odoo#32133

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-03-27 10:19:02 +00:00
Julien Castiaux 7f41a4fd56 [FIX] l10n_in: pretty print HSN code
The HSN code is a code that internationally identify a precific product.
Presently each code for each product is print in the invoice summary.
After the fix it does have a dedicated column in the invoice so it is
print along the product is defines.

opw-1941077

closes odoo/odoo#32042

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2019-03-22 11:00:58 +00:00
Nans Lefebvre 6233c37f14 [FIX] sale_stock: hide redundant incoterms_id field
The field incoterms_id is made redundant by the field incoterm_id introduced in
b5bb5bd421. As such, it has been removed in master at: 569a498d36
We make this field invisible,
and synchronize the invoice incoterm_id with the sale order incoterm.

opw 1935573

closes odoo/odoo#32039

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-03-29 08:33:28 +00:00
Adrian Torres 21a95bae50 [FIX] website: properly unlink website_id ir.model.field
It is not properly unlinked because it is a m2o required with
ondelete='set null'

Fixes #25078

closes odoo/odoo#30617
2019-02-01 09:56:30 +00:00
Lucas Perais (lpe) a73f800639 [FIX] website_quote: sale description in template options
Modify the suggested products of a quote template

Before this commit, the description of the line was only filled with the
product name

After this commit, the sale description is included

OPW 1945131

closes odoo/odoo#31425
2019-02-26 10:52:51 +00:00
Adrian Torres 86ef5d1a46 [FIX] ir_model: properly delete m2m whose comodel is being deleted
Before this patch, if an m2m's relation field pointed to a model that
was to be deleted, the deletion of the aforementioned model wouldn't
trigger the m2m's deletion, which would lead to the registry crashing.

With this patch, whenever an ir.model is being unlinked, a check is
performed to verify that no other fields (m2m or otherwise) have this
model as a comodel, and if they do, they are unlinked as well.

closes odoo/odoo#30230
2019-02-01 10:19:28 +00:00
Romeo Fragomeli e6e206b14e [IMP] web: control panel add on_detach_callback
Adding event listener in on_attach_callback need to be removed
in on_detach_callback.

Before this commit on_detach_callback was not implemented in control panel.
After this commit we can use on_detach_callback.

Needed for task ID: 1934261

closes odoo/odoo#30758
2019-02-01 09:55:31 +00:00
wan 969705fa2a [ADD] account: suspense account management
Task 1930403
Purpose:
A suspense account is an account in the general ledger that temporarily stores any transactions for which there is uncertainty about the account in which they should be recorded. Once the accounting staff investigates and clarifies the purpose of this type of transaction, it shifts the transaction out of the suspense account and into the correct account(s). An entry into a suspense account may be a debit or a credit.

The Chosen Odoo approach (macro) for this case is
1) from bank statement -> reconciliation widget -> reconciliation model
2) create move that have a dedicated checkbox
3) be able to reopen the bank statement line "like if there is no linked account move" and finally reconcile the transaction with the good invoice/bill (we can reprocess account move "to check")
4) when we reprocess, Instead of creating an account move : Check if there is an "to check" existing linked account move and remove all the account move lines then replace  them by the good ones --> we want to keep the sequence

closes odoo/odoo#30486
2019-02-08 10:11:41 +00:00
David Beguin 723789b6b1 [FIX] website_slides: Fix clean ACLs and refactor access options commit
Fixes related to commit 748b9072d6

 * fix template still having an unnecessary t-else whereas the t-if has
   been removed;
 * move order by strategy on right class;
 * fix access rights on intermediate model between channels and partners. It
   should be accessible to website publisher as they will have so manage
   channel members;
 * fix some typos;

closes odoo/odoo#30949
2019-02-08 12:01:12 +00:00
Aurélien Warnon c4c067509e [REM] website_slides: remove the 'state' field of slide.channel.partner
Purpose
=======

The 'state' field for a member of a channel did not imply anything functionally
so we decided to remove it. It allows to remove an unnecessary computed fields.
ACLs are updated accordingly.

If needed, we will soon be able to check partner_ids that have ordered but
not paid a channel / course product by searching the related 'sale.order' model
for such products.
2019-02-08 11:33:09 +00:00
Antoine Guenet eea58a3cf8 [FIX] web_editor: on anchor split, rerange and clean data on getValue
Due to a wrong order of operations, after splitting an anchor (press
ENTER), the range was setting on the first anchor. Now it sets on the
second one (as the code - but not the tests - suggests was supposed to
happen). Tests were adapted to reflect that change.

In tests, after splitting the anchor, `Wysiwyg.getValue` didn't always
properly clean up `data-original-title`. Targetting empty
`data-original-title` attribute instead of `aria-describedby` attribute
should fix that issue.

closes odoo/odoo#30923
2019-02-07 10:20:57 +00:00
William Henrotin b1fadbc6c6 [IMP] mrp: Work Order Form View
Small changes in the form view of WO

TaskID: 1903181

closes odoo/odoo#30654
2019-02-08 08:53:00 +00:00
wan 6dd25994bf [FIX] account: remove useless TOFIX lines
There is nothing preventint to remove this line
The second FIXME is preserved to keep the tests running, as the account functionality of the function may be removed

closes odoo/odoo#30323
2019-02-07 08:50:17 +00:00
Juhil Somaiya 5c13831dc5 [IMP] sale, base: partner form view improvement
Improved partner form consistency and clarity via following changes:
- Renamed string and tooltip from Shipping address to Delivery address
- Changed description of the customer address
- Re-organised contact partner form and added image of partner
- Changed default avatar to a simpler one that is not Stephane Bern
- Test case improvement

Task ID: 192044

closes odoo/odoo#29917
2019-02-08 06:37:35 +00:00
Cedric Snauwaert e67b22946d [FIX] base_vat: belgian vat number correct display
Odoo Accept the following mask for vat encoding :
BE0477472701
BE.0.477.472.701
BE.477.472.701
BE477.472.701
BE477472701

But, in certain cases we have to add the zero to be compliance (i.e. belgian official reports...). -> http://www.tvaintracommunautaire.eu/belgique.html

This commit make use of the compact method defined in stdnum.be.vat (which is used by vatnumber in order to validate the vat). The compact method return a 10 digits vat number starting with a 0 which is compliant with the official reports.

closes odoo/odoo#28523
2019-02-07 15:11:51 +00:00
Thibault Delavallée 29219b9c93 [IMP] website_slides: remove duplicated code
Code probably coming form a rebase conflict. Duplicated and therefore removed.

closes odoo/odoo#30921
2019-02-07 13:58:57 +00:00
Raphael Collet 4bc02d104e [FIX] stock: missing dependency of move_ids_without_package
closes odoo/odoo#30910
2019-02-07 13:13:15 +00:00
Raphael Collet d27e689056 [IMP] fields: dummy updates of one2many fields should not trigger recomputations 2019-02-07 13:13:15 +00:00
Robot Odoo 71bf0c1207 [MERGE][REF] website_slides: clean access and add membership on channels
Purpose of this merge is to clean access rights on slide models and give
less access to public / portal / internal users. Website publishers and
editors have rights to edit slides content and manage channels.

Another purpose is to clean and refactor access options on channels and slides.
Access to a given slide depends on the current user being a member of the
slide channel. A channel can be either public (joined easily) or on invitation
only (manual addition of members).

Slide can be flagged as preview, meaning they are accessible without any
concern about channel membership. It is used as teasing or free promotion
of a channel.

Publish flag is orthogonal. Non published slides are not visible to everyone
except website content editor. It allows to work and improve slides without
displaying them to members or public people.

Slide upload access is a bit cleaned. A can_publish field is added controlling
who can publish slides. Currently website publishers are allowed to publish
content. Not publishers people allowed to upload cannot publish their own
content. It stays in a submitted non published state.

Base for tests are also added. More of them will be added in future commits.

This merge is related to task ID 1937411 and closes PR #30847. More
generally this merge is linked to ongoing tasks

* task ID 1902304 (main eLearning task) PR #29876;
* task ID 1922159 (new user profile and gamification) PR #30514;
* task ID 1936153 (new homepage for slides) PR #30770;
* task ID 1937160 (payment flow and integration with ecommerce) PR #30914;

This merge is therefore not functionally complete itself and serves as a
preparation for other incoming commits. See sub commits for more details
on what has been done here.
2019-02-07 17:03:40 +01:00
Thibault Delavallée 797daba163 [IMP] website_slides: add widget to join a channel
Purpose is to add a new widget and its route allowing to join a channel.
As visibility is now mainly based on membership a widget to join channels
is required.

This commit is linked to task ID 1937411 and PR #30847.
2019-02-07 13:44:39 +00:00
Thibault Delavallée ddccd33bae [IMP] website_slides: improve upload slide screen
Slide upload access is a bit cleaned. A can_publish field is added controlling
who can publish slides. Currently website publishers are allowed to publish
content. Not publishers people allowed to upload cannot publish their own
content. It stays in a submitted non published state.

This commit is linked to task ID 1937411 and PR #30847.
2019-02-07 13:44:39 +00:00