* fix breadcrumb for invoices in portal, when going into an invoice
the 'Invoices' part of the breadcrumb allowing to come back to the
invoices list was not a link;
* remove duplicate of invoice reference in page view;
Posting a message on a custom model (i.e. created with Studio) crashed.
If it's a custom model, its `_original_module` attribute is not correctly set so
trying to retrieve the icon based on this attribute does not work.
Before this rev., onchange specs where only computed up to level
2 (i.e. for fields inside x2many fields). So basically, if there
were a one2many list inside a one2many (e.g. which opens in a
form view), the fields of that inner one2many list weren't added
to the specs, and it could lead to unexpected responses from the
server (like erasing the changes made on the inner one2many
records).
Closes#19600
* set height for draw signature when user want to accept order to avoid
various display issues;
* fix name input not being displayed as error if trying to sign with a
void partner name;
* no more show 'Accept & Sign' button if customer signed document;
* update message string for success message after signature;
* add an option to specify the signature button label and use it in
sale customer portal;
* improve return of signature route to return more specific error
messages;
This commit contains squashed code from @rop-odoo .
* display canceled or done status of quotations on quotation page
view in order to ease user navigation;
* allow to filter on state;
* fix breadcrumb for canceled quotations, currently telling 'Sales
Orders' instead of 'Quotations';
* display order shipping address only if multi address group
is activated;
* display order expiration date on sale order customer portal;
* when signed, add help message on disabled 'Sign' button telling
when and by who the order has been signed;
* fix download button display and alignment in quote template
This commit contains squashed commits coming from @jpr-odoo and
@abh-odoo .
This implements a warning when the user tries to do any of the
following operations on a product that is not in stock:
- Scrapping
- Unbuilding
- Repairing
The warning displays the current stock of the product in question per
location which can be helpful in case the user selected the wrong
location.
Without this time_cycle is not computed in the tree view on new
workcenters created through 'Add an item'. This leads to the
time_cycle field being displayed as NaN:NaN. This forces computation
on the form view opened through 'Add an item' which solves the issue.
This simplifies the chart of accounts and taxes to only the common
ones used. It also updates some changes that took place (eg. the VAT
increase from 16% to 19%). Lastly it implements some additional fields
on res.partner: a document type and a verification code that is
calculated based on the VAT.
We have te remove self, because as it's an onchange working on a 0 orm
command, the onchange is executed on a recordset on a new id without
client ref but, when we go up and down in the relations to find our
siblings, the newid recordset with a client ref is present, meaning we
have our record duplicated.
Before this commit and since the huge JS refactoring, when you were editing
a blog post it wouldn't save your modifications if you touched the title or
subtitle of the blog.
This was due to title & subtitle getting considered as the cover itself
when saving (_saveElement) because they are inside the cover (in a HTML point
of view).
So if you had modified both the cover, the title and the subtiltle, it was:
1. Saving the cover
2. Saving the cover again
3. Saving the cover again
Now, _saveElement is called as it should, for the same case, it is:
1. Saving the cover
2. Saving the title
3. Saving the subtitle
Before this commit, website.page xml record were created in 2 steps:
1. Create an ir.ui.view record with <template> tag
2. Create a website.page record with <record model="website.page">
But this is useless since website.page inheritS ir.ui.view, you can create both
records just in one <record> tag.
Note: This is NOT TRUE in every case:
Odoo's ORM will suffix external_id of inherited records (in this case the
ir.ui.view created through the website.page record) with its model's name.
This can be a problem in some case (this is an example):
website_crm_template.xml create an ir.ui.view inheriting the
ir.ui.view 'website.contactus'.
But if we didn't keep website.page & ir.ui.view records split for that
specific case, the ir.ui.view would inherit a website.page record
causing an error. (website.contactus would be the id of the page record
while the ir.ui.view's id would be website.contactus_ir_ui_view)
In short: when migrating an ir.ui.view (<record> xml) to a website.page:
* If there is record inheriting the ir.ui.view ID, then split
website.page & ir.ui.view
* if not, you can create the website.page and its ir.ui.view both in one
record (<record model="website.page").
This commit also removed remaining page="True" from xml template since we
removed the 'page' attribute from ir.ui.view model overrided in website module.
Before this commit, website.page had a 'name' field which was useless because
website.page inheritS from ir.ui.view which has its own 'name field.
At the end, we were duplicating/synchronizing 'name' field between
website.page and its ir.ui.view for no reason because we were always using the
one from ir.ui.view.
Now, getting website.page's name will always retrieve the one from its
ir.ui.view and there is no redundant information.
Was only done when updating base.
The cost of scanning the addons path should small in comparison to the update
time itself.
Followup of #9133Closes#9140
These modifications are legit as the method is private and the user has the right to create a company.
This will create an internal project and a dedicated task.