Probably since recent js framework changes, when trying
to modify the matrix of a product on a new SO (not saved),
a js error was raised (wrong qweb template rendering).
This is due to a wrong check when loading the matrix data,
in the case of a new record, the data wasn't correctly updated
on all widgets, resulting in an opening of the matrix with the results
of the last matrix changes (since the information is transferred in the same field).
This commit:
* Ensures that the correct data is taken to open the matrix (solving the main
problem of matrix update on new records)
* Improves test coverage to cover untested buggy situation
* Fixes another error found while improving test coverage:
The edition of existing quantities was wrongly creating new lines, instead of updating
existing ones. Simplify lines comparison to ensure the matrix won't generate two lines
for the same variant combination.
closesodoo/odoo#54917
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Before this commit, the format used by both date and datetime picker
components depended on default props which are evaluated on module
loading. This was an issue because the "time" module did not have time
to load and fetch the correct database value, hence using the default
ones.
Now, the format is evaluated on component instantiation, giving enough
time to the "time" module to load.
Task 2307258
closesodoo/odoo#55113
X-original-commit: 792b565a65a8c9f65bf13e94f30b88913f2bfa7f
Signed-off-by: Paul Morelle <madprog@users.noreply.github.com>
Signed-off-by: Julien Mougenot (jum) <jum@odoo.com>
Allow user that have a employee in a company A
and that is allowed on company A and B to timesheet
on company B
Problem:
A user have access on company A and B but is link to
an employee that belong to company A. He want to timesheet on a
project from the company B. He gets an error
"Incompatible companies on records".
Since most users are linked to only one employee that belongs
to one company. It's impossible to have consistent companies.
Solution:
The employee shouldn't be checked on the timesheet
closesodoo/odoo#55074
X-original-commit: 7eada96b8fc1c370801ff42231167885cc8e46bc
Signed-off-by: Olivier Dony (odo) <odo@openerp.com>
This commit introduces a new semantics to define action and method buttons
in the list view.
The aim of this feature is to be able to do some actions on selected records, or on the entire
records' domain with the help of buttons located in the controlPanel, much like the form view header buttons.
To define such buttons, one must add a `header` node in the list view's xml definition
```
<tree>
<header>
<button type="action|object" name="actionId|methodName" string="button's text" context="{}"/>
</header>
<field name="fieldName" />
</tree>
```
task-2246383
1) Create a stockable product > Add some quantities on hand
2) Edit this product > set it as a consumable or service
3) Create an inventory adjustment on all products
Error will raise "Something went wrong! You can only adjust storable products.
This occur because when switching product type the available quantity
was not cleared, so it will get in the next inventory, but only storable
products can have inventory. So the product should to have no
quantity left before switching type
opw-2300478
closesodoo/odoo#55062
X-original-commit: be17e31307070498ba9ac7dc594443730caa7404
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: agr-odoo <agr-odoo@users.noreply.github.com>
When sending a test email for a mass mailing, it was using the default
server, ignoring the one that could have been set on the mailing object.
This commit fixes this issue, so that the way the test emails are sent
is even closer to the real process.
closesodoo/odoo#55072
X-original-commit: 6af6e4714f2ccc703e9a3189b12a2317bd6af49c
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Paul Morelle <madprog@users.noreply.github.com>
Enter keypress browser event were removed in 3c372d1da8.
It was reintroduced in text fields with d2f024d254 and this PR do the
same and reintroduce it for source mode of FieldHtml (`html` widget).
opw-2302605
closes#55066closesodoo/odoo#55081
X-original-commit: b10ca1f6094b7c8e6e222aa0ea3d1f891e79379a
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Issue
Traceback raised in case no link provided when content type
is a video.
Solution
Format url only if provided.
Note: also fix issue with scheme (embedCode src could start with //)
Related fix : https://github.com/odoo/odoo/pull/54536
opw-2294344
closesodoo/odoo#55079
X-original-commit: 49a18eec21bad3d193804a3aa630e453b85318e9
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Before this commit, user could not selecta a date before year 1900.
This was an historical limitation due to python < 3.2 that didn't
support dates before 1900.
After this commit, user can select any date, user can select any
date from 01/01/0001.
taskID: 2166761
Fixes#41788Closes#43055closesodoo/odoo#51406
Signed-off-by: Géry Debongnie (ged) <ged@openerp.com>
Co-authored-by: Mohammed Shekha <msh@odoo.com>
Co-authored-by: Aaron Bohy <aab@odoo.com>
- Create 3 products A, B & C
A is in Units
B is in kg
C is in m
- Create a BOM kit for A using 1 kg of B and 1 m of C
- Create a PO for A, validate
- Receive the picking
An error is raised: "Conversion from Product UoM ... to Default UoM ...
is not possible as they both belong to different Category!."
It happens because `_compute_qty_received` incorrectly converts
quantities.
The computation of the quantity received for kits is done in 2 steps:
first we compute the quantity the same way we do it for a regular
product, then we overwrite the quantity with the value computed for
kits.
We can compute the quantity correctly at once by calling `super` only on
lines which are not kits.
opw-2302807
closesodoo/odoo#55047
X-original-commit: b82f71dac9452de9c1e16cde552fe260fec3c262
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
For clarity, some data files are formatted as pseudo-tree
structure. This is somewhat confusing and dangerous when the structure
has no meaning... so add meaning:
* allow nesting menuitems, nested items are set as children to the
parent they're nested in
* update schema to allow an icon *or* a parent on regular menu items,
and neither on nested (they have an implicit parent meaning can't
have an icon)
* remove attributes which don't actually exist from the menuitem
schema
* also type sequence as an integer while at it
Convert two large-ish menuitem data files to recursive form.
closesodoo/odoo#54564
Related: odoo/enterprise#11887
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
* remove <report> and <act_window> form the backend tutorial
* remove documentation for <report> in the report doc
Also various fixes and improvements:
* add ACL to the wizard in the tutorial, as transients now require ACLs
* fix indentation & spacing in rST
* reword a few bits
* improve styling of footnote references (and recompile stylesheet
with recent lessc which apparently changes its output formatting
quite a bit)
* fix link from backend tutorial to log_access section
* flesh out log access documentation
* add documentation for log_access itself & improve doc for a few
other model-level attributes
Analytics fields are currently updatable when the move has been posted,
even though editing them as no effect.
This change make them read-only when the move has been posted.
Task ID: #2299319closesodoo/odoo#54521
Signed-off-by: Cedric Snauwaert (csn) <csn@openerp.com>
Do not update to main padding-top when opening an hamburger menu with
a fixed header. Close the menu hamburger if the page is scrolled.
Part of https://github.com/odoo/odoo/pull/51446
task-2229127
closesodoo/odoo#55045
X-original-commit: c06218408df4c8ec2fa3902e0cc03468c32dd36d
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Since the new effects on the header, the overlays do not overlap
correctly after the page has been scrolled. Now we hide the overlays
during the scrolling and show/recompute it after the scrolling.
Part of https://github.com/odoo/odoo/pull/51446
task-2229127
X-original-commit: 209a94d8c4fcdc2e74860c9392fc14a35aec52ed
Fix the standard effect with template logo on top/below to avoid
an hopping when scrolling.
Part of https://github.com/odoo/odoo/pull/51446
task-2229127
X-original-commit: 444b8b8a8d2014d0465a6ff00ce23b2ca1fca66a
1. When reservation can't be done for some products, we automatically
evaluate their reordering rules and create the corresponding
replenishment document.
2. When receiving products in stock, automatically check if some stock
moves are available and assign them.
Task 2244230
PR #52433
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Steps to reproduce:
- install studio, website and sales
- go to sales > open studio > go to 'reports' > Quotation/Order
- add a field anywhere on the report with the field expression set to
"doc.signature" > save
- go to sles > create a quotation > send by email > send > go to the customer portal
- sign and send the quotation > go back to the edit mode > open the pdf attached
to the latest message in the chatter
Previous behavior:
the custom field added was not rendered properly,
the attachment is not available during the request and the generated
pdf shows the placeholder image instead
Current behavior:
the message posted in the chatter is generated in another request,
this makes the attachment available
opw-2260989
closesodoo/odoo#54955
X-original-commit: a15cbb0a7be666d3ad438f6470d29cda75c24027
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
* hr_recruitment, point_of_sale
Context keys 'col_group_by' and 'measures' are ignored since v8 or
v9. They have been respectively replaced by 'pivot_column_groupby'
and 'pivot_measures'/'graph_measures'. This commit cleans the few
filters that were still using it.
Task 33834
closesodoo/odoo#23234
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Issue
- Safari
- Sales with product configurator
- Have a product with color black & white
size M, XL
- Exclude M size when color is white
- Create a SO with that product
- Select white color
The size's M option is not grayed in the select
Cause
We do not disable the option when it's not available.
We are just adding a css class which grays the option.
Safari ignores the style
Solution
Since the flow can't be completed if you select a
grayed item, disable the option
OPW-2289666
closesodoo/odoo#54993
X-original-commit: 6150311b72089e3fbae6bc27551bc7f4792e68dd
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
The purpose of the button "Abandoned Carts" on the eCommerce dashboard is to
encourage user to send recovery emails.
Before this commit, the domain wasn't correct as we considered all the
abandoned cart, including the ones which an email was sent.
After this commit, the domain of the filter "Abandoned Carts" took into
consideration the abandoned cart and the carts for whom it is necessary
to send an email.
This commit closes#52799
Some PO lines could be ignore during _run_buy and _find_candidate.
It happens since the sorted only take a function and a string do
nothing.
Close#53247closesodoo/odoo#55011
X-original-commit: 09d77ff467a3ce5cde78da7e153d33d881fb9b87
Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
Steps to reproduce the bug:
- Create a promotional program P with company A
- Change to company B and create a SO
- Click on Promotion
Bug:
The promotion created in company A was applied to SO created in company B
opw:2303169
closesodoo/odoo#55010
X-original-commit: 3e88c5157ca344208ad4853c529baab732c1c2dd
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
- Create a repair order
- Cancel the creation
- Create another repair order
There is a gap in the sequence number.
The gap is due to the fact that the sequence number is consumed by the
`default_get`.
Although this is a change of behavior, the actual one is not really
expected. Even if a gap is possible with the sequence, we don't want to
consume a number every time we get the default values.
opw-2301412
closesodoo/odoo#55005
X-original-commit: 9d7d618220e27024321a75be0058db2289115af2
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Issue
- Install Sales with Product Configurator
- Create a product with 2 dynamic variants:
- Color: blue, red
- Size: S, M
- Create a quotation with that product (any variant)
- Sales > Products > Products Variants
Your product variant is there
- Modify your product template and add "green"
to colors
- Sales > Products > Products Variants
Your product variant is archived
Cause
The logic which determines which variant
should not be archived is only applied
on products that don't have dynamic variants
See https://github.com/odoo/odoo/blob/820fe9a025e34e81368a189ee295b4abcf9fcbda/addons/product/models/product_template.py#L576
Solution
Do a separate logic for dynamic variants that doesn't compute
all possible combinations.
But being sure that it:
- doesn't archive when adding/removing a value
to an existing attribute line
- archive when adding/removing a new attribute line
OPW-2293346
closesodoo/odoo#55016
X-original-commit: 8517fdfa2605e8d15f5e38f2074ece7ba543d56b
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Since
https://github.com/odoo/odoo/commit/369c20a99bd25172f72f4efde870172a4729aadc:
event cards cannot be customized anymore, only the popover is adapted
depending on <field> attributes inside the calendar tag.
Forward-Port-Of: #54984
original commit: 920599a46e1221c03a20e005a7ad5c61fa9107a0
X-original-commit: ef18d482a58bbff24ce1217619df603ec4670002
We wanted the JSON popover to have no label on the tree view but
it's problematic with the optional feature that display also no
label on the optional dropdown. It's possible to combine both
by using nolabel="1" instead of an empty string as name.
Show digital signatures items in PDF.JS preview even if the signature
verification is not implemented.
From discussion in mozilla/pdf.js this is like this because they don't
want to give the user a false sense of "the digital signature has been
verified" when it has not, but for a preview of the PDF this seems
misleading, in any case the user can have a full fledged PDF reader and
know if the document is well signed then.
https://github.com/mozilla/pdf.js/ issues/4743
opw-2287840
closes#54922closesodoo/odoo#54988
X-original-commit: 820128385c523f562b9ee82698c81daa63149bb7
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Before this commit, at first rendering, the export button was
displayed in the list view even if the list was empty.
The issue occurred because at first rendering, the buttons aren't
moved inside the control panel yet (this is done in the 'mounted'
hook of the control panel). As we render in a fragment, the hook
is called later on, when everything is ready and inserted into the
DOM.
We'll get rid of these painful manipulations as soon as everything
will be converted to OWL.
Task 2294306
closesodoo/odoo#54307
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Fine tuning of c839ecda6c696ac54ceaf24b2ee1816cb358052a
opw-2285695
closesodoo/odoo#54973
X-original-commit: 15ce41cd1ec8a9e80ec59fa4a0d26329fc1225f9
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
In the sale_report sql request for pos orders, the field qty of order
lines is used without specifying the table it comes from.
To avoid ambiguity if a field with same name is declared in another
table of the join, we prefix it by its table.
ISSUE-54933
closesodoo/odoo#54960
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
- In the POS config, check "Receipt Printer"
- The "Cashdrawer" checkbox will show, check it
- Uncheck "Receipt Printer"
--> Cashdrawer is still checked, so if you open the POS and validate
an order paid in cash, it will try to open the cashdrawer, but there's
no receipt printer so the command fails with a traceback.
opw-2303986
closesodoo/odoo#54963
X-original-commit: 9bd5d6d5b19c7bf44c5ba9ee544812bdfa558217
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
Signed-off-by: Antoine Prieëls <aprieels@users.noreply.github.com>
Currently there are a few issues with testing reporting (at the
command-line):
1. there is a global report after at_install tests, but it gets
"scrolled off" by long post_install tests, and is thus easy to
miss
2. with test tags, it's easy to fat finger a typo and run 0 tests,
which look like everything's running fine (no failure)
To improve this, print a global report at shutdown (in
`--stop-after-init` mode if tests are enabled) which recapitulates the
test results *and prints a warning if no tests were run at all*.
Also update the reporting collection to make this more reliable:
* have `run_unit_tests` return `None` if it has run no tests, the
assertion reporting machinery counts this as neither success nor
failure which is exactly what we want
* have load_test only report a success *if files were actually
loaded* (by having `load_data` return that information)
Task 2301268
closesodoo/odoo#54812
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Before this commit, in gateway tools, we used to consider URL as a
shortened which was having `/r` in it. However this is not true in
all cases. Any random URL can have `/r` in it but it might not be
a shortened one. It caused random failures on runbot time to time.
This commit makes a bit precise search (`/r/`) to consider URL as
a shortened one and thus avoiding those random test failures on the
runbot.
TaskID - 2276386
closesodoo/odoo#54944
X-original-commit: b8045b49d0693292e6240dfb3acd7c9a6450ad77
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit sets 'info' alias on the default sales team and sets 'admin' as a
default user for the same. After a long debate on default alias configuration
"it will work on SaaS and other people will be careful when deploying" won.
Task ID-2284840
closesodoo/odoo#54943
X-original-commit: 46d616643ba684596b709cd7e65536781dfa5d51
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
In the lead, we compute the phone number to make it formatted to match
with the international phone number format.
Before this commit, this formatted number was used for comparison with
partner's phone (which is not formatted), and so, even if both the
numbers are same, the warning ribbon appears due to different formats
which is not correct behavior.
This commit fixes the issue by comparing both the formatted number to
remove the false positive warning ribbon and thus making sure that it
appears only when there actually is a difference between lead's phone
and the phone number set on partner.
Task Id-2274752
closesodoo/odoo#54942
X-original-commit: d29862c1de6208f7fdb7c8104afe0d35241d130b
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
prior to this commit :
there was a big gap between subject and recipients in mass mailing
with this commit:
the gap has been removed by improving css related to mail emoji
drop-down (resopnsible for this gap).
task - 2291575
closesodoo/odoo#54940
X-original-commit: ae4c9be4419604affd980ae80b48f738a70b0b2c
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
While creating contextual action for an sms template, the composition mode
may be decided on the fly, based on number of records and on context the key
`default_composition_mode`, which is set to 'guess'.
It used to work before a recent refactoring[1], because the composition
mode was changed in the default_get, and was being set to appropriate
value instead of 'guess'.
After this refactoring, the composition mode is not being set in the
default_get but is being computed, so the key `default_composition_mode`
tries to set the composition_mode selection field to 'guess', which is not
available in the selection values, resulting into traceback.
This commit fixes the issue by renaming the context key(removing 'default'
prefix) to avoid setting the mode directly and instead let the compute method
decide the composition mode based on context key and number of records.
[1] - https://github.com/odoo/odoo/commit/e02137c48562d824e3e01054e31dae383e5843e2
TaskID - 2286959
closesodoo/odoo#54938
X-original-commit: 2b9ea3d93445e05cb0440aab33f2bf9e066b0fa5
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
- Create 80k UTM sources
- Go to the Website
- Promote a page (e.g. an event)
- Select a source
The web browser freezes.
It happens because Select2 tries to display all sources at once.
To prevent this, we force at least 3 characters before searching and
hence displaying the results. Note that a such high number of UTM
sources is reached because of automatic generation of random values in
mass mailing. Therefore, the combination of 3 characters narrows down
the search result drastically.
opw-2289249
closesodoo/odoo#54947
X-original-commit: 7c7986361704d7b82b115499e64c47eb74ab655f
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>