The widget `many2one_tags` tags was used in the loyalty program form
view, however it does not exist.
TaskId-2982239
closesodoo/odoo#100170
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
Prior to this commit the default values of a reward/rule would be static
and not depend on the program type.
It will now use the default value if the program_type is given in the
context.
TaskId-2982239
Part-of: odoo/odoo#100170
Prior to this commit it was not possible to choose the customer when the
wizard was started form an ewallet's program ewallet list view.
TaskId-2982239
Part-of: odoo/odoo#100170
* = im_livechat, snailmail
The model manager will now automatically add `isCausal: true` to inverse
of identifying fields. This commit implements the feature and removes
now unnecessary declarations of `isCausal: true` from the code.
Task-2741402.
closesodoo/odoo#100119
Related: odoo/enterprise#31290
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
We don't want any padding in those dialogs. The presence of the
padding was a consequence of the rewritte of that dialog in owl.
It is a frequent usecase to remove the padding from the body of
dialogs. We thus introduce a new props on Dialog and when this
props is set to `true`, we do not set any padding on the body.
This commit refactors other usecases to make them use the added
props.
closesodoo/odoo#100045
Signed-off-by: Géry Debongnie <ged@odoo.com>
Currently, the `partner_credit_warning` only works with companies,
not individuals related to a company.
Which means that the credit warning will not appear if you use a
contact from a company, instead of the company itself.
This PR solves the issue.
https://github.com/odoo/odoo/pull/83205#issuecomment-1242971077closesodoo/odoo#100038
X-original-commit: acd3545372082268b86d18cd38197d4a464930c9
Signed-off-by: William André (wan) <wan@odoo.com>
This is analogous to pos_restaurant_adyen and adds support for the two
American tipping flows:
- customer tips immediately themselves after paying using the TipScreen
- waiter adds tips end-of-day using paper receipts using the TicketScreen
To allow for tipping an optional amount= parameter was added to
stripe_capture_payment and the transaction_id on the paymentline was
saved a bit sooner so it can be used in the backend in set_no_tip and
_update_payment_line_for_tip.
Stripe docs:
https://stripe.com/docs/terminal/features/collecting-tips/on-receipt
task-2979312
closesodoo/odoo#99973
Signed-off-by: Masereel Pierre <pim@odoo.com>
Adapt the activity widget test to use vanilla js instead of JQuery.
Moreover, selectors have been adapted to rely less on the DOM structure
and more on significant class names.
closesodoo/odoo#99924
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Before this PR, any fail during the QUnit test suite would have failed
the activity widget test. This is due to the fact that this test was
relying on the activity table to be the only table present in the
document. This issue is that QUnit is also using table to display
failed tests. Thus, the activity widget test was looking in the wrong
table to find its elements.
This commit fixes the issue by ensuring the test is actually targeting
the right table that is, the one inside the activity view.
Part-of: odoo/odoo#99924
In the PDF reports, the general spacing is too narrow, for
example in tables, in the address lines etc. This commit
upsizes a bit the line-height for the majority of text/digits-based
content.
taskID 2977261
closesodoo/odoo#99837
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Currently clicking the 'Other applications' smartbutton on an
application redirects to a kanban view that does not have very useful
information.
With this commit, this smartbutton now redirects to the application list
view and adds small UX changes to this list view.
task-2946398
closesodoo/odoo#99828
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Since https://github.com/odoo/odoo/pull/90588, the personal stage is a required field in the task form view in debug mode.
However, we only generate personal stage for a given user when that user is first assigned to a task.
If a user creates their first task and assign it to themselves, they won't be able to give it a personal stage.
To prevent issues linked to the current users not having personal stages, this commit makes the field not required, but prevents the user from unsetting it
closesodoo/odoo#99735
Signed-off-by: Laurent Stukkens (ltu) <ltu@odoo.com>
Since odoo#90588, the personal stage is a required field on the task form view in debug mode.
However, it does not make sense to have to set a personal stage when editing a task assigned to someone else.
This commit therefore hides the field when the user edits a task they are not assigned to.
Part-of: odoo/odoo#99735
This commit changes the node modifiers domain evaluation in the Form test class to allow strings.
Domains as strings are used by the web client to evaluate special values such as 'uid'.
Part-of: odoo/odoo#99735
This commit adds a tour that checks if the cart popover works correctly.
task_id=2964010
closesodoo/odoo#99583
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
1- throw an error when creating a model with a name already taken
2- Duplicate action button create a new model with (copy) append to then name
task_id: 2971488
closesodoo/odoo#99581
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
In hr_holidays demo data, change the existing allocation from Unpaid to Training Time Off
When a user is logged as Time Off Officer (not administrator):
- In the Approvals > Time Off list view, display the refuse button
- In the Approvals > Allocations list view, display the approve/refuse button
task-2939201
closesodoo/odoo#99496
Related: odoo/enterprise#31085
Signed-off-by: Kevin Baptiste <kba@odoo.com>
In this commit, we simply set 'position' to 'sticky' on 'o_header_affixed'
to avoid to manage it's position with 'padding-top' and 'right'.
- 'padding-top' css property was used to compensate the navbar height
at the moment where the stacking context change because of the
fixed position.
- 'right' css property was used to prevent the menu to overlapp
the scroll bar.
Part-of: odoo/odoo#99338
This change allows for adding and removing followers from threads
by directly setting the message_partner_ids field of threads.
This enables the use of many2many_tags to add followers to a thread.
Task-2804888
closesodoo/odoo#95645
Related: odoo/enterprise#29284
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Before this pr, almost all templates are added to a fake asset/bundle `web.assets_qweb` containing almost all templates.
This mixes the feature, backend and frontend templates. There are other fake bundles. These could be loaded only after the javascript session is present (using rpc).
There is another way to read xml, via javascript it's the xmlDependencies attributes. Therefore the js is sometimes loaded in a specific bundle then the xml are loaded.
NB: There are inherited xml templates via `t-inherit` server side followed by a `t-extend` doing inheritance in Qweb JavaScript.
closesodoo/odoo#95500
Related: odoo/upgrade#3889
Related: odoo/enterprise#30609
Signed-off-by: Vincent Schippefilt (vsc) <vsc@odoo.com>
XML files are now declared in python module manifests. During the qweb
't-call-asset' directive, assetbundle will fetch the declared xml files,
apply the inheritance (t-inherit) and create a javascript service (for
eg: 'web.assets_backend.bundle.xml') which is added at the end of the
*.js mimifier file.
When the debug mode is activated, comments are added in the template
indicating which file the template comes from as well as the
inheritances applied to it.
****
JavaScript:
assets.js (module @web/core/assets) takes care of loading libraries,
javascripts and styles.
`loadJS(url)` (loads the javascript and returns a resolved promise when
the templates are also loaded via the '*.bundle.xml' service)
`loadCSS(url)` (loads the style a resolved promise when the file is
loaded)
`loadXML(xml, app=assets.defaultApp)` (load template into
application/owl, used by the `*.bundle.xml` services)
`getBundle(bundleName)` (get the bundle descriptor)
`loadBundle(desc)` (load the files and bundle from a descriptor)
templates (XML element content all owl templates)
A new `ready(serviceName)` method on boot.js lets you know when a
service is loaded are the require.
The xmlDependencies attribute no longer exists.
Python:
The xmls taken into account by assetbundle.py, applying `t-inherit`
inheritances and adding an `name_of_the_bundle.bundle.xml` service in
the generated JavaScript file.
****
Every manifest changes is into the next commit, except 'web_tour' in
this current commit as example.
Part-of: odoo/odoo#95500
A typo fix is added.
Fix error from loading xml while widget is destroyed. Now that the xml
templates are loaded in the bundle, the error appears more frequently.
Part-of: odoo/odoo#95500
When a file is immutable the different network layers can cache it.
Services receiving this header should never invalidate these files.
Part-of: odoo/odoo#95500
With this commit, the size of the following wizards will be reduced to medium:
\1 Schedule mailing (Email Marketing)
\2 Test mailing (Email Marketing)
\3 Lost reason (CRM)
taskID- 2701035
closesodoo/odoo#96500
Related: odoo/enterprise#29746
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Ease the understanding of the notifications sent when users are assigned to an
activity.
Improves mail layout re-usability by replacing the 2 existing layouts:
- message_notification_email --> mail_notification_layout: a little more generic
(introduce a list of subtitles instead of a unique one) and defined as the default
layout. Note the rework version done to support outlook client in
odoo/odoo#92847 has been integrated
- mail_notification_paynow --> mail_notification_responsible_signature_layout:
inherited from mail_notification_layout with just the signature changed.
Technical note: the customization of data sent to the email layout template
(here subtitles) should be done by overriding
mail_thread._notify_by_email_prepare_rendering_context on the model.
But in this case, we send an activity (ex.: todo) for a model (ex.: crm.lead)
which involves 2 models. Data from both models must be sent to the template
layout. To solve this problem an optional parameters to
mail_thread.message_notify has been added: subtitles. This allows the
caller which knows about the 2 models to set the values for subtitles for
the template.
Task-2801600
closesodoo/odoo#88466
Related: odoo/enterprise#31281
Related: odoo/upgrade#3620
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Make mail_notification_layout as the default mail template and remove
message_notification_email. We now only have 2 main notification mail layout
templates (outside of a light one): the default one and one that inherits from
it to only change the signature to the responsible instead of the author one.
In this operation the layout of message_notification_email has been integrated
in mail_notification_layout to support outlook mail client for which
message_notification_email has just been reworked (odoo/odoo#92847).
Technical note: we have integrated the "internal communication" banner from
"message_notification_email" into the new default template
"mail_notification_layout" which cause one added query in the test for querying
the flag internal from mail.message.subtype.
Task-2801600
Part-of: odoo/odoo#88466
"mail_notification_paynow" mail template layout has been renamed to
"mail_notification_responsible_signature_layout" as it now only differ by the
signature. It allows to use it more widely.
Task-2801600
Part-of: odoo/odoo#88466
Ease the understanding of the notifications sent when users are assigned to an
activity or a model (task, lead, ...).
Technical note:
- the customization of data sent to the email layout template (here subtitles)
should be done by overriding
mail_thread._notify_by_email_prepare_rendering_context on the model.
But in this case, we send an activity (ex.: todo) for a model (ex.: crm.lead)
which involves 2 models. Data from both models must be sent to the template
layout. To solve this problem an optional parameter to
mail_thread.message_notify has been added: subtitles. This allows the
caller which knows about the 2 models to set the values for subtitles for
the template.
- mail_activity._render_notify_header has been added to render the subject and
subtitles using the language of the recipients through the context lang
variable.
- a generic mail notification template has been added and the specific
mail_notification_paynow has been derived from it as the only change is the
handling of the signature.
Task-2801600
Part-of: odoo/odoo#88466
Current behavior:
If you create a promotion program that applies on specific products that
have different taxes, the maximum amount of the promotion was not
respected. For example, if you had 2 products with 2 different taxes you
could have 2 discounts with the maximum amount of the promotion program.
Steps to reproduce:
-Create 2 products A (15$) and B (25$) with different taxes T1 and T2
-Create product C (30$) that we will use to activate the promotion
-Create a promotion program, based on product C, that applies
on products A and B. It should have a max amount of 40$ and
a discount of 100%.
-Go in the PoS application and apply the new promotion program on a PoS
and start a new session.
-Add 2 products A and 2 products B to the order, then add product C. The promotion
is applied but it creates 2 discount lines of 30$ and 40$ which is more than the
maximum amount of 40$ set in the promotion program
opw-2927711
closesodoo/odoo#99778
X-original-commit: ae03982f53f382b0689befe267fd3820ceafb385
Signed-off-by: Trinh Jacky (trj) <trj@odoo.com>
Signed-off-by: Masereel Pierre <pim@odoo.com>
In order to avoid empty contract histories when there are existing but
cancelled contracts, cancelled contracts are now also included in the
contract history.
task-2939158
closesodoo/odoo#99767
Signed-off-by: Kevin Baptiste <kba@odoo.com>
This PR addresses 2 issues in kanban views with progress bars:
1) When updating the field on which the progress bars are computed in a record, an inert "Load more" button would appear
2) After updating said value, the progress bars would not be recomputed
Both of these problems have been fixed.
Enterprise PR: https://github.com/odoo/enterprise/pull/31126
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
closesodoo/odoo#99748
Related: odoo/enterprise#31126
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit adapts the InventoryReportList view along with a refactor
of the "record-updated" event API: as it now contains records related
to the one that triggered the event, there is no need to traverse the
model to find them anymore.
Part-of: odoo/odoo#99748
This commit addresses 2 issues in kanban views with progress bars:
1) When updating the field on which the progress bars are computed in a
record, an inert "Load more" button would appear
2) After updating said value, the progress bars would not be recomputed
Both of these problems have been fixed.
Part-of: odoo/odoo#99748
Remove the security group introduced in odoo/odoo#97988 as it's
redundant with the group_hr_user.
task-2929518
closesodoo/odoo#100127
Signed-off-by: Kevin Baptiste <kba@odoo.com>
Spreadsheet template feature is a feature enterprise but some part of
the code is located in community following a split in the modules.
The code is moved where it belongs.
closesodoo/odoo#100120
Related: odoo/enterprise#31292
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
This is the behavior when creating a res.partner.bank from the res.partner form view. Other views allowing such manual creation were missing this behavior.
closesodoo/odoo#100103
Signed-off-by: Olivier Colson (oco) <oco@odoo.com>
When a selection start from a table and finish outside editable, the
toobar was disable but should be enable.
task-2982630
closesodoo/odoo#100091
Signed-off-by: David Monjoie (dmo) <dmo@odoo.com>
Before this commit
The call to `historyunPauseSteps('handleSelectionInTable')` is not
called without a mouseup.
If called from `historySetSelection` in an undo and multiples commands
were to be called before a mouse up, no step would be created.
Also, `observerUnactive` and `observerActive` should be used rather than
`historyPauseStep` and `historyUnpauseStep` for mutations that are
visual and local to the user.
task-2982429
Part-of: odoo/odoo#100091