Skip to content

Merge upstream until 0916a03 #2358

Merged
pedrobaeza merged 924 commits intoOCA:13.0from
acsone:ou-13-upd-20200628-sbi
Jun 29, 2020
Merged

Merge upstream until 0916a03 #2358
pedrobaeza merged 924 commits intoOCA:13.0from
acsone:ou-13-upd-20200628-sbi

Conversation

@sbidoul
Copy link
Member

@sbidoul sbidoul commented Jun 28, 2020

There were merge conflict in

  • README.md
  • addons/website/models/ir_ui_view.py
  • addons/mail_bot/__manifest__.py

Closes #2356

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

grindtildeath and others added 30 commits April 29, 2020 12:41
As is the case with communication_flag, payment_reference_flag in the SELECT is used to
determine candidates for automatic reconciliation.
Extracting this part allows to customize the behaviour implied by the use of match_total_amount
and specifically the warning "This parameter will be bypassed in case of a statement line
communication matching exactly existing entries" to avoid an automatic reconciliation
when the amount doesn't match.

closes odoo/odoo#50413

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
- Activate a single shipping provider, e.g. UPS
- Go to the eCommerce, purchase an item
- Enter an incorrect address (e.g. street contains more than 35
  characters, or phone number without anough digits).
- Go to the '/shop/payment' page

Nothing prevents from clicking on the 'Pay Now' button although UPS
returns an error.

The fix 0b412c2 doesn't apply after 5836f16
since the event requires the `o_delivery_carrier_select` class.

There are several possible solutions for this issue. The one proposed
has the following advantages:
- no upgrade of the view is required
- no additional RPC is performed

It should be fine since if the default carrier selection is ok, the
delivery method will be checked thanks to:
https://github.com/odoo/odoo/blob/33547b6bc94e1df8a8d9c22dc5894678e51a2df6/addons/website_sale_delivery/views/website_sale_delivery_templates.xml#L32

If the default carrier selection is not ok, the delivery method won't be
checked thanks to:
https://github.com/odoo/odoo/blob/33547b6bc94e1df8a8d9c22dc5894678e51a2df6/addons/website_sale_delivery/controllers/main.py#L77
https://github.com/odoo/odoo/blob/33547b6bc94e1df8a8d9c22dc5894678e51a2df6/addons/delivery/models/sale_order.py#L152

opw-2247557

closes odoo/odoo#51333

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
- Create rates at dates 1 and 2 for a foreign currency
- Create an invoice at date 1 in foreign currency, set a partner
- Register a payment at date 2

The foreign exchange entry has no partner, while it should have as it
was the case up to 12.0.

opw-2249257

closes odoo/odoo#51750

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
- Create a dropship product
- Set a supplier
- As a portal user, buy the product on the eCommerce

The portal user is added as a follower of the PO created.

This is a side-effect of `sudo` keeping the current user and the
following adding the current usr as a follower:

https://github.com/odoo/odoo/blob/96b0dcf9e51f5a924e2cbf618c2ee5462cc1f03f/addons/mail/models/mail_thread.py#L262

When the PO is created from a procurement, the current user might not
have access to the Purchase app. For example, the user might only have
access to Sales. Therefore, there is no need of adding him as follower.

opw-2249357

closes odoo/odoo#51776

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
The business case is the following:
1) The Child company can order the product to the Parent company;
2) The Parent company order the product to a 3rd party supplier.

Settings:
- Enable ‘Inter-Company Transactions’ transactions with the option
  ‘Synchronize sales/purchase orders’ checked;
- Enable 'dropshipping'.

Set 2 companies:
- Parent company;
- Child company: which belongs to the Parent company.

Set a product 'my purchased product':
- Can be Purchased;
- Product Type: Storable Product.
- ‘Purchase’ tab:
  - Set a Vendor price list line 1: which is your Parent company + set
    your Child company who can buy the product;
  - Set a Vendor price list line 2: which is your 3rd party Supplier +
    set your Parent company who can buy the product.
- Log in as the Child company (disable the login in the Parent company,
  select only the Child one);
- Place a Purchase Order for ‘my purchased product’ to vendor 'Parent
  company';
- Confirm the PO.

Before this commit, an error message appears. The issue arises because
seller_ids is retrieved from the cache and not re-read as superuser.
Therefore, records are missing from the list and the correct seller is
not found.

