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
This commit brings the ControlPanel into a single line with 3 main
sections:
- buttons & breadcrumb
- layout related actions (ie. the SearchBar in multirecord view or
ButtonBox in formView)
- navigation (pager, switch view...)
Add new search bar menu, this is a merge of the following components
into one big component display in column:
* comparison_menu
* favorite_menu
* filter_menu
* group_by_menu
Also adapt navigation hook.
Part-of: odoo/odoo#116641
hr_recruitment: switch smart button value and label
- Switching applicant's name with "Employee" label to be consistent with
the rest of smart button's format
mass_mailing: adapt status bar layout
- Removed excessive margin between the status bar and the content
- Added no padding between status bar and the control panel
- Removed a useless border before the status
- Improved margin between alert and buttons
project: right side panel stats buttons alignment
hr_skills: fix `::before` alignment
== ISSUE ==
Before this commit, the :before line in Employee resume is not aligned
with the dots. This is due to the fact that the variable
$o-hrs-timeline-entry-padding used in the mixin isn't the right value we
should use.
There was also an issue with responsive.
== After this commit ==
We now use a calc, which process the half of the circle plus the padding
minus the border-width. The $o-horizontal-padding is the variable used
to define the padding of the line inside the form view.
We adapt this in a smaller media query since the $o-horizontal-padding
value is different.
task-2818586
Part-of: odoo/odoo#116641
*: onboarding, account, account_payment, sale.
Currently used in the appointment module (See c1cf8bfb).
Related Task-3297572
task-2818586
Part-of: odoo/odoo#116641
Depending on Milk, this commit adds some missing borders.
Also adapts default `border-radius` to apply milk design.
task-2818586
Part-of: odoo/odoo#116641
- ButtonBox is moved to the ControlPanel's actions section (center).
- StatusBarField, ButtonBox and PercentPieField design.
- Chatter is moved below the ControlPanel (aka "in the view")
task-2818586
Part-of: odoo/odoo#116641
Co-authored-by: Pierre Paridans <app@odoo.com>
Co-authored-by: Pierre Rousseau <pro@odoo.com>
Co-authored-by: luvi <luvi@odoo.com>
*: account, gamification, mail, mrp, note, project, website_blog,
website_event_track.
Uniform design defining a common element shared across different
modules.
task-2818586
Part-of: odoo/odoo#116641