The stat button "Leaves Left" is a computed field of type integer.
However, it aggregates the data of `number_of_days`, which is a float.
Since the field is not stored, we can change its type.
opw-743153
The user menu was not visible in portrait mode with multi company in mobile. This was caused by the company menu taking too much room. We fix the issue by making the company menu smaller (just the size of an icon)
(PR #16685, task 29394)
- Create an invoice
- Add a product
- Create an analytic account directly from the invoice line
- Validate the invoice
The partner is not filled in on the analytic entry.
This is because the partner of the line is a related of the partner of
the analytic account. By default, the partner is not filled in.
opw-743628
Add support for value 'save' to attribute 'special' for buttons in
form view. This is useful for form views in dialogs. When clicked,
it saves the form view and closes the dialog (the default 'Save'
button doesn't close the dialog). Without this, the only way to
achieve that was to define a dummy python method and call it with
<button type="object" name="dummy_method"/>.
A purchase order is not the best way to create new taxes on the fly. We
therefore add the no_create option on taxes to avoid quick creating
them on a purchase order like what is already done with invoices.
Closes#15639
A sale order is not the best way to create new taxes on the fly. We
therefore add the no_create option on taxes to avoid quick creating
them on a sale order like what is already done with invoices.
Closes#15640
Before this commit _lead_create_contact actually constructed values AND
created the partner in one single step, making it difficult to override
in localizations that affect the partner model.
As containing method already existed, the partner creation was moved up
to this method, and the method was renamed to match with the file's
conventions. Now this method cleanly constructs the values.
Closes#16493 .
Closes#16576
Description of the issue/feature this PR addresses:
According to HTML good practices, when an element is used but there's no text displayed on the screen, the attribute aria-label should be used to label that element.
This is the case in the buttons to change view types (List, Kanban, etc) since there's no text displayed, but an icon instead.
This HTML attribute is specially useful for screen readers, which usually are not able to figure out a button's functionality when that button is not properly labeled.
Current behavior before PR:
Buttons are not properly labeled
Desired behavior after PR is merged:
Appearance should be the same, but the produced HTML should be of better quality, because it would fit more HTML good conventions and it whould be more accessible
Related issue:
I had already reported this issue on the branch 10.0 at PR #16030. However, I decided to report it on this branch, because I believe this branch is the right place to be reported.
When opening a modal on top of another, we expect the associated
modal-backdrop to be over this another modal (so that it is grayed).
This was not the case as bootstrap forces the modal-backdrop z-index
to a lower value than the modal's one (see fix comments in the changes
below).
Due to a bad refactoring of this method during the remove of the
'report' module, a traceback occurs when resetting an invoice to draft.
This is due to the retrieve_attachment method that is used as an api.model
instead of api.multi.
for computed street fields.
Qweb reports delete the node if the value is Null but won't if the value is an empty string. And then, l10n_mx_edi module has errors because there are nodes with empty string and the minimum value is one char.
Courtesy of Vauxoo. Was PR #17169
PURPOSE
=======
Currently we can choose to load the xmlid of a menuitem if web_tour is installed by setting the attribute `load_xmlid=True` on the view.
This is strange for 2 reasons:
- Searching all the ir.model.data on menuitems with load_xmlid=True to compute its xmlid, searching the related subtree on the returned structure of the method load_menus is quite complicated for the perfomance gain (if there is any perfomance gain to do it)
- This is not working in community in frontend, as only the root menuitems are loaded, thus it is the `load_menus_root` instead of the `load_menus` that is called. This issue prevent a tour step to be displayed correctly on community and enterprise on a menuitem.
SPECIFICATION
=============
Remove all the `load_xmlid` attributes and the related mechanism and move it into base to always load the xmlids for all the menuitems. It won't bee to heavy as the result is cached.
It's better the keep the current mechanism (Load the xmlids from ir.model.data and insert them into the tree) as we only make 1 search to the ir.model.data
-> Move Subtasks mechanism from hr_timesheet to project.
-> Various functional improvements:
- Add new 'Sub-tasks' setting and 'Sub-task Project' field based on
this setting.
- Relabel 'Team Collaboration' section to 'Task Management'.
- Remove 'Customer Satisfaction' section and move setting
'Rating on Tasks' into 'Task Management' section.
- Add customer name on the project's kanban view.
- Set default value of 'Sub-task Project' field is the same project.
- Add 'Parent Task' stat button on task form view.
- Make 'Sub-Tasks' stat button visible when no parent task
- Rename "Validate" button to "Test Import"
- unmatched columns are marked in red
- better column matching (show suggestions of the char field even if the imported values are of int type)
PR #16881, close task 32894
Introduced at 4e715dae94. Instead of
doing hacky things like self.pos.gui.screen_instances... in the
cashier widget to force the numpad UI to rerender itself it's better
to use Backbone.js because:
1. we're already using it everywhere else to handle UI updates
2. easier to extend for eg. adding more cashier related access rights
To do so cashier is turned into a Backbone attribute on PosModel. All
references to the cashier property are replaced with get_cashier to
ensure the Backbone attribute is used.
Note that this is not necessary for the user property on
PosModel. This contains the actual user logged into Odoo and thus
never changes.
This also removes the check in set_unit_price because:
1. it was wrong to begin with (no price change when
restrict_price_control is enabled or you're a manager?)
2. even if fixed it would break the following for non-managers:
1. tipping
2. fix_tax_included_price
Purpose
=======
The menu "Sales -> Invoicing -> Orders to invoice , shows the orders which are confirmed and where the invoice needs to be created for those.
User should not be able to create SO from this menu.
===========
Specification
===========
Remove create Button in (Order to invoice and Order to upsell) menu and in website -> order to invoice
Purpose
=======
As you can easily edit your stages via your kanban view, this menu item is not necessary
Specification
=============
Following configuration/stages menu Move to debug mode
List of menu:
Quality/Configuration/Quality Alert Stages
PLM/Configuration/ECO Stages
Events/Configuration/Track Stages
Project/Configuration/Stages
Maintenance/Configuration/Maintenance Stages
Recruitment/Configuration/Stages
Email Marketing/Configuration/Campaign Stages
``import odoo.addons.foo as bar`` doesn't seem to properly trigger the
import hook in Python 3 (it blows up on decimal_precision and
base). Thus convert *all* examples of that pattern to the more
sensible ``from odoo.addons import foo as bar``.
Purpose
=======
Improve label in full mail composer.
Specification
=============
In full mail composer if it's log than send button string should be "Log".
Localizations depend on the module "base_vat". It is therefore
impossible to remove base_vat without the localization. This causes
issues for users who simply want to deactivate the VAT check.
opw-743260