Commit Graph
133168 Commits
Author SHA1 Message Date
jbm-odoo 79cdcd13c8 [IMP] sale_timesheet: Move not invoiced time sheet to new SOL
Description of the issue/feature this PR addresses:
There is no easy way to re-assign the time sheets to the correct SOL (changing
the task's SOL does not change the non-invoiced time sheets automatically)

Current behavior before PR:
On a project, if a user put a wrong sale order line, and after that he changes
this SOL, the timesheet line will not be moved.

Desired behavior after PR is merged:
On a project, if a user put a wrong sale order line, and after that he change
this SOL, all non invoiced timesheet line will be moved to new line.

TaskId: 2144703
2020-01-15 15:36:21 +00:00
Odoo's Mergebot 5f65d9c9fc [FW][MERGE] project, hr_expense: Fix several multi-company issues + tests
Purpose
=======

Fix multi-company access issues following the big changes that happened
(the 13.0). Make the usability better in order to avoid potential
multi-company issues for the user.

Specification
=============

Check the related commits to see the different fixes that have been
made. For more information about the technical/functional considerations,
check the related task.

closes odoo/odoo#43321

Taskid: 2088891
Forward-port-of: odoo/odoo#43230
Forward-port-of: odoo/odoo#42418
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-01-16 14:20:37 +01:00
Nicolas Martinelli 4775192027 [FIX] mrp: UOM on unbuild order
Keep the same UOM than the MO.

opw-2169377

closes odoo/odoo#43407

X-original-commit: 942154b3140cb3fc92e8aeff0241149e701581a7
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-01-16 11:48:22 +00:00
Barad Mahendra d16aa4cd39 [IMP] (hr, sale)_timesheet, pad(_project): improve project general UX
Purpose fo the task is to improve the UX of timesheet, project and task.

Done the chages for below point:
  - improve the stage demo data to unified the project stage
  - on the task timesheet 'sub-tasks hours spent' should be clickable
and on click, it will display the list of subtask timesheet.
  - display in warning tasks for which Remaining Hours < 0 if Planned Hours > 0 in task list view
  - improve the settings of collabrative pad and planning and project form view

Task-2129052

closes odoo/odoo#41092

Closes: #41092
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-01-16 10:56:05 +00:00
Benjamin Vray de4d7e14f8 [IMP] website: review snippet rating
Adding more control on the rating snippet. Choose the color, select
other icons in media dialog, no limit to add active or inactive icons,
display the rating inline or below the title.

task-2146209

closes odoo/odoo#41169

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-01-16 10:37:35 +00:00
fja-odoo 47441a9228 [FIX] web_editor: save all child text nodes of oe_structure elements
When saving the content of an oe_structure, the starting text nodes
were lost because only the internal *elements* were considered. Ending
text nodes were kept since they are considered as the last element's
tail by the etree library.

task-2040764

closes odoo/odoo#43375

X-original-commit: eb71d25ce965ecdb20c26517627aed5b43f8b990
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-01-15 17:46:02 +00:00
Goffin Simon d595337889 [FIX] point_of_sale: Print invoice in POS
Steps to reproduce the bug:

- Let's consider two sales taxes T1, T2
- Create Fiscal Position FP which maps T1 to T2
- Create Product P (Customer Tax: T1)
- Configure FP as default fiscal position and Invoicing to print invoice in POS.
- Create POS order with any customer, with P and FP
- Select Print Invoice in the payment window
- Process the payment
- Order Preview displays T2 as expected

Bug:

The printed invoice displayed T1 instead of T2 on the invoice line

opw:2171599

closes odoo/odoo#43356

X-original-commit: b26a8d1b8f5c8b700a4a48f3698ac2d109628db4
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2020-01-15 14:51:12 +00:00
Goffin Simon ffde4c8f89 [FIX] website_sale: Creating an account on the eCommerce
Steps to reproduce the bug:

- Go to Settings > General Settings
- Set "Customer Account" on "Free sign up"
- Go to Website > configuration
- Activate "Digital Content"
- Create a fiscal position FP with a coutry group CG and applied automatically
- Create a service product P with digital content DC at sales price = 0
- Publish P on the website
_ Log out and go to the shop with public user
- Add P in your cart
- Process the your Order in the shop
- When the order is confirmed, click on "Downloads"
- You will be redirected to the login page
- Click on "Don't have an account?"
- Fill in the form and sign up

Bug:

Nothing happened because in function sale_get_order in model 'website'
the partner on the confirmed SO was not the same as the new one and so
update_pricelist was set to True and a call to function _cart_update was
done on a confirmed SO. Inspired from function _cart_update in model
'sale.order'.

opw:2146902

closes odoo/odoo#43362

X-original-commit: 1f6a4e56442ba5531f87269ab032f99218fc45a2
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2020-01-15 15:26:59 +00:00
Luc De Meyer f08204c69c [FIX] account: don't overwrite statement_line_id when reconciling transfer account
Description of the issue:

Transfer between Bank1 (550001) and Bank 2 (550002) of the same company via the intercompany bank account (580000) :

Bank 1: minus 1000 EUR, we create the following accounting entry via the reconcile widget

account 550001 credit 1000
account 580000 debit 1000

Bank 2 : Plus 1000 EUR

When we select the counterparty 580000 entry of the Bank 1 statement via the reconcile widget
than the statement_line_id of the entry from Bank 1 statement is replaced by the one of the Bank 2 statement.
Hence this account.move.line is linked to the wrong statement line.

closes odoo/odoo#43371

X-original-commit: 3d74e7397e15311f1e9189589a435d9683376317
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2020-01-15 16:36:27 +00:00
Nicolas Lempereur b239201190 [FIX] *: avoid muting res.users().context_get return
Some code modify return of res.users().context_get, but this is a
cached method so this will unexpectedly affects totally unrelated code.

For example, changing the company with the company switcher could add
`allowed_company_ids` inside the cache, then it will be cached until the
server is restarted, even if we change company again inbetween.

Added test failed with:

"NotImplementedError: '__setitem__' not supported on frozendict"

on the line with `User = User.with_context(context)` where User already
contained `allowed_company_ids` in its context.

note:

in this forward-port, context_get is also changed to return frozendict
and prevent being able to have an unexpected issue by code that modify
context_get returns.

opw-2158340
closes #42465

closes odoo/odoo#42723

X-original-commit: 5d69885c1cd6921b3de00aae7e0ed6fff243ff95
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2020-01-15 16:19:03 +00:00
fw-bot fccaa703c4 [MERGE] project, hr_expense: Fix several multi-company issues + tests
Purpose
Fix multi-company access issues following the big changes that happened
(the 13.0). Make the usability better in order to avoid potential
multi-company issues for the user.

Specification
Check the related commits to see the different fixes that have been
made. For more information about the technical/functional considerations,
check the related task.

Taskid: 2088891
X-original-commit: 5c8df3a5e5f7960e5eab6439e0a32a06224ba826
2020-01-15 15:11:50 +01:00
yhu-odoo 4a1dfb50b7 [REF] stock_account: valuation layer and not admin user
missing bit from rev[0], [1], and [2]

[0] 7ef11e3
[1] d6c8c34
[2] 5096e72

closes odoo/odoo#43186

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2020-01-15 09:02:42 +00:00
yhu-odoo c87275a69f [FIX]stock_account: stock manager group not inherit account bill group
The inheritance of account billing group gives stock managers the access
to account module.
This commit is to remove this inheritance. When we need to access
account.move model, check if the user is a stock manager. If so, use
sudo() to get the access.

PR #43186
Task 2062611
2020-01-15 09:01:45 +00:00
Benjamin Vray 76afbf9321 [IMP] website: show internal drag&drop zones of dropped snippets
- Apply the style of drag&drop zones (.oe_structure.oe_empty) even when
  it is a descendant of the editable element, not the editable element
  itself. This change allows to add a visible drag&drop zone in any
  snippet.

- Add the editor messages (data-editor-message) on drag&drop zones when
  a snippet is dropped (not only on editor start as before).

In preparation of task-2152185

closes odoo/odoo#43358

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-01-15 15:21:20 +00:00
oco-odoo aea045d446 [FIX] l10n_ch: don't assume the bank account of the company always has a currency_id
Since this field is not required on res.partner.bank (which is fine: we want it to be synchronized with the journal's currency, which is None if the journal uses company currency), the parameter received by validate_swiss_code_arguments ended out being an empty recordset in case the company was directly in CHF. This caused the QR code to never be displayed in this situation.

closes odoo/odoo#43351

X-original-commit: 60a55834b5ae0a8ac10914a243f97029d9921ae6
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
2020-01-15 14:01:34 +00:00
fja-odoo 1aaf095a1a [FIX] website_sale: allow updates after product custom text edition
Custom text on product pages was part of the main template thus
preventing who modifies it to receive updates on the view.

task-2040764

closes odoo/odoo#37288

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-01-15 14:33:43 +00:00
Nicolas Martinelli d8d86b3438 [FIX] website_sale_delivery: correct price tag
Complement of 6a6a7e6e64a7e3727a6de1ca8d35361112d99de8

Display the price tag correctly on the eCommerce.

opw-2159838

closes odoo/odoo#43352

X-original-commit: 463d79a0f8f894f4481e59680eff7ea75a25fb46
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-01-15 14:20:04 +00:00
Nicolas Lempereur 1dc3301332 [FIX] mass_mailing: can unsubscribe in multidomain
The `unsubscribe` feature of mass mailings repose on having a link with
HREF attribute `/unsubscribe_from_list` inside the mail message.

When the mass mailing is sent:

- relative URL are replaced by absolute URL (`/unsubscribe_from_list` is
  replaced by `{system parameter web.base.url}/unsubscribe_from_list`)

- `{system parameter web.base.url}/unsubscribe_from_list` is replaced by
  the real mass mailing link containing info that will be used to
  unsubscribe the user.

But there was an issue in the case of multiple domain, if this scenario
happened:

- system parameter web.base.url is http://domain1
- a user use "Test" button on a mass mailing
- system parameter web.base.url becomes http://domain2
- the mass mailing is sent

The unsubscribe link is broken, this is because the implementation of
"Test Mailing" feature would update the mass mailing with absolute
links, so if the domain change, we the `unsubscribe` link will no longer
be found and replaced into the source.

opw-2124890
closes #42373

closes odoo/odoo#43308

X-original-commit: c5036bcb11fef8081f005fe4bd0025aea41401a8
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2020-01-14 17:48:26 +00:00
Adrian Torres ee29cb9147 [FIX] tests: make --test-file great again
Sort of but not really, this commit fixes a special case in which
launching a --test-file of a file with at least two SavepointCases would
create a postgresql deadlock and it would be impossible to terminate the
Odoo process without sending a SIGKILL or waiting for the lock to
timeout.

This was introduced at #39368 and happens because of the way that
unittests unwraps suites, to keep it short, when it unwraps the custom
OdooSuite class internally, it ends up with a vanilla TestSuite with
which to run the different test cases, and since #39368 depends on the
overrides added to OdooSuite to function, the class cleanups are not
triggered at the end of a test class (rollback, cache cleanups, env
reset, registry reset, etc.).

The fix is to manually unwrap the suite of tests to keep OdooSuite as
the suite with which to call the tests, which was already done for
--test-enable (although for different reasons, --test-tags?) which is
why --test-enable didn't have any problems.

This commit also fixes a typo I found on the backport, which meant
classCleanups were not being executed if the setUpClass failed, but it
had no effect on classCleanups during tearDownClass.

Task-ID 2160398
Depends on #43135

closes odoo/odoo#43296

X-original-commit: 7a5ded7d40afc29043d356b5dece0dbe1fbd5ab3
Signed-off-by: Adrian Torres (adt) <adt@odoo.com>
2020-01-14 16:26:50 +00:00
Xavier Morel 80896a0bf3 [FIX] core: chrome doesn't abide by --http-port anymore
An http-port provided on the command line (may also have been an issue
for config files, didn't check) would not be taken in account anymore,
because `odoo.tests.common` would be imported during the import of
`odoo` itself (when loading odoo.service.server), itself importing
`odoo.tools.config` leading to a default configuration being set up.

* remove `odoo.tests.common.PORT`, `config['http_port']` should be
  used always
* defer the import of odoo.tests.common by moving it inside
  load_test_file
* stop generating default configs

closes odoo/odoo#43283

X-original-commit: 45871f498ea4cf3ada719692e69cd413883ab442
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2020-01-14 13:15:04 +00:00
Victor Feyens 2e2e877ae5 [IMP] product: product_variant_count shouldn't be editable.
closes odoo/odoo#43305

Related: odoo/enterprise#7718
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2020-01-14 17:16:20 +00:00
Victor Feyens 26779271e6 [FIX] mail: env.company_id has been replaced by env.company
closes odoo/odoo#43307

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2020-01-14 17:36:45 +00:00
Katherine Zaoral cb97a92e42 [FIX] l10n_ar: Fix responsibility of Foreign partner
The Foreign partner used in demo data was wrognly configure, it was set as "IVA Responsable Inscripto" when actually should be "Cliente / Provedor del Exterior".

After fix this in demo we updated the demo data of the vendor bills of this partner to match with the new responsibility.

Also apply and imporve in the way we are setting the fiscal position in the demo invoices, now qw use the onchange instead of setting the fiscal position explicitly in the demo invoices (and removed commented demo data that is not used)

closes odoo/odoo#43301

X-original-commit: 23e2824794b64624c8dbb1b8132d443657781830
Signed-off-by: Josse Colpaert <jco@openerp.com>
2020-01-14 17:01:09 +00:00
Lucas Lefèvre 7059b177ee [IMP] project: Following a private project no longer required
=======
Purpose
=======

Currently for a user to be allowed to see a private project they must follow the
project. This means that they will be added as a follower of all new tasks in the
project which causes them to receive 1000000 notifications, especially if there are a
lot of tasks in a project.

==============
Specifications
==============

1) Add an Employee m2m field on project next to 'Invited Employees'
    - only visible if the 'Invited Employees' option is selected
    - the project should only be visible to employees selected there (regardless if they
      are followers or not)
2) Add an Employee m2m field on tasks below the 'Email cc' one in debug mode
    - only visible if the 'Invited Employees' option is selected on the related project
    - should be pre-filled with what is set on the project
    - the task should be visible to employees selected there (regardless if they are
      followers or not)
3) Add a Portal users m2m field on project next to 'Portal users and all employees'
    - only visible if the 'Portal users and all employees' option is selected
    - the project should only be visible to portal users selected there (regardless if
      they are followers or not)
    - rename the option into 'Invited portal users and all employees'
