**Steps to reproduce**
- Open general settings of pos.
- Select/Create a Point of Sale that is kiosk to see the `Splash screens` field.
- The field is pre-filled with 3 images.
- ISSUE: Try removing the images and save, they won't be removed.
**FIX**
- This is because of the `write` operation made from the `res.config.settings`
model to the `pos.config`.
- When removing an image, the field will be given `link` commands, linking the
remaining images. This is wrong because it won't unlink the images that are
deleted.
- To ensure the deletion, we reinterpret the command to the splash screen images
field if the command comes from the res.config.settings.
- We introduce a context called 'from_settings_view' such that it's set to
true when the write is from the `res.config.settings` view.
- And specific to the pos_self_order, we compute the items that should be
unlinked and we append the unlink commands to the original set of commands
for the splash screen field.
closesodoo/odoo#137819
Signed-off-by: Robin Heinz (rhe) <rhe@odoo.com>
### 1. Move "Add Properties" button to cog menu by default
When the property field is added into a form view, the "add a property"
button is shown by default.
However, most of the time the users won't add properties when opening a
form view, making this button take up space for nothing.
To alleviate this issue, [this commit](https://github.com/odoo/odoo/commit/1f80810e39f811122a65e11cd8cac99aa39a7960) added an option that allows to hide
this button, and added actions to allow adding properties from the cog
menu instead.
Now that properties are being added into several views, one would like
this "add properties" button to be hidden by default, and show an entry
in the cogmenu allowing add properties by default, without needing to
create an action for every view using a property field.
Therefore, a new static action "Add Properties" has been added in form
controller that is available if a properties field has been encountered
during the parsing of the form view's arch.
The "hideAddButton" has been changed into "showAddButton" and now allows
to show the "Add a Property" by default.
### 2. Add properties (and related properties definitions) on the following models:
- analytic.account (analytic.plan)
- event.registration (event.event)
- hr.employee (hr.res_company)
- hr_recruitment.hr_applicant (hr_recruitment.hr_job)
- product.product (product.category)
- sale.sale_order (sale.crm_team)
- stock.picking (stock.picking_type)
Task-3458627
closesodoo/odoo#137589
Related: odoo/enterprise#48404
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Purpose:
--------
This commit adds properties (and related properties definitions) on the
event model. Event stores the definition and it is used on its child
registrations.
Task-3458627
Part-of: odoo/odoo#137589
Purpose:
--------
When the property field is added into a form view, the "add a property"
button is shown by default.
However, most of the time the users won't add properties when opening a
form view, making this button take up space for nothing.
To alleviate this issue, commit [1] added an option that allows to hide
this button, and added actions to allow adding properties from the cog
menu instead.
Now that properties are being added into several views, one would like
this "add properties" button to be hidden by default, and show an entry
in the cogmenu allowing add properties by default, without needing to
create an action for every view using a property field.
Therefore, a new static action "Add Properties" has been added in the form
controller that is available if a properties field has been encountered
during the parsing of the form view's arch.
The "hideAddButton" has been changed into "showAddButton" and now allows
to show the "Add a Property" by default.
Task-3458627
[1]: https://github.com/odoo/odoo/commit/1f80810e39f811122a65e11cd8cac99aa39a7960
Part-of: odoo/odoo#137589
Currently it is not easily discoverable that users can install the
PEPPOL module. They have to go to the Apps list and search for PEPPOL
there.
In order to make the installation easy and discoverable, we added a
checkbox to the Invoicing/Accounting settings to install the module and
afterwards show the checkbox to enable PEPPOL per company.
The install checkbox is only shown when editing the settings of a
company that is eligible for PEPPOL to avoid confusion. In order to do
that, we created a `PEPPOL_LIST` variable in `account` containing all
countries currently allowed to use PEPPOL. The code in `account_peppol`
formerly using the `EAS_MAPPING` variable of the `account_edi_ubl_cii`
module is now also using this new list.
task-3519564
closesodoo/odoo#137287
Signed-off-by: Laurent Smet (las) <las@odoo.com>
Prior to this commit the required employee field was hidden
on hr.resume.line form view. Which lead to validation error.
Moreover, on the same form view, on create the survey_id field was not
certification by default. The survey_id field has the
domain [('certification', '=', True)] on this view and this caused
inconsistency. The survey that we created from this form, was
not listed as one of the options.
After this commit the employee_id field is shown on hr.resume.line
form view and the survey_id, created from this view, will be
certification by default.
task-3522917
closesodoo/odoo#136751
Signed-off-by: Bertrand Dossogne (bedo) <bedo@odoo.com>
In Spain it's mandatory that POS systems generate a so called
"Factura simplificada". This is similar to a regular ticket
but has to comply with some special requirements.
Without this, POS isn't usable in Spain.
In this PR we introduce a spanish localisation for the pos
that handles the specific regulatory needs.
closesodoo/odoo#136008
Task: 3131769
Signed-off-by: Joseph Caburnay (jcb) <jcb@odoo.com>
Currently, spreadsheet dashboards always display numbers with the en_US
format, no matter the user's lang.
That's because the locale is hardcoded in the spreadsheet source file, in
the source code (or it falls back to the default en_US locale if it's missing).
With this commit, we dynamically change the spreadsheet locale with the user's
locale when he loads a dashboard.
We can change the locale with every user because the dashboard is readonly.
It cannot create a giant mess with dates in various locales.
Limitation
----------
Since hardcoded date formats are not changed when the locale changes, dates
will keep the en_US format. However, most (if not all) dates in dashboards
are coming from ODOO.PIVOT and ODOO.LIST functions, which compute the formats
dynamically based on the current locale.
closesodoo/odoo#135119
Task: 3484002
Related: odoo/enterprise#47284
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
In the specific case in which an invoice in company currency is paid by a payment in foreign currency,
in that case, perform the reconciliation in foreign currency but convert the residual amount of the invoice
to the foreign currency using the payment rate instead of the invoice one.
closesodoo/odoo#138289
X-original-commit: 2123278215befe22d3be4568812bfe7d028e2757
Related: odoo/enterprise#48744
Signed-off-by: John Laterre (jol) <jol@odoo.com>
Signed-off-by: Laurent Smet (las) <las@odoo.com>
Current behaviour:
When creating a nameless contact,
while selecting delivery address type
for an existing company, there is a traceback
Steps to reproduce:
1. Install contacts,sale_management,crm
2. Settings > Sales > Quotations & Orders
3. Check "Customer Addresses"
4. Go to Contacts
5. Create a new contact
6. Check "individual"
7. Select a company
8. Select "Delivery" in Address type
9. Save => traceback
Cause of the issue:
Introduced by https://github.com/odoo/odoo/commit/9ef715fb994564af9e933ba31933a09eca97c24f
partner.name can be False
opw-3495748
closesodoo/odoo#138312
X-original-commit: baa731ac37818bcffcd7814b92456b37b8a97c61
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Signed-off-by: Antoine Demany (ande) <ande@odoo.com>
Co-authored-by: Thibault Delavallée <tde@odoo.com>
There's no reason to forbid the duplication of leaves that are refused
or cancelled, as the overlap check are excluding them.
This way, we allow an exit flow for users with "Time Off / All approver"
group, as once the holiday is refused, they can't back it to draft (only
administrators can do it). A usual need for these intermediates users
with people in their charge is to modify the leaves to extend or shorten
the initial asked period (for example, more/less paid time-off due to
varying workloads, or extended period by long disease).
Thus, they can duplicate the leave and use it as base for the new
period, only changing the end date without having to input all data.
TT44801
closesodoo/odoo#138303
X-original-commit: abfb21096b76a04fe167be28243187f64522c422
Signed-off-by: Sofie Gvaladze (sgv) <sgv@odoo.com>
Issue:
A traceback error was observed when attempting to create a task or ticket using
the website form.
Cause:
This issue arise as a result of converting RPC to ORM readSearch. The problem
lay in the domain being passed to the ORM. Not all fields had a defined domain,
causing 'undefined' to be passed to the ORM, leading to the traceback error.
Fix:
To address this, we have introduced an 'or' condition within the domain. Now, if
a field has a domain, it will be passed accordingly; otherwise, an empty array
is set as the domain. This modification resolves the traceback issue.
Task-3526887
closesodoo/odoo#137359
Signed-off-by: Romain Derie (rde) <rde@odoo.com>
The Send/Send & Print button is accessible in list view, the wizard
should raise an error if it is opened with invoices in "draft" state.
closesodoo/odoo#138311
X-original-commit: cbc0972bb3eaddf88131b0153f364d1a65d0a968
Signed-off-by: Laurent Smet (las) <las@odoo.com>
Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com>
Steps to reproduce:
-Install sale_purchase_stock and sale_product_matrix
-Have a Service product that is subcontracted.
-Set a variant with a Specification Attribute that has a custom value.
-Create a sales order with the Service product,
add anything for the specification in the variant.
-Confirm the order, this generates a PO.
Bug:
The PO line only says the name of the product,
and doesn't include the specification in the variant.
Fix:
propagate the description same as:
"_prepare_procurement_values" and "_prepare_purchase_order_line_from_procurement"
opw-3438125
closesodoo/odoo#138310
X-original-commit: 5b3bcee8f7308621608d91e33bac808586e8c17f
Signed-off-by: Walid Hanniche (waha) <waha@odoo.com>
Signed-off-by: Quentin Wolfs (quwo) <quwo@odoo.com>
Versions:
---------
- saas-16.4+
Steps to reproduce:
-------------------
1. create a customer invoice;
2. set customer to be a person (not a company);
3. set a due date instead of payment terms;
4. click preview.
Issue:
------
The invoice will say "Payment within 30 calendar days" regardless of due
date selected.
Cause:
------
This is a placeholder string for a `t-field` that should be hidden when
viewing actual records.
Solution:
---------
Add `t-if="o.invoice_payment_term_id.note"` to the element so it won't
get rendered if there are no payment terms to be displayed.
opw-3523921
closesodoo/odoo#138275
X-original-commit: 1e729a0f1de87335a2c4517bb815bc5ab7d4bd01
Signed-off-by: Laurent Smet (las) <las@odoo.com>
Signed-off-by: Levi Siuzdak <sile@odoo.com>
When having a company with sub company.ies, if
we select only one of the branch, the number
of entries to reconcile is not reflected only
the entries from the selected branch but the one
from all the branches, therefore when opening the
reconciliation widget, the number of line to reconcile
is not the same as indicated.
With this commit, we only count the entries that belong
to the selected company.
Steps:
- Having a company with one branch (X and X.1)
- Having 1 statement line for X and 2 for X.1
- Select the two branches
- See that there are 3 entries to reconcile
indicated on the bank journal
- Select X or X.1 only
-> There are still 3 entries to reconcile
indicated instead of 1 for X and 2 for X.1
closesodoo/odoo#138257
X-original-commit: 023c97c21194e83eda2433e2fe3c32de1d3b320b
Signed-off-by: Josse Colpaert <jco@odoo.com>
Signed-off-by: Guillaume Vanleynseele (guva) <guva@odoo.com>
Before this commit
=================
While updating the Bill of Materials (BOM), the work center and operation name
remained unchanged in the manufacturing order.
When Archiving/Unarchiving the operation doesn't show the "Update BoM" button
in the appropriate MO.
Steps to Produce
================
- Create a BOM1 with operations
- Create a MO with BOM1 and confirm MO
- Goto BOM and change the workcenter and operation name
- In MO Click on the 'update BoM' button
- Now you see the operation name and workcenter are not updated in MO
After this commit
=================
With this commit the work center and operation name get updated with the update
BOM click. For Archiving/Unarchiving the operation results to the display of
the "Update BoM" button in the appropriate MO. Directly editing an
operation will also cause the "Update BoM" button to appear
task-3461985
closesodoo/odoo#138256
X-original-commit: c343ebf0a28f6404f7ad6fc892c4a42edd2bbbe0
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
The summary is a short char field. It should not contain carriage
returns.
The description is the longer text field.
Remove unnecessary spaces in both.
Automatically dedent the description to avoid this issue poping up
again in future modules.
closesodoo/odoo#138214
Related: odoo/enterprise#48695
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
The jSignature lib is only used by the NameAndSignature component,
which is not accessible on a many screens. This commit thus
removes the lib and its extension from the bundles, and makes the
NameAndSignature component load it on demand.
Part of task~3439226
closesodoo/odoo#138054
Related: odoo/enterprise#48633
Signed-off-by: Samuel Degueldre (sad) <sad@odoo.com>
This commit converts the SignatureForm widget into a Component.
This allows to remove the last usage of the legacy NameAndSignature
widget, which we thus remove.
Part of task~3439226
Part-of: odoo/odoo#138054
This function must be used to safely redirect to another url. It
ensures that we stay on the same origin, and thus that the url is
safe.
Part-of: odoo/odoo#138054
Maintain the playful tone whilst avoiding nonsensical phrasing.
I will not take comment at this time, thank you.
Task-🤔🙃😬💅😐🤓closesodoo/odoo#138302
Signed-off-by: Bouvy Damien (dbo) <dbo@odoo.com>
Steps:
- Install project and live chart applications
- In project reporting then
- Customer ratings
- Click on kanban card, task form view open
Issue:
- When we click on a Kanban card, it opens the 'project.task' form view instead
of the 'rating.rating' form view
Cause:
- This problem occurs when you install the 'Live Chat' application because,
in the 'Live Chat' application, they inherit the Kanban view from the 'rating'
module and insert some actions into the inherited view. This action affects
other modules where customer ratings are required, such as the project module
and others.
Fix:
-By creating a separate view for the Live Chat customer ratings,
the problem can be solved
task-3522178
closesodoo/odoo#138276
X-original-commit: f50e6dbbd46bf0d16c8f522d4f1d9b10445d1065
Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
Before this commit, when using a loyalty reward with points, it is
possible to give partial rewards. This commit prevents partial rewards.
Example:
- Rule: Grant 1 point per product bought;
- Reward: 1.5$ per point in exchange of 2 points (3$)
Before this commit, if you buy 3 products, you get 4.5$ by using 3
points. After, you only use 2 points and get 3$ (no partial reward).
task-3300880
closesodoo/odoo#138277
X-original-commit: b3a2fb51bc48b83e821648b40f0dc7d86369ca7c
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: Vallaeys Valentin (vava) <vava@odoo.com>
This commit allows to reorder global filters via drag and drop. The
fact that global filters have a concept of order means that the
structure of the global filters in the core plugin need to change from
an Object<string, GlobalFilter> to an Array<GlobalFilter>.
closesodoo/odoo#135869
Task: 3502684
Related: odoo/enterprise#47583
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
The commands `ADD_GLOBAL_FILTER` and `EDIT_GLOBAL_FILTER` had the filter id
once in cmd.id, and once in cmd.filter.id. This made it possible to send
a command with 2 different ids, which can have arbitrary behaviour depending
on the implementation details of the command.
Changed it so we only use cmd.filter.id, and removed the cmd.id field. Also
simplified the commands helpers for the tests.
Task: 3502684
Part-of: odoo/odoo#135869
Task Description:
This PR aims to add the possibility to edit the evaluation domain of
an Odoo chart, the same way it can currently be done for other
datasources like `List` or `Pivot`. This revision ensures that the chart
datasources are properly reloaded their domain update.
closesodoo/odoo#135242
Task: 3384872
Related: odoo/enterprise#47336
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
PR [1] introduced the evaluation of ocntextual domain. However, this was
only evaluated once at the creation of the datasource. This revision
changes the flow to evaluate the context upon the datasource loading.
[1] https://github.com/odoo/odoo/pull/131874
Part-of: odoo/odoo#135242
* Chart of Accounts: we cleaned it, mapped it and kept the most important accounts
* Contacts: added the type of identification field and validation of the identification format
* Taxes: we kept what we had and mapped them with the correct accounts
* Added Legal document types in Uruguay.
* Valid contact identification types in Uruguay.
* Added fiscal position to auto compute taxes
* Frequently used default contacts already configured: DGI, Consumidor Final Anónimo.
* Translations: added translations for the module
closesodoo/odoo#133891
Signed-off-by: Josse Colpaert <jco@odoo.com>
The legacy RPC was removed in 7422eb6 and replaced by `rpc_service`. The
changes to adapt the list view button on the `/shop` pages did not work.
This commit will use `rpc_service` instead of `this.rpc` which is not instantiated.
closesodoo/odoo#133064
Related: odoo/enterprise#46252
Related: odoo/upgrade#5190
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
It introduces:
New navigation flow with buttons inside the cart_summary template
Reviewed tables across the pages removing stripes and improving spacing
Redesigned stepper wizard with a reusable template in /website
task-3083707
Part-of: odoo/odoo#133064
Co-authored-by: Valentin Chevalier <vcr@odoo.com>
Steps:
- Create a new event.
- Choose any template (training, conference,...).
- Create new registration ticket for this event.
- Create a new quotation.
- Add 2 lines for "Event registration" product, and select each time the event and ticket created above.
- Click on "Confirm".
Issue:
4 registrations lines are created and 3 attendees.
Reason:
In ``RegistrationEditor.default_get()``, we match each sale order line with existing registrations in the sale order having
the same ``event_ticket_id`` without assuming we can have multiple sale order lines with the same ``event_ticket_id``. That
leads to [number_of_sol] * [number_of_ticket] registrations. To solve it, we just add an additional check for the
``sale_order_line_id`` to have a perfect match.
opw-3495415
closesodoo/odoo#138242
X-original-commit: 926ab300650eda02aefa728fa32b44831c49dfb3
Signed-off-by: Jérémy Hennecart (jeh) <jeh@odoo.com>
Current behavior:
When you link a printer to the sales detail report. The report will
contains no order. This happens because we are trying to assign docids
to the session_id.
Steps to reproduce:
- Install pos_iot
- Link a printer from the demo iot to the sales_detail report (go in
settings > reporting > reports)
- Do some orders on the PoS, and close it
- Go in the backend, and print the sales detail report
- You will see that the report is empty (You can put a breakpoint in
`get_sale_details` method to see that it will be empty)
opw-3247196
closesodoo/odoo#138241
X-original-commit: 489985661d689dde1a1385db2fc4a0a51fb5a7db
Signed-off-by: Vlad Stroia (vlst) <vlst@odoo.com>
Signed-off-by: Robin Engels (roen) <roen@odoo.com>
This PR contains a few adaptations and fixes after the major design
refactoring.
closesodoo/odoo#137704
Signed-off-by: David Monnom (moda) <moda@odoo.com>
Purpose of this commit is to try to detect and log 'email_from' invalid
values when sending emails based on outgoing 'mail.mail'. This implies
checking the returned messages when having a generic Exception when sending
the emails, as we distinguish two use cases that raise through a simple
raise: missing from and invalid from.
New failure types 'mail_from_missing' and 'mail_from_invalid' are also
added at 'mail.notification' and 'mailing.trace' level, as other failure
types.
Task-3547653 (Mail: Add error type for wrong email_from)
Prepares Task-36879 (Mail: Support MultiCompany Aliases)
closesodoo/odoo#138202
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Extract some test preparation, cleanup and improvements before gradually
adding features that impact tests.
Add tests about 'copy()' behavior in 'mail.alias.mixin' as it will be
impacted by multi-company enabled aliases.
Task-3547653 (Mail: Add error type for wrong email_from)
Prepares Task-36879 (Mail: Support MultiCompany Aliases)
Part-of: odoo/odoo#138202
__Current behavior before commit:__
When changing the `display_type` of an attribute in the website editor,
the page is reloaded. However the template `website_sale.product` is
contained in a `t-cache` on "pricelist,product". This means that the
template will not be rendered again when the page is reloaded. Thus, the
change will not appear for the user.
__Description of the fix:__
Flush the cache from the `ir.qweb` model when the attribute display type
is edited. This way the template `website_sale.product` will be
refreshed.
__Steps to reproduce the issue on runbot:__
- Go on the website product page of *Customizable Desk*
- Open the website editor
- Click on the Legs attribute values
- Under the **Block** section, change the **Display Type**
The page is reloaded but the display type stays the same
([Video][1])
opw-3495159
opw-3493820
[1]: https://drive.google.com/file/d/142VP4prnHskfa7uFoEkadsoQfQVO-uyW/viewclosesodoo/odoo#137498
X-original-commit: cc8664973efd7ea3433b5ec5b741f0882fb17dc0
Signed-off-by: Julien Launois (jula) <jula@odoo.com>
In a6fea37, escapeHTML was introduced to replace the corresponding
underscore.js function. It is very similar to the widely used escape
function, except it additionally escapes single (') and double (")
quotes.
The additional escaping is not generally harmful, and is necessary to
safely inject values into attributes. As escapeHTML is almost unused,
remove it and update escape to include quotes.
taskId : 3522892
closesodoo/odoo#137216
Signed-off-by: Mathieu Duckerts-Antoine (dam) <dam@odoo.com>
Before this commit:
In the `mailings` when we enable the A/B testing and click on the "Create an Alternative" button,
the "Send final on" field doesn't copy to the new mailing.
Reason:
The related field are copy `false` by default.
After this Commit:
Now it will copy the "Send final on" into a new mailing
closesodoo/odoo#138195
Task: 3465887
X-original-commit: 3d6dd2402a65af40c77692250fd710d3355960e7
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Issue:
======
We have a delivery order created by a sale order by another user.
A user with administrator access to inventory and sale : own documents
only ,can't deliver products of
that sale order without backorder , it shows access error.
Steps to reproduce the error:
=============================
- Create another user with admin access for inventory and own documents
for sale.
- Create a sale order with the current user.
- Change now for the inventory admin and deliver some of the products
and click on no-backorder.
- Access error will show.
Origin of the issue:
====================
The admin user should be able to deliver the products but when creating
no backorder he needs to write on the sale_order.
Solution:
=========
Added `sudo` to the function that logs in the sale_order.
opw-3380566
closesodoo/odoo#138176
X-original-commit: de2d889b053827e39b11a648797ad2f30e646ce6
Signed-off-by: William Henrotin (whe) <whe@odoo.com>
Signed-off-by: Mahdi Cheikh Rouhou (macr) <macr@odoo.com>
Follow-up of https://github.com/odoo/odoo/pull/132701
`@extend` was used to reuse classnames intended for styling,
such as `.btn`. However, this has the side-effect to increase
specificity on these classnames, which results in breaking style
on the website where the specificity on `.btn` must not change.
This commit fixes the issue by using a mixin rather than
`@extend`. Since using these mixins are not equivalent, we took
the opportunity to slightly improve the constrast of text color
and background.
closesodoo/odoo#138108
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>