* comparison
There is a somewhat big difference between BS3 and BS4: <h5> titles
were the size as normal text and <h6> were smaller while, now, <h5>
titles are a lot bigger (1.25x) than normal text and <h6> are the
same size as normal text.
While both system may be consistent, we feel that standing for BS4 is
the best approach. That way, the smallest <hx> (<h6/>) should be used
for titles of items that are numerous in the page. This is the case
for our shop listing, each product as its own title and before, we used
<h5/> element. Using <h6/> for those feels semantically more consistent
and goes with default BS4 style.
Also review the product comparator popover.
Before BS4 migration, Odoo was not very consistent and used mainly
btn-sm buttons and btn-xs buttons. We took advantage of the fact
BS4 removed the btn-xs class to convert our btn-sm to standard btn
and our btn-xs to standard btn-sm.
While this is perfect in theory, the new btn-sm class does not
generated small enough design for us. This commit changes the BS4
standard style for our website, making btn-sm smaller.
* website_sale, payment_authorize, payment_ogone, payment_stripe,
website_sale_delivery
(Many bugs were only revealed by BS4, not created)
- Align payment method (Ex.Stripe) form attributes in row.
- Fix align between radio button and payment method name.
- Removed header div from 'billing & shipping'.
- Set badges (Ex.free) and align between badges and delivery method
name in choose delivery method.
- Border subtraction from delivery methods div as already card class
has border.
* account, project, purchase, sale, website_crm_partner_assign
With BS3, badges inside list items were automatically right-aligned.
This is not the case anymore so we have to put an explicit class for
this. Also, badges have no default style anymore, so we have to choose
a color (secondary in this commit).
With BS3, if a column was supposed to be aligned on the right, using
the 'pull-right' class on it did the trick.
With BS4, this is not the case anymore as .row elements use flex.
This commit use one of those 3 solutions case per case:
- If the column was alone on its row, then adding the
'justify-content-end' class on the row.
- If the column was not alone on its row, then adding the 'ml-auto'
class on the column instead.
- If the column was already filling the row, there was no point in
aligning it to the right
Note: this commit does not case about potential xpath which would add
new columns in one of those rows. If any, this can be handled as a fix
later.
Currently, to remove link of x2m field from any record, sometimes there's no way.
For example, if we are on mobile and open any Quotation, it's linked quotation lines
are automatically converted in kanban, and there is no way to delete a line from
that quotation. However, in some of the manually designed kanban, there is special 'x'
for removing / unlinking x2m record, for example, Contacts of Partner.
This commit makes the behavior more consistent. During edition (mobile and desktop), if
a view dialog is opened on click of x2m field, it will have one 'Remove' button (based
on user rights) on right side of dialog footer, allowing users to delete / unlink the
record. Moreover, in mobile, the modal is opened fullscreen, with sticky header and
footer.
Related Task# : 31641
Closes PR #15857
Co-authored-by: Mohammed Shekha <msh@openerp.com>
Factur-x is the e-invoicing standard in vigor in FR & DE and, by extension, it will probably become the standard in Europe. Thus this will be used as default e-invoicing standard by Odoo.
The idea is simple:
* when printing your customer invoice report (not in draft ofc), a Factur-x xml file is generated and embedded inside the PDF.
* when importing supplier bills in the form of PDF files, we detect if any Factur-x xml file is attached and complete the data of the draft vendor bill accordingly. This is done during the message_post() function.
/!\ To be compliant with the Factur-x standard, the PDF should be PDF/A-3b compliant. (See: http://fnfe-mpe.org/wp-content/uploads/2018/07/1.-FACTUR-X-V1.1-2018-07-24-FR.pdf chapter 6)
However, wkhtmltopdf is not PDF/A compliant and then, the generated PDF report are not fully compliant with the Factur-x standard.
Was task: 1859277
Was PR #25508
Suggestions made to reconcile bank statement lines are now more accurate (based on communication and amount)
There's no automatic mode anymore (button + <CTRL+ENTER> shortcut removed)
Partners are set automatically when selecting a line in the widget (that will help the creation of a res.partner.bank for him, for a better partner detection next time)
Was task: 1847703
Was PR #25438
The indentation of the computation of date_deadline was incorect
leading to a deadline only getting compute when the base date was
depending on a previous activity.
Before this commit, `testUtils.unpatch` was incorrectly
unpatching a class' properties.
That is caused by restoring the properties on the class
function itself, instead of the prototype of the class
function.
This commit fixes this issue by restoring properties on the
prototype function of the class on `testUtils.unpatch`.
Some aria HTML attributes were missing, and are desirable to provide a
better experience for screen reader users.
The following attributes are included:
- `aria-pressed`: Used in buttons whose function is toggled when
pressed. In this case, it is added on the button to follow/unfollow
a record.
- `role`: used to improve given information about what elements are for.
In this case, it is added in the following cases:
1. Buttons to apply filters (e.g. to filter conversations) are set
to role="tab". These buttons have the class `o_filter_button`.
2. Elements who are not buttons but have the class `dropdown-menu`
are set to role="button".
Closes#25667
When a Chrome headless test fails the browser is not cleaned and could
lead to a mix with other tests when the same method is called.
Also, the multiline assertions gives an unreadable message when the
assertion fails.
Finally, it happens that a thread does not have an 'url' attribute and lead to a crash when the logger tries to show the thread url.
With this commit, the browser is cleaned, even on failure and the
assertions are now one line.
Closes: #26432
Revision on https://github.com/odoo/odoo/commit/f2302dfb27dd7f6a0dee7c65ab75b62a01706264
The commit above improved the rendering of thread.
However, it wrongly defined ASC and DESC.
This commit fixes this issue by re-arranging so that their
definitions match the meaning of 'ascending' and
'descending'.
Orders are defined from top to bottom. Visually:
_____________ _____________
| | | |
| message 1 | | message n |
| message 2 | | ... |
| ... | | message 2 |
| message n | | message 1 |
|_____________| |_____________|
ORDER: ASC DESC
The activity was incorrectly scheduled with a deadline as the now in UTC while
the state was computed using "today" in the user's timezone.
This made the nightly test fail (run at 23:30 UTC with the user in UTC+2).
Use context_today instead of today for all activity_schedule calls
To make it easier, use on the context_today default value instead of setting
context_today everywhere (which is more error prone in the future)
Never use datetime, only date objects
add a warning to detect potential errors when passing a datetime
Closes#26411
1. Odoobot shouldn't talk to admin when demo data are installed
Odoobot will talk to a user on it's first connection, meaning that
a dev will see this chat window a lot. The state disabled is not a
real state but is explicit, the odoobot wont be initialized in this
case. It is still possible to test odoobot flow with demo user.
2. remove old odoobot image and update link
3. small improvements in odoobot answers
example: <field name="product_id" options="{'no_open': True}" readonly="1"/>
This has been broken by rev. 43d21dd9c due to misplaced parentheses
(an empty object in javascript being truthy).
Before this commit, the method _document_check_access would succeed if it was called with a non-existing id.
Now it will raise a MissingError.
PR: none
Task: none
Sales Order report:
- fix Total table alignment (to the right)
- remove misplaced /> characters
- remove page-break before optional products
Sales assets:
- fix duplicate ID preventing assets files from being loaded
My Home:
- fix link to sales orders
Optional Products:
- renamed various strings
- made product_id required to prevent a traceback
PR: none
Task: 1838924, 1876864
The search view always instantiates a time range menu but hides it
when it is not used.
Now, when the time range menu is not used, every time the search view
facets are rendered, the time range menu is also rendered entirely
and becomes visible shortly before being hide again. This caused
a bad screen flickering.
This commit fixes that problem by avoidind the unnecessary rendering of
the time range menu.