4) Add a Portal users m2m field on tasks below the 'Email cc' one in debug mode
    - only visible if the 'Portal users and all employees' option is selected
    - should be pre-filled with what is set on the project
    - the task should be visible to portal users selected there (regardless if they are
      followers or not)
5) Following a project/task should not grant the user/employee the ability to see the
   project/task

Task 2031527

closes odoo/odoo#40505

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-01-14 16:26:32 +00:00
Nicolas Martinelli 1227e40776 [FIX] stock_landed_costs: prevent crash
Prevent crash if `stock_valuation_layer_ids` is an empty recordset. Note
that the original issue is solved with #43017, but requires an upgrade
of the module.

opw-2172049

closes odoo/odoo#43289

X-original-commit: 8a1ce12aee326b59f33f48804a4cfca61dab7506
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-01-14 14:41:57 +00:00
Nicolas Lempereur b048a6fc27 [FIX] web: widget noreset if rerendered for modifier
If we have a many2many_tags widget that is writable then becomes
readonly, we can have in the code this chain of event:

- get list of widgets we need to reset some data for
- apply modifiers
- reset the widgets

but applying modifiers can delete a widget (eg. an editable field that
becomes readonly), so when resetting we could call code on a deleted
widget which caused an error.

For example, if we have an attribute:

 `<field widget="many2many_tags" attrs="{'readonly': 'condition'}"/>`

