Before this commit, now that multiple files can be uploaded in a form,
we could observe that the file input is not convenient to manage this
situation:
- Clicking again on the input to choose other files replaces the
previously uploaded ones, we can therefore not upload files one by one.
- A file cannot be deleted in an obvious way: we need to cancel a new
upload, as it will replace the file by nothing and therefore delete it.
- When multiple files are uploaded, only the number of files is
displayed and not their name (they are only displayed on hover).
This commit improves these behaviors:
- Clicking again on the input adds additional files instead of replacing
them (unless the number of files allowed is 1);
- The button text content is modified after the upload of files,
displaying "Add Files"/"Replace File" (if multiple/single files are
allowed) to show its role better.
- When files are uploaded, blocks containing each files name and a
cross to delete them are displayed.
In order to make these improvements, the file input is hidden and
replaced by an input of type=`button` when files are uploaded. This was
done for two reasons:
- It is not possible to modify the content of an input of type=`file`
but we can change the value of a button.
- The input did not look good with the file blocks, because it has a
text displaying file informations, which was redundant with the blocks.
task-2798576
Part-of: odoo/odoo#89055
Currently, we can only upload one file in a form File Upload field and
this file does not have a size limit. (Note that the server can have a
limit to prevent files too large from being uploaded but the file input
itself does not have one.)
This commit adds options to the form file inputs in order to set a
maximum number of files and the maximum file size (in MB) allowed to be
uploaded in these fields. The default values are 1 file and 1 MB. Note
that the option for the number of files is not displayed for the fields
where only one file is supposed to be uploaded.
If the uploaded files do not respect these limits, the form is not sent
and a message is displayed.
task-2798576
Part-of: odoo/odoo#89055
Before this commit
==================
when SO is confirmed and Delivery is created then add the shipping method
in SO, in this case, the shipping carrier is not set in the existing undelivered
delivery of that SO.
After this commit
=================
So in this commit, we set the shipping carrier for undelivered delivery.
taskId - 2946360
closesodoo/odoo#121363
X-original-commit: 51523c0dbf6ce9dd1a1ff35e03fa6a51267da14b
Signed-off-by: Tiffany Chang <tic@odoo.com>
Edition of block links has been broken several times.
This commit adds a test that makes sure it does not happen again by
changing the URL of a card of a mega menu with the Cards template.
task-3300977
closesodoo/odoo#121362
X-original-commit: b4b5816a4acd953eb4dabfd14d2a142934dee357
Signed-off-by: Vray Benjamin (bvr) <bvr@odoo.com>
[1] mistakenly removed the variable used by the mechanism that was
introduced in [2] to avoid updating link content.
This commit uses the link's `needLabel` instead to achieve the same
goal.
Steps to reproduce:
- Add a mega menu.
- Set the mega menu template to Cards.
- Click on the text of a card.
- DO NOT click on the edit link icon in the popover.
- Click on the href field in the options panel.
- Change the value.
=> Links content was broken (image was removed and texts were grouped).
[1]: https://github.com/odoo/odoo/commit/75166dbcd4962f30624fe19829757acbf8e76022
[2]: https://github.com/odoo/odoo/commit/7a0e58f8d7237514d23d815cdf3d81fc79edb1ec
task-3300977
X-original-commit: 1dbcf2825b2d495c206e110a39efe620e646e7c4
Part-of: odoo/odoo#121362
Previous to this commit, in discuss, when a user wanted to invite people
and select users, the 'selected users' tags were missing a gap between
them.
This commit adds a gap between them (adapted for milk).
task-3326399
part of task-3326263
closesodoo/odoo#121361
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
* = account, sale
This commit allows users to modify the panel image for the
onboarding steps. This is especially necessary for additional
onboardings that can be/could have been created, or if the
appointment onboarding was modified, as it was chosen to not
overly complicate the upgrade and simply not modify these records.
We also customize the placeholder icon to be one of these icons
instead of the default "camera" image.
Finally, a few icons are renamed to be more generally usable.
closesodoo/odoo#121349
Related: odoo/enterprise#41031
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Steps to Reproduce Issue for single picking:
1. Install Sales, Inventory
2. Create an SO and confirm
3. Go to the transfer, assign the done value to be less than demanded
4. Validate the transfer and cancel the backorder
Current Behavior:
There is no exception error on the SO chatter
Expected Behavior:
An exception error should be logged on the SO chatter
Other Info: When cancelling a backorder for a single picking,
the exception error about less quantity than expected is not logged on the SO.
"process_cancel_backorder" does not call _log_less_quantities_than_expected.
As defined in "process", the exception is only logged when validating multiple pickings at once but
one is to backorder but the other is not.
opw-3222508
closesodoo/odoo#121331
X-original-commit: a1dfc58eebd1badc3eea501b23861748b3762d75
Signed-off-by: Mylyna Hy (myhy) <myhy@odoo.com>
Signed-off-by: Tiffany Chang <tic@odoo.com>
Steps to reproduce:
- Install l10n_jp before the original commit
- Update code to latest
- Try to upgrade the l10n_jp module
Current behaviour:
Error shown because of missing account tax group.
Expected behaviour:
No error should be shown.
Explanation:
The new version of localisation changes the xmlid which caused the original tax group
cannot find the reference. Migrate them to prevent the error.
X-original-commit: 7a914a0
Close#118867closesodoo/odoo#121267
X-original-commit: 95bfdbf426e9109f90dce4955ceb6795931e5365
Signed-off-by: Josse Colpaert <jco@odoo.com>
The `sale.report `field `is_abandoned_cart` is moved from module
`website_sale_dashboard` to `website_sale`.
This allows to use it in the eCommerce dashboard in the community edition.
Task 3222991
closesodoo/odoo#121165
Related: odoo/enterprise#40979
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
Before: in Expense Categories list view, if Internal Notes wasn't empty it would cause a padding issue. The issue's cause was that the Internal Notes columns is an HTML field, where every line is assigned a margin-bottom.
Now: fixed the padding issue by removing the margin-bottom for the last line in the Internal Notes field.
task-32999162
closesodoo/odoo#121014
X-original-commit: f6bffc092ddc4bdfd9d68efe66dbbcdeed4f0309
Signed-off-by: William André (wan) <wan@odoo.com>
- This is a bridge module to provide support for EMV Merchant-Presented
QR-code generation for Payment System.
- Other accounting localisation module will override _get_merchant_account_info
method to construct the qr code parameters. This module will help creating the
crc16 check sum to append in the qr code vals.
Part-of: odoo/odoo#120050
The aim of this commit is to remove the specific complexity of the
kanban's progress bar from the relational model, and put it into the
kanban view itself.
This commit prepares and is part of the task that aim to refactor the
relational model and migrate it to owl.
part-of task-id 3179751
closesodoo/odoo#119781
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Co-authored-by: Aaron Bohy <aab@odoo.com>
In this commit, we add the list of rpc calls done in the progress bar
tests, this is done to avoid to add more rpc's doing the refactoring.
Part-of: odoo/odoo#119781
This commit button makes the kanban substack button
clickable everywhere - both in the icon and the x/y
indication next to it.
Additionally, this commit also makes it that the tooltip
on hover is shown when the user hovers over both the icon
and the x/y indication.
Task-3284498
closesodoo/odoo#119468
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Commit [1] commented the second half of a pivot test (I guess it
was done to debug it, and we forgot to uncomment it afterwards).
This small diff was then lost in the huge diff of the Milk PR.
This commit re-enables the full test, which luckily still pass.
[1] odoo/odoo@a1e05c8357closesodoo/odoo#121346
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Before this commit, when the user wants to self assign to a task for
instance, he has to write his name to be able to select himself.
This commit displays the current user first in the result of
`name_search` (the method called by relational widgets in JS).
If the current user does not satisfy the search condition then
he will not be in the result of the `name_search`.
task-3291745
closesodoo/odoo#121146
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Before this commit : The library underscore.js and
underscore.string.js were used in the ODOO solution.
After this commit : Every usages of a function from
underscore.js lib has been replaced with native javascript.
The goal is to remove all usages of underscore.js and to
not use anymore this library in ODOO.
---
TaskId : 3246238
closesodoo/odoo#120437
Signed-off-by: Géry Debongnie <ged@odoo.com>
before this commit, on editing a forum post
window title is shown as edit_post(id) as the
name is not set on the template.
after this commit, window title will be shown
as Edit Post.
closesodoo/odoo#114624
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
We can send service product details if there are any one goods in the Invoice.
task - 3276398
closesodoo/odoo#119549
X-original-commit: 32b65ffcc9099ed312666f89acb3e651976c33ad
Signed-off-by: Josse Colpaert <jco@odoo.com>
In the multi-company context, it is possible to create
an analytic account without a defined company.
The result is that the analytic account
will not have a currency.
A traceback will be triggered when calculating the
profitability of a project
(for example by changing its status when
the 'sale_timesheet' module is installed).
Solution:
Use the currency of the project.
Introduced by:
68b4ea69c173dd5894bcb42b99e6818f241f9734
opw-3292417
closesodoo/odoo#121143
X-original-commit: 90512da68f776459a8a65bed285f5a178f9dd77d
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
Signed-off-by: Lefebvre Thomas (thle) <thle@odoo.com>
The manual reconciliation widget is too complex. We completely remove it and
replace it with a simple wizard `account.reconcile.wizard` that opens when
selected lines can't be directly/silently reconciled (then we need a
write-off whose data will be filled in the wizard).
To do so we had to refactor reconciliation methods to allow to shadow some
values and fake reconciliation to get correct values.
We also now use of the _reconcile_plan instead of the previous reconciliation
which should be more efficient and correct.
Refactored a bit common between `test_account_reconcile_wizard` and
`test_account_move_reconcile` to avoid duplication.
In this process of simplification we also separate the previous `automatic_entry_wizard`
in two separate interfaces from the user's perspective: one only handle the change of
period and the other will handle complex transfer that are not possible through regular
reconciliation process (i.e. through the wizard we are creating in Enterprise related PR).
closesodoo/odoo#120832
Task: 3060792
Related: odoo/upgrade#4674
Related: odoo/enterprise#40510
Signed-off-by: Laurent Smet <las@odoo.com>
This pull request introduces an overall redesign that encompasses significant improvements in both usability and aesthetic.
Codenamed "**milk**", the project's primary goal is to enhance the overall UX and provide a visually appealing interface that promotes intuitive interaction.
### Key Design Features:
- **Improved use of `primary`color**
Previously, **all** action buttons were indistinctly assigned `primary`, regardless of their importance in the user flow. The only exception were "_hyper-secondary_" actions, which were intentionally de-emphasized to the extent of being represented solely by text.
However, this approach proved to be problematic for users since the UI failed to effectively guide them through the workflow.
Now, each view has a limited number of primary buttons that serve as clear **call-to-action** elements. The design of secondary buttons has been enhanced to give them more prominence and visual weight.
- **Control panel**
The redesign employs a consistent and responsive layout that prioritise clarity and simplicity while maintaining the component original functionalities. The information hierarchy has been reviewed, ensuring that essential actions are prominently displayed, while less critical elements are appropriately de-emphasized.
- **The new "_Cog Menu_"**
It consolidates actions specific to the current entry only, streamlining the user interface by centralizing functionalities that were previously scattered (e.g., Archive/Import/Export).