Now, the correct vendor for the purchase order of the parent company is
selected.

opw-2261971

closes odoo/odoo#51783

Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
- Create 2 companies A & B
- Customers are not shared between companies
- Intercompany transactions activated (SO/PO + automatic validation)
- Create a service product P with MTO + Buy route
- Company B is a supplier for the product P
- Sell the product in company A to a customer C
  => a PO is generated in A thanks to the MTO rule
- Confirm the PO
  => a SO is generated in company B
- Set the user to have access to company B only
- Open the SO

An `AccessError` is raised during a `read` call on `res.partner` C.

The partner C is set as a delivery address of the SO because it is set
on the PO as a `dest_address_id`:

https://github.com/odoo/enterprise/blob/5a841b25389106ce254828a0383b4c71987b9f3a/inter_company_rules/models/purchase_order.py#L62

Looking further, it is set on the PO in the `sale_purchase` module.

Actually, there is no point of setting the field on the PO:
`dest_address_id` is a Dropship address only used in Stock:

https://github.com/odoo/odoo/blob/f705c4088ea7584b17769220a0a7ffcb00546e0b/addons/purchase_stock/views/purchase_views.xml#L38

Dropshipping is not supported for services. Moreover, in that specific
case the picking type usage is internal, so it should be `False`:

https://github.com/odoo/odoo/blob/f705c4088ea7584b17769220a0a7ffcb00546e0b/addons/purchase_stock/models/purchase.py#L55

opw-2260553

closes odoo/odoo#51863

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Issue

	- Install "Calendar" app
	- Activate & Set google calendar credidentials
	- Go to user preference
	- Edit and set timezone "Europe/Brussels" e.g.
	- Go to calendar app
	- Add an event and sync with google
	- Go to Settings->Technical->Automation->Scheduled Actions
	- Edit Google Calendar: synchronization
	- Set "Next Execution Date" ASAP

	The timezone on Google Calendar synchronised event is:
	- Before cron: GMT +2
	- After cron: UTC

Cause

	If no timezone is provided in context, it will by default
	use 'UTC' timezone.

Solution

	Like display time on odoo, if no timezone is provided in context,
	it will check the env.user timezone instead.

opw-2228296

closes odoo/odoo#51862

X-original-commit: 41372db
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
- Set two companies (A and B);
- Set intercompany flows enabled between company A and B with
  synchronization of PO/SO;
- create a product X is configured as follows in company B:
  -  Storable product;
  - Routes “Buy” and “Dropship”;
  - Vendors price list set with vendor = company A.
- Product X is configured as follows in company A:
  - Storable product;
  - Reordering rule Min 0 / Max 0;
  - Route “Buy”;
  - Vendors price list set with vendor = 'External Vendor'.
- Create and validate a sale order for product X to final customer
  within company B; Odoo will automatically create a purchase order for
  product X to company A within company B;
- Validate the purchase order in company B; Odoo will automatically
  create a sale order for product X to company B within company A;
- If there is no available stock in warehouse A; Odoo will automatically
  create a purchase order for product X within company A.