if the field goes from editable to readonly and is affected by an
onchange, we will call `setIDForLabel` on the deleted instance of the
widget which will cause an error.

Added test without fix fails with error:

  TypeError: Cannot read property 'attr' of undefined
    at Class.setIDForLabel (/web/static/src/js/fields/abstract_field.js:324:35)

because as said, the function is called on the editable widget that is
removed and replaced with readonly widget at that point.

opw-2154471
closes #43137

closes odoo/odoo#43244

X-original-commit: 6f5ca16524be7c5bb45b03e7421154a20edc4cf6
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2020-01-13 17:59:30 +00:00
fja-odoo ac930249ba [IMP] web_editor: update left panel UI *after* onFocus method call
Call the `onFocus` method before the `updateUI` one so that we can
make changes before we update/render the UI (so that `updateUI` may
be influenced by something done in `onFocus`).

Needed for upcoming task: https://github.com/odoo/odoo/pull/42189

closes odoo/odoo#43334

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2020-01-15 12:02:50 +00:00
Julien Mougenot dc716ea42b [ADD] web: add getCookie in test_env
Allow components to access a default empty function when calling getCookie.

closes odoo/odoo#43125

Related: odoo/enterprise#7643
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-01-15 11:31:17 +00:00
Julien Mougenot c146af8a6d [REF] web: home menu template event names to kebab
Changed the event names to comply to Owl standards.
2020-01-15 11:31:17 +00:00
Katherine Zaoral 65c9945bd8 [FIX] l10n_ar: Exportation invoices demo data
The exportation invoices demo data was created in the "Sales Journal" journal instead of the "Exportation Sales Journal". To fix this we have added the xml id of the journal explictly to fix this.

