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>
Widget attributes have been removed from all search view archs since
they are no longer supported.
closesodoo/odoo#54107
Related: odoo/enterprise#11665
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Until now the "widget" attribute used in the search view was meant to
force the type of a field regardless of its definition. This system was
implemented quite a long time ago and is now useful in only one case:
searching for "reference" fields (we want them considered as char fields
else it is impossible to search on them).
This is why this commit completely removes the "widget" attribute
support in search views while consistently casting the "reference"
fields as "char" fields in the search bar.
Task 2061795
In the PoS, activate the cash rounding.
Open a PoS session and make a sale.
Close the session (without validating the entries yet),
Go to the just made order to return the items.
Upon making return payment, it gets stuck, because Odoo offers
to refund the unrounded amount and it doesn't match what the customer
paid.
opw-2289751
closesodoo/odoo#54870
X-original-commit: 0811db53c728c2e159c50c2c9f096a06d3ac3be2
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: agr-odoo <agr-odoo@users.noreply.github.com>
Go to web shop as guest
Add 10 office chair black
Go to checkout
Add coupon code 10pc
Image for the reward prod will be displayed correctly
Proceed in checkout flow
Image is not displayed anymore
opw-2289771
closesodoo/odoo#54684
X-original-commit: 913ed0460b68537f9653c175996e3f58d3c81a40
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
Signed-off-by: agr-odoo <agr-odoo@users.noreply.github.com>
Before this change, we create an xid for every parent of a record
being imported, regardless of whether it already has an xid, or if
it's being created implicitly through the child.
This generates unnecessary extra xids on pre-existing objects
e.g. update 5 product variants -> the product gets 5 new xids despite
already having one.
We should *only* set a xid on parent records which are being
implicitly created by the creation of a child with a specified
xid. That is, we should never set a xid on the parent if it exists
before the child is created.
Update _process_end to try and see if "non-loaded" xids correspond to
an automatically generated "parent" xid: we're still setting a xid on
implicitly created records (if the child is created with a xid) so
they're properly removed if e.g. the module is uninstalled, but
because we're only doing so at creation these xids will not be visited
during update and _process_end will try to delete them.
A special case can be added to check that "unknown" parent xids don't
have children which _inherit them, in which case we want to protect them.
Task 2251039
closesodoo/odoo#53283
Related: odoo/enterprise#12023
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
When printing an invoice with one of its line without write_date,
a traceback was raised.
opw:2301363
closesodoo/odoo#54856
X-original-commit: 765e3d526890f1babd85ec3a68aa322f61ab9d10
Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
Co-authored-by: odoo-crm <crm@odoo.com>
Issue
- Install Events
- Any Event > Edit
- Toggle website menu
- Go to website > Edit
- Add anything > Save
- Edit in backend
- Toggle off website menu > Save
- Toggle on website menu > Save
Traceback foreign key violation
Cause
We unlink the website menu view
but not its childs.
Solution
Use `_force_unlink` context key to delete all inherited views too.
OPW-2291645
closesodoo/odoo#54918
X-original-commit: a21401f84a0baebe33ca7adc11f85d538afd51ec
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
The tour system is made such that we always have at most one tip
displayed on every screen. Since commit [1], "inactive tips" (i.e.
tips that aren't displayed because there's already an higher
priority tip displayed), are rendered, but turned invisible (s.t.
their action is still consumed when their anchor is clicked on),
whereas before [1], those inactive tips weren't rendered.
As a consequence, in the enterprise Home Menu with **a lot** of
apps installed (e.g. on runbot), it lags when the user scrolls,
because all those invisible tips still do a lot of computation to
reposition themselves.
This commit skips these positionning computation for invisible
tips.
[1] 3bf1d8418f41bcaa0ba4b153620def11aaea0a2b
Issue spotted while testing task 2263600
closesodoo/odoo#54920
X-original-commit: cac1689718299fcf509de8228ed6cf2bfdb7c57c
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
The `initialize_sys_path` is the function responsible of getting the
custom Odoo import hooks to work, i.e. addons import via
`import odoo.addons`. This function is called by some other module
related functions to ensure the paths are correctly setup. We are
confident it is useless to re-initialize the path in many places.
The `load_openerp_module` function is called during server bootup by
both `odoo-bin server` and `odoo-bin shell`, both command parse the
configuration before starting the server which initialize the paths
already.
Most call to `get_module`, `get_module_path` and `get_resource_path` are
done in models or controllers where a registry is setup already. There
is one notable exception which is the subcommand discovery done during
the bootup, for that specific case, we initialize the paths with a
partially loaded configuration.
closesodoo/odoo#49715
Task: 2200956
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>