Before this commit, the purchase order is created with vendor as
'Company A'. As '_select_seller' is run in sudo mode (see:
https://github.com/odoo/odoo/blob/a16c4a0dabe58ab2cfade353c113387ae5bcd572/addons/stock/models/stock_rule.py#L458),
so is not company-aware, therefore the first matching supplier is
chosen.

Now, the purchase order will be created with vendor as 'External Vendor'.

opw-2255989

closes odoo/odoo#51596

closes odoo/odoo#51866

Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
Before this commit, mail_bot was an auto install module. However it is quite
disruptive during the onboarding. Moreover it is not doing what is expected
from users.

We therefore set it as not auto install, to avoid having it installed by
default in too many onboarding.

Task ID 2252752
PR #51300

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
The pos.order.line quantity wasn't considered when computing the discount amount.
E.g. buying 5 products (1$) at 50% would only show 0.5$ as discount_amount, instead of 2.5$.

Followup of #43587

closes odoo/odoo#51860

X-original-commit: 96e9628
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Issue

	- Attendances > Manager > Attendances
	- Create a line for any employee
		check-in 30/04/2020 12PM
		check out 01/05/2020 12PM
	- Go to Employees > the employee

	Last month worked hours = 0
	but it should be 12

Cause

	We only take into account records
	checked_out the previous month

Solution

	Rethink the whole method to
	take into account records
	checked_in last month and
	checked_out this month

	And adding timezone handling

OPW-2259533

closes odoo/odoo#51694

Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
When search is implemented on a given field, the domain returned by
`field.search()` must be normalized, otherwise its processing just
crashes (because of missing logic operators).

closes odoo/odoo#51907

X-original-commit: 4758a06
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
closes odoo/odoo#51918

Related: odoo/enterprise#10774
Signed-off-by: Josse Colpaert <jco@openerp.com>
Issue

	When pressing UP or DOWN arrow in search bar with empty text a traceback
	occurs.

Step to Reproduce

	- Install website_sale "eCommerce" application
	- Go to Website
	- Go to Shop
	- Click in Search Bar
	- Press Up or Down Key

Cause

	When no text is entered in the search bar, the $menu is undefined
	so trying to access children causes the error

Solution

	Test that $menu is defined prior to try accessing its children

task id-2252923

closes odoo/odoo#51920

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Steps to reproduce the bug:

- Let's consider the current company CY in €
- Let's consider a cash basis tax T of 20%
- Let's consider that 1€ = 2$
- Create a customer invoice I on journal J in € for customer C
- Create a line on J with 100€ and set T on it
- Post I
- Create a payment P of 240$ for C on bank journal in €
- Confirm P and click on payment matching
- Try to reconcile P with I

Bug:

A traceback was raised.

Fine tuning of odoo/odoo@0497c31

opw:2256207

closes odoo/odoo#51938

Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Steps to reproduce:
- Install eCommerce
- Check in website setting that the sales team is website
- Logout
- Without being logged, buy a product (all the cart flow, until the end)
- Once the flow is finished, connect with the admin
- Go to website > Orders > Unpaid Orders (since only wired is set when you create the db)
- Go to the tab "Other Info" of the SO you just created when buying the product

Previous behavior:
the sales team set in website settings is overriden during the
"/shop/address" endpoint

Current behavior:
the team set in website settings is used for sale orders coming from website

opw-2231654

closes odoo/odoo#51900

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
…` when loaded from data files

A view is marked as `arch_updated` if `arch` is being written on it
and `install_filename` is not in the context:
https://github.com/odoo/odoo/blob/7b1a6c00663239fbbab3d8ea5028e0825f4eb0dd/odoo/addons/base/models/ir_ui_view.py#L460-L461

When a view is being updated from a `theme.ir.ui.view` through `_update_records`
https://github.com/odoo/odoo/blob/7b1a6c00663239fbbab3d8ea5028e0825f4eb0dd/addons/website_theme_install/models/ir_module_module.py#L29
https://github.com/odoo/odoo/blob/7b1a6c00663239fbbab3d8ea5028e0825f4eb0dd/addons/website_theme_install/models/ir_module_module.py#L92
https://github.com/odoo/odoo/blob/7b1a6c00663239fbbab3d8ea5028e0825f4eb0dd/addons/website_theme_install/models/ir_module_module.py#L208
https://github.com/odoo/odoo/blob/7b1a6c00663239fbbab3d8ea5028e0825f4eb0dd/addons/website_theme_install/models/ir_module_module.py#L168

we can basically consider it comes from a data file,
the template is updated, and its copies as well if the copies are "unchanged"
and therefore the `arch_updated` should not be set to `True` in such as case,
as the goal of this flag is to mark the view as `arch_updated` if it was updated by the user,
not from a data file loading.

Because the views are marked as `arch_updated`,
in 13.0, when updating the theme view "templates" (`theme.ir.ui.view`),
the copies are not being updated even if they have been left untouched:
https://github.com/odoo/odoo/blob/23511dffb9e3f597a7df9bb834d008f74abb07b8/addons/website_theme_install/models/ir_module_module.py#L165-L166

This is really problematic for upgrades, as the "copies" (the themes views) are not updated
according to the latest changes in the xml files, even if the views have been left untouched by the user.

For instance, this change in the common theme:
odoo/design-themes@29da153
is never updated in databases, resulting in the below traceback
```
ValueError: Element '<xpath expr="//div[@data-js='content']">' cannot be located in parent view

Fout context:
Weergave`s_badge_options`
[view_id: 2103, xml_id: n/b, model: n/b, parent_id: 901]

load could not load template
ValueError: Element '<xpath expr="//div[@data-js='content']">' cannot be located in parent view
```

opw-2255753

closes odoo/odoo#51933

X-original-commit: fdd4a143f2148ec5f4aeea80fecd3138fea95dc6
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
Steps to reproduce the bug:

- Let's consider a product P (invocing policy based on timesheet and creating new task)
- Create a quotation with the product P
- Confirm it (A new task T is created)
- Go to T and add a follower (who is a portal user PU) in the task
  but uncheck the box to send him an email
- Connect to the portal with PU
- Go to T and send a message

Bug:

A 403 error was raised

opw:2239844

closes odoo/odoo#51942

X-original-commit: c7e864e
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
…_code

It is giving nightly warnings on runbot for an otherwise technical
field.  So we can easily change its label.

As of saas-13.3, we put a generic country_code field in account
in order not to have to redefine it again each time.

closes odoo/odoo#52009

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
- Go to Project
- Open a project to display Tasks
- Switch to list view
- Click on create button
- On task form page, click nowhere. (It is important to not click on anything)
- On the taskbar of the WYSIWYG editor used for Description, click on one of the following actions:
    * Unordered list
    * Ordered list
    * Checklist
    * Table
    * Style
- The action will be applied to the "name" field (Task Title) and
  an error will prompt for Unordered list, Ordered list and Checklist actions
- If not, discard the form and retry by opening the form with create button

In this case, the WYSIWYG editor does not have the focus and try to execute
the tool action on the current focused element.

opw-2256835

closes odoo/odoo#51956

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Issue

	Step to do on mobile or chrome debugger in mobile mode
	- Install "Manufacturing" app
	- Go to "Manufacturing"
	- Click on "Create"
	- Select a product with already default bom lines
	- Alter quantity

	BOM lines are duplicated.

Cause

	Missing "bom_line_id" field in kanban view,
	who is required for onchange "_onchange_move_raw".

Solution

	Create inherited kanban view with "bom_line_id" in
	mrp module.

opw-2257732

closes odoo/odoo#51914

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
As without configuration of mail servers,
the only thing it does, is making sure we
can export/import FatturaPA invoices.

closes odoo/odoo#52004

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
Go to Reconciliation Models > Invoices Matching Rule
Set the parameter 'Amount Matching'
Set 'Partner Is Set & Matches'
Save
Edit
Unset 'Partner Is Set & Matches'

'Amount Matching' will switch to invisible but is not disabled

opw-2261134

closes odoo/odoo#51994

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
This commit fixes two bugs with pos_six:

- When the cashier manually clicked on "Cancel" or switched order,
the payment was correctly canceled, but the POS still showed the
error popup saying that the transaction was not processed
correctly.

- The TIM API manages differently rounds amounts and amounts with
decimals. Sending an amount of 1 was considered as 0.01€, while an
amount of 1.01 was considered as 1.01€. To fix this, we always sent
the amount in minor units.

closes odoo/odoo#51940

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
When a resequencing is done inside an object hierarchy of two
controllers, since 9b90d87 we would call resquencing code one time
per controller.

So if for example we are in a list view inside a form view (eg. a
"Search More" modal in a form view) the resequencing would work for the
list view, but then cause traceback when it is handled by form view.

With this changeset, the first controller that get the event
`resequence_records` even gobbles it up.

Without change, added test fails because of original traceback:

  Cannot read property 'res_id' of undefined@ 202 ms
  Source:
   TypeError: Cannot read property 'res_id' of undefined
    at /web/static/src/js/views/basic/basic_controller.js:744:67
   ...

opw-2256818
closes #51827

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
As indicated in the comment, it's much preferred to perform response
buffering at the reverse proxy level than to increase the socket
timeout. It will free up HTTP workers for other requests faster, while
the proxy does the work of buffering the stream on disk as needed.

/!\ The timeout is also used to protect from accidental DoS effects
in situations of low worker availability, due to idle connections
caused e.g. by wkhtmltopdf's connection pooling.
Setting a high timeout will make the protection less effective, so
ensuring you have enough free HTTP workers at all times becomes critical.

In our tests with nginx's defaut buffering on a typical hardware with
SSD storage, buffering up to 1GB responses did not require any change
of the socket timeout on the Odoo side, though your mileage may vary.
See also nginx's `proxy_buffering` and `proxy_max_temp_file_size` config
directives.

OPW-2247730
See also: #20158

closes odoo/odoo#51972

X-original-commit: d78ea12
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
There is a CRON task to check the validity of the daily certificate.
However this is not executed correctly because the command line is incorrect.

This commit fixes this command line

closes odoo/odoo#52007

Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
…ated` when loaded from data files"

This reverts commit fdd4a143f2148ec5f4aeea80fecd3138fea95dc6.

See discussion in #51969

closes odoo/odoo#52019

X-original-commit: 3e40cde5261566da8025f155cfebf7021fb76a56
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
Follow-up on 118190f

Remove the wrong decorator from the write method.

closes odoo/odoo#52031

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
- Install Events & Online Event Ticketing
- Go to Events
- Create a new event
- Add tickets with a price to the created event
- Go to Events list on Website (path: /event)
- All events have "FREE" displayed in their footer, even those with no free ticket

In further version the "FREE" has been removed from footer (commit: cb928ed6133bc3d2104fbf586bba5cae2a482524)
as it is not easy to know when to label an event as free.

opw-2256857

closes odoo/odoo#51993

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
xmo-odoo and others added 16 commits June 25, 2020 09:57
`invoice_policy` is defined in `sale`, which POS does *not* depend
on. According to @pim-odoo, pos also doesn't care about invoice
policy, so it's unclear why this is being set.

It's not the hugest issue in 13.0, but starting with 13.4 setting a
not-field doesn't work anymore, so this blows up... unless sale is
installed. Which it often but not necessarily is, likely explaining
why this went unseen for so long.

closes odoo/odoo#53638

Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
Before this commit, Edit pencil on the widget `tax-group-custom-field` was visible on canceled Invoice as well.

Now, Edit pencil will be visible on Draft invoices only.

closes odoo/odoo#51738

Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
Install payment
Archive the cron
Upgrade system

--> Issue the cron is now active

Note: on testing server we archive cron (we make a an SQL query before upgrade the system)

@qdp-odoo
@nim-odoo
@sla-subteno-it

closes odoo/odoo#53648

X-original-commit: a47f024
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
- Create a product P with 2 variants A & B (e.g. 2 colors)
- Create the following BOM
  Component 1
  Component 2a, applies to variant A
  Component 2b, applies to variant B
- Create a MO
- Set the product to variant A
  => 2 components are added: 1 and 2a
- Change the product to variant B

The component 2b is added but 2a is not removed.

The issue is coming from the result of the onchange, when comparing the
2 snapshots. The result contains the following commands:
- [(5,)]: clear the lines
- [(1, ...): ]: update component 1
- [(4, ...)]: keep component 2a
- [(0, ...)]: add component 2b

In case we are changing the product, we clear the lines.

opw-2270990

closes odoo/odoo#53660

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Currently, when kanban card drag and drop, it call onchange method
when onchange fails due to python error raised, e.g. UserError, kanban
view is not reloaded and kanban card stays in dropped column while
kanban card should come back to column from where it is dragged i.e.
kanban view should reload if onchange fails.

After this commit, if onchange trigerred from kanban drag and drop fails
then kanban view will get reloaded and card will come back to column
from where it is dragged.

note: in not stable version, forceFail option will not be added and
promise will fail in all cases but it is not done in stable for safety.

task-2267444

closes odoo/odoo#53608

X-original-commit: 2dd54303ffd897062d8b323af3eef00d7f5b2d0e
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Accrual allocations with a due end date should also be taken into
account when computing allocation_display as they are still valid.

closes odoo/odoo#53682

X-original-commit: 04cbd27e35fc32c61c183905dcd1c5f06a3db447
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
Signed-off-by: Alex Tuyls <alt-odoo@users.noreply.github.com>
When company layout is changed, we do not update the company styles for
report: thus we still have the old style for other layout that will not
change anything (besides font).

opw-2269849
closes #53706

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
This intend to enforce specifications and improve readability

Layout changes:

* [FIX] Amount section must be placed under the QR code
* [FIX] Don't display empty additional information
* [FIX] Rename slip sections and labels
* [IMP] Rework of the layout

    Group content like adresse by removing line spacing
    Reduce character size to follow Swiss Implementation Guidelines QR-bill v2.1
    Reduce left margin to avoid overlap of spaced ISR reference on the Receipt

* [FIX] Missing street on Receipt
* [FIX] Add thousand separators

    Official specs asks for:
    - thousand separators as blank. (using a non breaking to avoid spliting the amount)
    - decimal separators as a full stop

    > If  the  amount  isincluded  in  the  Swiss  QR  Code,  then  it  must  be  printed  after  the currency code. A blank (space) should be used as the thousands separator and a full stop «.»as  the  decimal  separator.  The  amount  must  always  include  two  decimal places (e.g. CHF 1 590.00).

QR-Code:

* [IMP] Align QR code upper and improve accuracy of size

    Add an option on reportlab to print QR Code without surounding blank space
    this is required to compute with accuracy the width of 46mm x 46mm defined
    in the specs.

* [FIX] Street and street2 issues

    Removes an extra space between street values when only one is given.
    Test the right partner street, only the company street was checked.

QRR generation

* [FIX] make it possible to generate QRR

    It must be possible to generate QRR without ISR subscription number.

Content removed as not present in the specs version 2.1:

* [RM] procedure section
* [RM] due date

Translations:

* [IMP] Add translations of the QR-bill in DE, FR and IT
* [FIX] QR-bill lang is now based on customer lang

Tests:

* [IMP] Add unit tests for Swiss reality check for the QR-bill

closes odoo/odoo#53084

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
In 13.0, the current company selected in the company switcher can be
different than self.env.user.company_id value.

Wizard "Configure Document Layout" (model base.document.layout) is using
the company in company switcher:

```
company_id = fields.Many2one(
    'res.company', default=lambda self: self.env.company, required=True)
```

But the "Preview Document" button is using user company_id, so if you
change the layout then preview, you may see the report layout of another
company which make it seemed broken.

note: also improve code of point of sale added in 59f5e57 (in case of
point of sale, company maybe should be point of sale company but you can
print several ones and the company used on point of sales is the one of
company switcher).

opw-2269849
closes #53712

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Before this commit, some code was resetting some default website config
on theme change.

Problem 1:
This was not done when *removing* a theme. Thus when you wanted to go
back to a default website theme, you were not properly reset to the
default theme config. This could actually crash: some themes define
more fonts than others; so if you selected font 13 in one theme then
removed the theme, the default one would crash if not properly reset
as font 13 would not exist.

Problem 2:
It was done for every theme dependency, making theme change slower for
no reason.

Problem 3 (theorically, not tested):
The current code worked by chance as it called the website
'make_scss_customization' method without giving any website to it. It
actually worked by fallback on the right website in normal user cases
(user in the context of installing a theme on a specific website) but
may not be working when trying to install a theme on a different website
calling those functions from custom code.

Now, a dedicated method is there for config reset and is called at the
correct place with the right website in the context.

closes odoo/odoo#53722

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
- Go to Inventory > Reporting > Inventory Report
- Filter the location with a negative operator, e.g. 'Location doesn't
  contain "shelf"'

Locations containing 'shelf' are displayed anyway.

We are adding this condition: `'|', ('barcode', operator, name)`. Since
barcode is empty (or at least doesn't contain 'shelf'), the condition is
met and all records are retrieved.

In case of a negative operator, both `barcode` and `complete_name`
must not match.

opw-2281191

closes odoo/odoo#53707

X-original-commit: 8fedbcda6a89d99d42df3694390eac4cf7a987ed
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Steps to reproduce:
- Create a database with german as main language
- Load the en_US language (keep user preference as german)
- Activate debug mode > find the email template named "Purchase Order: Send PO"
- Edit the mail template > click the "DE" button to show thet translation dialog

Previous behavior:
the en_US translation is empty, it is confusing because the user assumes
that english translation have not been loaded.
that translation is actually fine when you switch to english

Current behavior:
en_US translations' empty value are assumed to be the same as the source

opw-2276673

closes odoo/odoo#53399

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Before this commit, the payment reference wasn't used when generating
the QR code on invoices.

opw-2277723

closes odoo/odoo#53715

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
1. Install the demo data
2. Activate GeoIP and set your IP in Belgium [1]
3. As a non-connected user, go to '/partners'
   => No result found: expected since we want to filter the partners
   available in the user's country
4. Click on 'All Countries'
   => All partners are displayed
5. Click on 'Platinum' or search for 'azure'
   => No result found

The last step is not expected, it should filter partners from the 'All
Countries' list.

It occurs because the 'All Countries' filter is not kept when chosing a
Level or searching.

We use `keep_query` for the level filtering and set the `country_all`
`input` field for searching.

[1] IP can be set manually in
https://github.com/odoo/odoo/blob/bbb45e3412a5653d78aacc92903e95d1353ed60a/addons/http_routing/geoipresolver.py#L42

opw-2277343

closes odoo/odoo#53729

Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
@pedrobaeza pedrobaeza added this to the 13.0 milestone Jun 28, 2020
@pedrobaeza
Copy link
Member

Can you please put the diff for the conflict resolution? GitHub is not visualizing it.

@sbidoul
Copy link
Member Author

sbidoul commented Jun 28, 2020

@pedrobaeza here is the merge commit

Author: Stéphane Bidoul <stephane.bidoul@acsone.eu>  2020-06-28 11:56:54
Committer: Stéphane Bidoul <stephane.bidoul@acsone.eu>  2020-06-28 11:56:54
Parent: dae6189b770e65e7511cdc0067a4587a4a249cd2 (Merge pull request #2355 from kos94ok-3D/13.0-mig-product-fix)
Parent: 0916a03c561ec76406f0c921140f9f9a0c789d62 ([I18N] Update translation terms from Transifex)
Branches: ou-13-upd-20200628-sbi, remotes/openupgrade-acsone/ou-13-upd-20200628-sbi
Follows: 10.0-wip-aabd02a-odoo
Precedes: 

    Merge upstream until 0916a03c5

--------------------- addons/website/models/ir_ui_view.py ---------------------
index a7a8ffaddf5,f2b70c0f8a8..70ba7ee432c
@@@ -174,15 -165,8 +165,15 @@@ class View(models.Model)
                      view.with_context(website_id=website.id).write({'name': view.name})
  
          specific_views = self.env['ir.ui.view']
 -        if self and self.pool._init:
 +
 +        # OpenUpgrade: force a False condition to never enter this code block.
 +        # This is needed because the update process could correctly unlink
 +        # website-agnostic views, but we don't want the website-specific
 +        # equivalents to be removed during the migration.
 +        if False and self and self.pool._init:
 +        # OpenUpgrade: end of modification
 +
-             for view in self:
+             for view in self.filtered(lambda view: not view.website_id):
                  specific_views += view._get_specific_views()
  
          result = super(View, self + specific_views).unlink()

@pedrobaeza
Copy link
Member

Uhm, now that I see that, I'm not sure that patch is needed here in v13. It was put in v12, and possibly translated to v13 as "a block". @StefanRijnhart can you tell if you put that with any intention or was it only the FW port in block?

@StefanRijnhart
Copy link
Member

@pedrobaeza This change was ported as part of the framework patch extracted from the previous version.

@pedrobaeza
Copy link
Member

Then it can be removed as suspected. @sbidoul if you want to do it, or we can do it after merging this.

@pedrobaeza
Copy link
Member

Anyway, it should be in a different commit.

@sbidoul
Copy link
Member Author

sbidoul commented Jun 29, 2020

I would'nt know what to write as message on such commit, so better do that in another PR.

@pedrobaeza
Copy link
Member

OK, I'll do it. Thanks for the update.

@pedrobaeza pedrobaeza merged commit 8c3353c into OCA:13.0 Jun 29, 2020
@pedrobaeza
Copy link
Member

@yajo I would like to have your confirmation before removing that lines from this version.

@sbidoul sbidoul deleted the ou-13-upd-20200628-sbi branch June 29, 2020 16:49
@yajo
Copy link
Member

yajo commented Jun 30, 2020

Yes, that was only needed for v12.

@pedrobaeza
Copy link
Member

OK, thanks for the confirmation.

Reverted in dd2f051

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[13.0] need to refresh Odoo