closes odoo/odoo#43329

X-original-commit: 4ab91233d64990cd9991d2f8c4fb1ba4a1a51a67
Signed-off-by: Josse Colpaert <jco@openerp.com>
2020-01-15 10:36:07 +00:00
qmo-odoo b4cbad1bed [IMP] mass_mailing_crm: Improve lead/opportunity computation
Prior to this commit, two fields were used for lead and opportunities
count.

As both of these fields were set with the same values and only existed
for labelling purposes, this commit replaces them by a single field
and handles the the labels in the xml.

This commit also improves the way lead count is computed by using
a read_group instead of a search in a loop.

LINKS:

closes odoo/odoo#38707

Taskid: 2086863
Pr: #38707
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-01-15 10:02:35 +00:00
qmo-odoo 66ce1e6302 [IMP] crm: use only one field for leads/opportunities count
Prior to this commit, two fields were used for lead and opportunities
count.

As both of these fields were set with the same values and only existed
for labelling purposes, this commit replaces them by a single field
and handles the the labels in the xml.

LINKS:

TaskID: 2086863
PR: #38707
2020-01-15 10:02:35 +00:00
Thibault Delavallée d6e6e2d771 [IMP] base, account: move bank accounts partner information from base to account
Before this commit, bank accounts tab on partner view is available directly
in base whereas it should not, as it contains information useful only
for accountants. We therefore move them directly to account.

