The event was lost during new view refactoring at e3d1abc75f
The "show more" button at the bottom of a too long employee list was not binded
to an event.
After this commit, clicking the button leads to the subordinates list.
CLA signature for agente2012
Closes#23665
This rev. strengthens the handling of concurrent actions of type
'ir.actions.act_window' in the ActionManager. In particular, the
two following cases are now handled:
- execute an action A, its 'load_views' RPC takes a while, during
that time, execute an action B: A can be dropped, meaning that
it doesn't need to fetch its data, and thus it should not be
appended to the DOM (nor appear in the breadcrumbs) ;
- execute an action A, its 'read' or 'search_read' RPC takes a
while, during that time, execute an action B: A can be dropped
and should not be appended to the DOM (nor appear in the
breadcrumbs).
This was already the intended behavior, but in Python a return inside
of a try...finally does not behave this way. From the Python
documentation [1]:
When a return, break or continue statement is executed in the try
suite of a try...finally statement, the finally clause is also
executed ‘on the way out.’
This can cause issues because some payment acquirers will return an
error when refunding a pending transaction. This puts the transaction
in the 'error' state which means it won't be refunded anymore.
Additionally, putting s2s_do_transaction in a try...except like this
hides any traceback that occurs which makes troubleshooting harder.
[1] https://docs.python.org/3/reference/compound_stmts.html#finally
When making a registration for event tickets from a SO, by clicking on apply
from registration.editor.form view, duplicated event registrations
were created(in function action_make_registration) because the registration_id
was not sent to the server.
opw:1824952
Depending on CSS surrounding the editor, the fullscreen component could
fail to set the editor fullscreen.
eg. if the editor is in a modal in a modal (ie. when editing a mail
template when adding an activity and creating a marketing automation
campaign) the fullscreen function would set it to 184px height away 30px
to the screen top.
With this change, `transform` css property is unset on parent elements
of the editor, this was causing the absolute editor to have an offset
parent that was not the body tag.
opw-1824605
closes#23682
especially to alter the behavior of a standard function to make it
behave like a function that is already available (defined in our
extension of jQuery).
especially to alter the behavior of a standard function to make it
behave like a function that is already available (defined in our
extension of jQuery).
The pricelist `list0` is name 'Public Pricelist' and is already present in the
product.pot file.
USD is the renamed name after installing website_sale
Closes#23686
Have a model with a m2m (field A)
this m2m has also a m2m (and displayed as m2m tags in the view) (field AA)
Have a domain on field A, to trigger the search view selection
Click on add an item
Select everything in the modal, making sure that there is more than 40 records
Click on Select
Before this commit:
There was a traceback indicating the local data did not contain records >= 40
This was because the internal data repository was constrained by a limit
After this commit:
We adapt the limit of the local data repository and there is not traceback
OPW 1823400
This commit https://github.com/odoo/odoo/commit/965f49201812cc3cca319a3b5b93331272dd2288 removed empty meta-description and meta-keywords from
the DOM for SEO audit reasons (these tags when empty are considered as
duplicates at a SEO point of view).
By doing so it prevent the 'Optimize SEO' to work correctly since it can't
retrieve the DOM elements that are used to store the user modifications until
he saves.
Now, even when these meta-tags are empty, we display them to people having the
rights to 'Optimize SEO'.
This closes#23659
Due to unknown reasons sometimes a performance test takes one query more to
run than expected. Let us therefore avoid red runbots by increasing the
query count by 1.
When a field has a domain like `"[('foo', '=', bar)]"` and is in a view, check
that `bar` is in the view as well. Note that the check should only occurs in
editable views (form or editable list) and when the field itself is editable.
OPW 1820269
- Create a Product A with attribute color and attribute values white and
black.
- Create 3 products (Components 1, 2 and 3)
- Create a BOM for A like:
Component 1, Variant column is empty
Component 2, Variant white
Component 3, Variant black
- Go to Inventory > Master Data > Product Variants, and open one of the
2 variants of Product A
The BOM count is zero, while it should be 1.
The current implementation of `bom_count` doesn't take into account
attributes that can be set on the BOM line.
opw-1814973
The 'Cost' price should be displayed in the main form view of
`product.product`, not only the simplified view.
The reason is that the field `product_variant_count` has the same value
for the product and the template, therefore it cannot be used to make
the distinction between the two models.
To do so, we need to reintroduce the `is_product_variant` field to make
the distinction between `product.product` and `product.template`.
opw-1814973
- Go to CRM > Reports > Pipeline
- Click on one of the Favorites filters (e.g. 'Opportunities Won Per
Team')
A JS error arises.
The filters are not correct. `__count` should be `__count__` and
`expected revenue` should be `expected_revenue`.
opw-1825759
This merge improves mass mailing application by allowing to choose
specific outgoing mail servers on mailings. It is used notably if
you want to separate mass mailings from classic emails and/or to perform
some load balancing. A settings to add a default server used for mailings
is also added.
As a read access on outgoing mail servers is added for mass mailing
users the credentials are now restriected to admins for security
reasons.
This merge is related to task ID 31737. Closes#21699 .
Purpose of this commit is to prevent unauthenticated access on user name
and password of the mail server. Indeed as mass mailing users notably gain
access to mail servers let us protect its credentials.
This commit is related to task ID 31737
Purpose of this commit is to not set parentheses around mail server name.
Indeed it does not add any value to have its ID in the name_get.
This commit is related to task ID 31737
Purpose of this commit is to allow mass mailing users to select an outgoing
mail sever when performing mass mailing. It includes
* add a field in mass_mailing to select specific outgoing mail server;
it is put in debug mode because it sounds people would not understand
what is its purpose;
* add an option in settings to set a default outgoing mail server;
* give read access to ir.mail_server to mass_mailing users;
This commit is related to task ID 31737.
Before this commit, a user that ccick 'Customize' on th eproduct page
see the 'List View of Variants' aven if option 'Variants' in settings
was disabled.
Now we hide this view if the group for variants is not enabled in the settings.
This commit closes#23398
That means that a user that enable the view while the variants was enable,
need to disable the view before disable the variants.
Purpose of this commit is to standardize portal user creation when
creating new portal users (when 'Free sign up (B2C)' option activated). It
copies the portal user template. The same behavior now applies when
converting a partner into portal user using the portal wizard.
This commit is related to task ID 31399 .
Purpose of this commit is to standardize portal user behavior and creation.
As all portal required features (user, group, support) have moved to
base let us move the template user used to create portal users to base.
'Portal User Template' is therefore moved from auth_signup to base module.
Various config parameters are updated due to the change in xml id.
This commit is related to task ID 31399 .
Purpose of this commit is to finally stop adding extra padding to
website logo. Indeed not giving square logos lead to padding added
to images, leading to not so beautiful logo that makes people sad.
Before this commit
* partner's image was resized to square 1024x1024. Extra padding was added
if user provided rectangle image;
* due to this website logo resized to square when rectangle logo provided;
After this commit,
* sizes dict can be passed in image resizer of tools;
* e.g. tools.image_resize_images(vals, sizes={'image': (512, 512),
'image_small': (128, 128)})
* image field in partner will resize with max width 1024 and height based
on given image ratio (still image_medium, image_small will be default
square images);
* now website logo will respect actual aspect ratio
This commit is related to task ID 31994 . Future commits should probably
clean all that mess, but at least it seems we have something that works.
Before this commit there was no option to avoid resizing images when it
was smaller than expected size. This leads to several image being displayed
with extra and unnecessary padding due to resize. This option will allow
to avoid that behavior by allowing to propagate the parameter directly
to image_resize_image.
This commit is related to task ID 31994 .
Purpose
=======
Currently both 'Married' and 'Legal Cohabitant' are considered as the same thing.
We should separate these 2 marital status to have a more accurate information.
- Switch to mobile view
- Go to Inventory > Delivery Orders > Create
- Add an item, save & close
- Save the picking
Error: impossible to save because a mandatory field is not set.
The kanban view used in mobile should not contain the `date` field,
which is not included in the view `view_move_picking_form`. Otherwise, a
`date: false` value is sent to the server.
opw-1816837
When the view 'List view of variants' is enabled from the customize menu,
wishlist was broken and return traceback because product_id was null
This commit closes#23395
Before this commit, when you was comparing several products (/shop/compare?products=x,y,z)
when you had clicked on 'delete product y' from the top, that was comparing x and z; but
your compare queue continue to be x,y,z.
Now we delete from the compare queue the product y.
This commit closes#23532
When setting a chart of account on a company, we have default taxes from
the default chart of account different from chosen one.
But if a chart of account is chosen, it should override them in the
onchange_chart_template_id function. This works as expected for a
truthy complete_tax_set chart of account template, but not for a falsy
complete_tax_set chart of account template.
The complete_tax_set indicates that we don't want to set default taxes
and the user should do it or modify the given tax rates himself.
opw-1824751
closes#23655
- Create a customer, set an address
- Create an opportunity from the kanban view
The address fields are not filled in in the opportunity.
We add all fields filled in by `_onchange_partner_id_values`
Complement of commit e2bbee6df5
opw-1816438
*crm,project: css selector adapted in tours
This rev. improves the UX of the 'Invite users' and 'Pending
invitations' part of the Settings dashboard.
Task 32804
Closes#19531
Co-authored-by: Aaron Bohy <aab@odoo.com>
Let's consider user1 and user2 allowed to access company1 and company2
In multicompany with shared partners unchecked in general settings,
if one of two users sharing the same event tried to access the event
when they are not in the same current company at this moment, an access error
was raised.
opw:1817475
When we discard an element, we want to make sure that the new state is
not corrupted by previous user operations. In our case, we possibly had
a limit and an offset values modified by the user.
This could lead to unpleasant situations, with incorrect data displayed
on the form view.
Note that this actually fixes a new bug introduced by commit
https://github.com/odoo/odoo/commit/e7fab234201e357da52c3576ad2e8fc9ceee9359
(this is the commit that introduces the tempLimitIncrement attribute)
The issue here is quite simple. If we are editing a multipage one2many
field, then we click on the pager, we need to properly unselect the
current row.
If we do not do that, then we can enter invalid data. For example,
assume that there is a readonly field. We click on add, it creates a
(virtual) record with no value for that field. When we click on the
pager, we select the next page, and bypass all validation.
When we are in the process of adding a record, we do not want to update
the pager count. The reason is that if the user is at the limit (so,
1-40/40, no pager visible), then click on add, there will be a pager
shown with 1-40/41. Now, imagine that the record currently being added
as a required field, and the user clicks on the pager. In that case, we
need to discard the newly added record (bringing the total back to 40),
then move to next page, which does not exist anymore.
So, to fix this issue, we simply consider that a record being added
does not count, from the point of view of the pager.