- **Font-size Enhancement**
The base font-size has been increased from `13px` to `14px` across the entire UI. This enhancement significantly improves readability, ensuring that text content is more legible and accessible to users. Moreover, the rendering of `fa` icons achieves now optimal clarity since were initially designed on a `14px` font-size base.
Furthermore, the `oi` icons have also been updated to the new font-size.
Although this change may seem small, it has significant consequences on the overall visual appearance, as spacing needs to be adjusted accordingly. While we are considering allowing users to customize these options, the current change represents a step forward in readability by reducing the amount of information displayed on the screen.
- **Badges**
Badges have been redesigned to provide a more consolidated design while ensuring comfortable readability. The color palette has been reviewed to strike a balance between aesthetics and readability, allowing the badge content to stand out while ensuring comfortable viewing.
- **AppIcons, Pictograms and users' avatars**
Deviate from the previous "fontAwesome design-line" and introduce a fresh design language that aligns with our branding strategy. All the assets now possess a unique and cohesive visual style, enhancing the overall user experience and strengthening our brand identity.
### SCSS:
- **Separate "Bootstrap Review" for Frontend and Backend Bundles**
Prior to this pull request, both the frontend and backend bundles were using the same `bootstrap_review.scss` file. However, as our backend design started to deviate from Bootstrap default, it became necessary to have a dedicated way to "review" Bootstrap styles specifically for the backend.
This pull request introduces two new stylesheets: `bootstrap_review_frontend.scss` and `bootstrap_review_backend.scss`. The original `bootstrap_review.scss` file remains as a shared asset, containing customizations needed by all bundles.
With this separation, we can now maintain distinct Bootstrap styles for the frontend and backend, enhancing clarity and flexibility of our codebase.
- **[NEW] `bootstrap_review_backend.scss`**
Reduce the need for cumbersome and unsightly overrides. By adopting a flexible and modular approach, we introduce a more consistent way of defining custom classes and custom legacy classes (e.g., `bg-black-50`).
See `bootstrap_review_backend.scss`.
- **[NEW] `utilities_custom_backend.scss`**
Manage/limit/fine-tune the generation of Bootstrap utility classes for the backend.
- **[NEW] `functions.scss`**
Unlike `utils.scss`, this file is accessible at any stage of the compilation process.
- **[NEW] `o_avatar` class**
Uniform avatars designs defining a common class shared across different modules.
- **[NEW] `o_tag` class**
Define a common class for any type entry generated by the `TagsList` component (either badges or avatars)
- **[IMP] overall spacing system**
Solved a long-standing issue regarding spacing variables in Odoo (e.g., `$o-horizontal-padding`) and Bootstrap default spacing. By harmonizing these two systems, we now enable the seamless utilization of Bootstrap utility classes to manage webclient spacing. This enhancement ensures a consistent and uniform spacing experience throughout the application
closesodoo/odoo#116641
Related: odoo/upgrade#4652
Related: odoo/enterprise#38775
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
Co-authored-by: Aaron Bohy <aab@odoo.com>
Co-authored-by: Antoine (anso) <anso@odoo.com>
Co-authored-by: Brieuc-brd <brd@odoo.com>
Co-authored-by: Damien Bouvy <dbo@odoo.com>
Co-authored-by: Dardenne Florent (dafl) <dafl@odoo.com>
Co-authored-by: Elisabeth Dickinson <edi@odoo.com>
Co-authored-by: Florian Charlier <flch@odoo.com>
Co-authored-by: Julien Carion (juca) <juca@odoo.com>
Co-authored-by: Mathieu (mano) <mano@odoo.com>
Co-authored-by: Pierre Paridans <app@odoo.com>
Co-authored-by: Romain Estievenart <res@odoo.com>
Co-authored-by: Romeo Fragomeli <rfr@odoo.com>
Co-authored-by: chrysanthe(chgo) <chgo@odoo.com>
Co-authored-by: luvi <luvi@odoo.com>
Co-authored-by: stefanorigano (SRI) <sri@odoo.com>
Co-authored-by: xlu-odoo <xlu@odoo.com>
== ISSUE ==
If you go to the Payroll Module, you can see that the checkboxes on the
main dashboard have a different color for the `background`
and the `border`.
This is due to inconsistencies in the color theme.
There was also an issue with the checkboxes in Accounting.
If you go to Accounting > Configuration > Currencies
and hover a checkbox, the checkboxes have a different background than
the one in Payroll which is not consistent.
== After this commit ==
The `background` and `border` color of the inputs are set
to the enterprise one. We also handle this in dark mode.
task-2818586
Part-of: odoo/odoo#116641
[FIX] *: selectors in tours
[FIX][TMP] account: CogMenu selector in tours
[FIX][TMP] web*: Breadcrumb targetting in tours
Adds a `o_breadcrumb` class to target the whole breadcrumb, no matter
how much elements it contains (collapsed parts, visible path, single
name...).
add classname on last breadcrumb item
[FIX][TMP] project: View buttons selector in tours (moved away from CP)
[FIX][TMP] project: Kanban selectors in tours (quick create)
[FIX][TMP] *: SearchBar selectors in tours (toggle menu)
[FIX][TMP] *: ButtonBox selector in tours
[WIP][IMP] web: add toggleSearchBarMenu in search helpers
adapt and unskip 3 list tests
adapt and unskip calendar tests
unskip web_tour test that actually pass
post rebase fix
allow to lose cell focus after multi edition (given to searchbar) - bug reported, to check later
post rebase fixes
fix
Part-of: odoo/odoo#116641
The control panel 'display' prop provided to the list controller can
sometimes be falsy instead of being an object - in that case (mainly
studio), the cp should not be displayed at all. The display getter did
not return a structure that allowed this to behave properly.
Part-of: odoo/odoo#116641
This commit adapts the directional icons to improve the usability and
maintain consistency with the ui icons library.
task-2818586
Part-of: odoo/odoo#116641
This commit fixes the ribbons used in `kanban` and `form` views.
The SCSS uses the square root of the parent `div.ribbon` to calculate its
diagonal width and applies that width to the child `span`.
After changing the ribbon's transform-origin, we calculate the ribbon's
position based on CSS variables of the view's top padding,the height of
the ribbon and the shadow's size (to avoid it being cropped by
overflow-hidden).
By changing the values of a few of these variables in the kanban view,
we were able to remove all the specific SCSS related to ribbons in the
modules.
Other changes were applied inside some of the modules to make this
work:
- `event`: padding corrections on the kanban's cards;
- `hr_holidays: replaced `margin:0` in the SCSS with negative margin
utility classes on the element to achieve the same visual result;
- `discuss`: moved the ribbon to the parent element;
- this was also done to `discuss`, `survey` and `helpdesk`;
- `crm_team_view` in `sales_team`: the ribbon's height made it overflow
from the kanban's card. We fixed this by changing the value of one of
the CSS variables in the view's SCSS file;
- the same thing was done in `survey` and `appointment`;
- `website_event_exhibitor` had some SCSS that wasn't being used because
it uses `.o_ribbon` instead of `.ribbon`
task-2818586
Part-of: odoo/odoo#116641
This commit adapts the spacing between the buttons in the
sale_order_views to fit with Milk.
project: layout fixes:
- Fixed kog displaying on top of the project status button
- Fixed the flickering in project updates when selecting rows in list
view
task-2818586
Part-of: odoo/odoo#116641
== ISSUE ==
When you access the calendar view inside a module and render the year
view, there is only one month per row, which is due to the base `rem`
unit value change.
In fact, we introduce a new value for the `rem` unit with Milk,
which is 16px.
On Master, 1rem is actually 12px, so 4px less.
Since the `min-width` of the `.fc-month-container` is defined using rem,
we have :
`min-width: 144px` on Master
`min-width: 192px` on Milk.
This huge difference cause the months to occupy more space than needed.
== After this commit ==
The `min-width` of the month container is removed so we have one single
month per row on small devices. This makes the calendar more accessible
and easier to navigate through for users.
task-2818586
Part-of: odoo/odoo#116641
Selecting records in a list view will trigger the display of UI elements
that will allow users to manage the selection and run actions on the
selected records.
Prior to this commit, this UI section was displayed within the
'additional actions' slot of the CP, but for UI consistency when
switching to/from mobile view (where the searchbar is usually hidden),
a new slot for 'selection-actions' is added to the control panel, in the
same place as the searchbar (indeed the searchbar is hidden when a
selection occurs, so sharing the same space seems like a good idea as it
avoids clipping/overflow issues)
Part-of: odoo/odoo#116641
- Avoid isSmall in template and use bootstrap display classes for
better responsiveness
- Re-order items to preserve order between size transitions as much as possible
- Change several breakpoints:
- Viewswitcher collaspses faster (lg instead of sm)
- Create 'always' buttons collapse in dropdown faste (lg instead of sm)
Make the searchabr appear/disappear based on sizing for better
responsiveness.
Hide the searhbar by default once we go under the LG breakpoint,
so that it does not cause re-flows when a user selects a record's
checkbox in list view.
'always buttons' that are meant to always be included in the control
panel are collapsed into a dropdown attached to the 'new' button when
the size drops below a specific breakpoint.
This commit ensure these breakpoints are correctly mirrored between the
JS code and the XML template, and also make sure the 'btn-group' class
is removed when there is no button to display in the dropdown (otherwise
the 'new' button is styled as-if some buton is supposed to be next to
it).
Part-of: odoo/odoo#116641
*: hr_holidays, stock, sale, product, web, sale, purchase, stock,
website, survey
Adapt some custom control panels (mainly for custom reports) to the
milk controlpanel.
hr_holidays:
Move the buttons to create a new time off or a new allocation to the
"create button" slot and transform it into a dropdown (creating
allocation requests is clearly a secondary action, not a primary one)
stock:
3 lines does not fit, must be on 2 lines
Part-of: odoo/odoo#116641
Properly styled search input.
Use the correct slot for "save/discard" buttons, as they should never collapse
even in mobile mode.
Part-of: odoo/odoo#116641
The collapsed breadcrumb should list its older entry at the bottom, so
that the reading direction is somewhat linear (start from bottom of
dropdown, go up, then go right - instead if going down the breadcrumb
then go back up before moving right).
Part-of: odoo/odoo#116641