Task ID: 2172260

closes odoo/odoo#43322

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-01-15 09:30:07 +00:00
Debauche Stéphane 03e7a99e91 [FIX] mail: fix emojis button in multi-languages
When using emoji widget in a multi language environment, button for emoji
is displayed twice.

This is due to having in the widget both the input and a translation box
holding the translation button. Emoji button is incorrectly added to both
elements, which is fixed in this commit.

We also adjust vertical position so that button is aligned with the language
button.

Task #2168338

closes odoo/odoo#42827

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-01-15 09:40:32 +00:00
yhu-odoo 2de4417ccd [FIX] delivery: field name 'length' is reserved in JS
length is a reserved attribute in JavaScript, and may cause problems
when returning the object to the JS framework.
This commit is to rename the field.

PR
Task 2152050

closes odoo/odoo#43222

Related: odoo/enterprise#7686
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2020-01-09 12:53:41 +00:00
Victor Feyens d585882e2f [FIX] sale_margin: keep old Margin label
And use "Margin (%)" for the recently added margin_percent field
computing the margin in % and not in money.

closes odoo/odoo#43130

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2020-01-14 13:29:10 +00:00
yhu-odoo 6dd1bfe80a [IMP] calendar, utm: add multi-edit support for some tree views
PURPOSE

Allow multi-edit for calendar event and utm campaigns. Indeed it gives
flexibility to users when they have to edit several records at once.

SPECIFICATION

Enable multi-edit in each of the following views
  * calendar.view_calendar_event_tree
  * utm.utm_campaign_view_tree

Set the fields not editable to be readonly.

LINKS

PR #42786
Task 2078662

Related: odoo/enterprise#7553
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-01-14 15:12:25 +00:00
Victor Feyens caf11fade0 [IMP] *: update query counts
Query counts weren't adapted to recent performance changes.
This commit updates the different query counts to make sure
any commit changing the query counts knows it and does it on purpose.

Some query counts may vary between community and enterprise
and therefore have a higher value than needed in community version.

closes odoo/odoo#43202

Related: odoo/enterprise#7682
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-01-14 11:59:53 +00:00
Florent de Labarre 2d01930537 [FIX] base: add default_order in pivot view
The option is supposed to be supported:
https://github.com/odoo/odoo/blob/3316fd49247d14dd2ab39c1267ed940feafdc664/addons/web/static/src/js/views/pivot/pivot_model.js#L363

Closes #39692
opw-2169539

closes odoo/odoo#43273

X-original-commit: cc5004adf05a4df2a90d9e16bf155f77d4237af1
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-01-14 12:10:12 +00:00
Goffin Simon 0d8836f7e1 [FIX] payment: Wrong extra fees with payment acquier
Steps to reproduce the bug:

- Install Sales
- Configure Paypal payment acquier
- Add extra fees such as 10€ of domestic fee
- Create a customer C with an email E and with no country
- Create a quotation Q of 100€ for C and send it by email to C
- Go in the email box of E and click on the link
- Click on 'Sign and Pay' button
- Sign Q and click on 'Pay'
- Choose Paypal as payment acquier
- Process the payment with Paypal

Bug:

An error log was displayed saying:

Paypal incorrect data:
mc_gross received 100 instead of 110

PS: the domestic fee was not counted because the partner_country_id
was not set in function render defined in model payment.acquirer

Inspired from function create defined in model payment.transaction
(addons/payment/models/payment_acquirer.py +961) where the domestic fee
is counted.

opw:2167104

closes odoo/odoo#43265

X-original-commit: 581020c733044b52cacd0d41a6a8eb8708671d0d
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2020-01-14 10:41:09 +00:00
Jason Van Malder c76c1dd30c [FIX] project: fix can't edit attachment with studio
Issue

    - Install Projects & Studio
    - Go into projects app
    - Edit a project (... => Edit)
    - Click on x attachments stat button

    You can't edit with studio

Cause

    Writing the action manually instead of using the base one
    result with an empty xml_id (and a lot of missing data).

Solution

    Use base.action_attachment like others modules do (e.g. helpdesk).

OPW-2146741

closes odoo/odoo#43263

X-original-commit: 856b09d7055ebbfebbe3b5dc3093e429c8c930ff
Signed-off-by: Jason Van Malder <jvm-odoo@users.noreply.github.com>
2020-01-14 10:37:36 +00:00
Pierre Rousseau 1900abf233 [FIX] web: correctly manage attach-detach callback
d06e67e748 introduces tools to use owl renderer
for a view. However, on_attach_callback and on_detach_callback were not
called on super (AbstractController), so not applied to the controlPanel
and searchPanel.
This commit fixes this issue

Task-ID 2171436

closes odoo/odoo#43165

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2020-01-14 10:26:31 +00:00
Pierre Rousseau a44d7722bc [FIX] web: correctly destroy owl renderer
d06e67e748 introduces tools to use owl
renderer in a view. However, this owl renderer is never destroyed.
This commit fixes this issue.

Task-ID 2171436
2020-01-14 08:38:24 +00:00
Andreas Perhab 1b7d26c6fb [FIX] sale: remove dead code
order_lines_layouted() can not work due to layout_category_id no longer existing

closes odoo/odoo#43118

X-original-commit: de7a717b195f93f94a9794029eb10b2fa92c8701
Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2020-01-10 11:28:00 +00:00
Christophe Simonis c63ffe931c [FIX] stock_dropshipping: correct dependencies
`purchase_stock` is a required dependencies because the `stock.rule`
`stock_rule_drop_shipping` use `buy` as `action` [1].
However, it is added to the selection by the module `purchase_stock` [2].

[1] https://github.com/odoo/odoo/blob/c4b6273c9df5d8e3f3a5ee3cf52541741526280e/addons/stock_dropshipping/data/stock_data.xml#L32
[2] https://github.com/odoo/odoo/blob/c4b6273c9df5d8e3f3a5ee3cf52541741526280e/addons/purchase_stock/models/stock_rule.py#L14

closes odoo/odoo#43253

X-original-commit: eab5bc5bd349ef5e200a38f0c577f8c7831dd6ca
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-01-14 08:23:00 +00:00
Yannick Tivisse 472ac63f1f [FIX] models.py: Fix check_company mechanism
Purpose
=======

If check company is set on a field and if the user has no access
right to the field value (example: address_id on an expense sheet
could be set to a private res.partner, on an onchange method when
setting the employee), then the check_company mechanism will
raise an AccessError when trying the validate the companies on
the different records.

Specification
=============

As we only wish to validate the new record values and not the
access rights, the validation could be done as a superuser to
avoid unecessary errors.

closes odoo/odoo#43240

Taskid: 2170006
X-original-commit: 37a9b6c63dcbc268013fbe1a890cf9390eb8e223
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2020-01-14 08:26:05 +00:00
Jason Van Malder d758596911 [FIX] sale, web: fix product quantity display in ecommerce
Issue

    - Install eCommerce
    - Select Zap theme
    - Go on a product in the shop

    The quantity is hidden behind the buttons
    The quantity height is not the same than the buttons

Cause

    By default, there is a max width of 125px on the div containing
    the buttons and the quantity label. As this theme increase the
    button size, the quantity is hidden.

    The quantity label has `.form-control` class who override
    his height, so it's not using flex anymore.

    More details from QSM in design-themes closed PR #199:
        Bootstrap is not correct about input-group form-control height
        -> bootstrap_review.scss fix for the height of input-group
           form-controls

        Our max-width on css_quantity is not right, it should be a
        max-width on the internal input

Solution

    Restore the initial height in bootstrap_review for input-group form
    control

    Set the max-width only on the internal input.

OPW-2166311

closes odoo/odoo#43099

X-original-commit: 81e06ec43fdf90758556a654cedd75001ff654c1
Signed-off-by: Jason Van Malder <jvm-odoo@users.noreply.github.com>
2020-01-14 08:28:27 +00:00
Ipsita Borisagar 8e37757230 [IMP] mail: attachment counter on chatter without message_ids
Before this commit, chatter without messages did not display
attachment counter, even though attachments could be uploaded from
attachment box.

This commit now displays the attachment counter in this case.

Task-Id 2149348

closes odoo/odoo#42672

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2020-01-14 08:37:24 +00:00
Xavier Morel 9d74b1f73a [FIX] core: saving of o2m value init'd via onchange
In the SSF, o2m updates get initialized with no values (1, id,
{}). The record data is only fetched when the "record" gets updated
explicitly from which updates will hopefully get properly tracked &
saved.

However if the "record" was first initialized through an onchange
values which are updated by the onchange (diverging from the db) those
would not get tracked and thus wouldn't get saved when the record is
saved.

* use more specific placeholder (None) for "o2m records to update but
  we don't have values yet"
* once we have values, always store them as an update-tracking dict
* if we don't have values yet for an o2m and an onchange is trying to
  write to it, initialize with values from database first (might
  eventually be a good idea to initialize upfront though there's the
  question of what happens for default values and recursive views)
* mark anything coming back from the onchange and differing from local
  values as changed (so they get sent out on save)
* properly reify parent values for onchange instead of sending them
  as-is
* the evaluation context for contexts (and domains) needs properly
  formatted values so use `_values_to_save` to get them, however it
  cares about neither required-ing nor filtering out e.g. unmodified
  fields, therefore add an awful toggle to handle this

Task 2150302

Probably todo in the future:

* better UI for change-tracking dict, should have "snapshot"
  support (to freeze / discard previous changes)
* cleanup save, it's unclear that it properly resets the form

closes odoo/odoo#43235

X-original-commit: 6c99fe3ffec3aeb8d210e3b943ccef81d62d44ce
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2020-01-13 16:24:17 +00:00
Andrea Grazioso (agr-odoo) ba69b1d534 [FIX] hr: fix badge generation for cashier
Open Employees>[DEMO]. Go to HR Settings and generate badge id
Now go to POS Settings, enable "Login with Employees". Now open
the session and login by scanning the [DEMO] employee badge.

The badge will not be recognized, this is caused by the fact that the
badge is 8 digits randomly generated, while the parser recognize
cashiers only if the barcode has a prefix of 041.

Fixed the badge id generation, and adjusted the length to other barcodes
in the system

opw-2151942

closes odoo/odoo#43228

X-original-commit: 90bcda64ba6058169b48ff8214e7c2a98eb9a0f8
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
2020-01-13 15:52:04 +00:00