Definition of '(non-)passive' thread window:
Thread windows can be either 'passive' or 'active'
(default: 'active').
- When opening a thread window in 'active' mode, the messages
are marked as read, and the focus is on the thread window.
- When opening a thread window in 'passive' mode, the messages
are not marked as read and there is no focus on the thread
window. Messages are kept unread until the user interacts with
the thread window (e.g. by clicking on composer).
When the user intentionally opens a thread window, it should
be open in active mode. However, when a thread window is open
without any user iteractions, it should open in passive mode.
The later case is useful in some cases. For instance, when
receiving a new message from a DM conversation, it should
automatically open the corresponding thread window. However,
it should not automatically mark messages as read.
This commit contains 2 bug fixes:
1. When receiving a new message on an active thread window,
it no longer increments the unread counter.
(When the focus is on the composer of the thread window,
the user is immediately reading newly received messages.)
2. When receiving a new message from an unpinned DM conversation,
the newly open thread window is always passive.
(This was not the case before, so when receiving new messages,
it did not increment the unread counter.)
1. Removed `getLocalMessages` method in mailbox, and replaced
with an override on `getMessages`.
(This method was used before the distinction was made
between `getMessages` and `fetchMessages`)
2. Removed unused method `_warnUpdatedUnreadCounter` in
abstract thread window.
(Leftover from an early POC)
3. Set the default value `''` for the status of a thread.
(The method `getStatus` should always return a string)
4. Enforce default value `false` for detached status of channel.
(The method `isDetached` should always return a boolean)
5. Improve readability of some tests.
(removed useless variables and/or redundant code)
This commit improves the style of the tooltip on the mail envelop
icon next to a message related to an email. To do so, we have removed
existing CSS and custom tooltip UI and replaced them with boostrap
popover.
This commit also removes most flickering issue when mouse hovering
on gaps between the tooltip and message icons.
Note that there are still corner cases that produce flickers.
This is unfortunately a known issue with bootstrap 4, as this glitch
can also be observed on bootstrap website.
Task-ID 1879282
Closes#26546
the commit 4136072588 translated some
fields linked to the sale onboarding panel. The issue is the values
should be single quoted + double quoted while it was only double quoted.
The t-value tag evaluates what's inside the quotes as python expression.
If we want to pass a string, we need to use two kind of quotes.
* web, website
- Introduce gray color palettes (needed for themes migration)
- Synchronize BS4 color maps with individual variables (see comments
about this in the code).
- Review alpha/primary, beta/secondary matching:
Before this commit, we decided that the common way to define a color
palette was defining primary, secondary, gamma, delta and epsilon.
alpha and beta were then forced to primary and secondary without other
possibility.
The new system makes more sense:
1) define alpha, beta, gamma, delta and epsilon
2) primary and secondary will automatically be set to your alpha and
beta (allowing to style the default UI with BS4-independant
variables)
3) if you are not happy with (2), you can define primary / secondary
in your color palette so that they are not automatically set to
alpha / beta
This commit also changes what classes the editor uses. Background colors
and text colors will now use alpha/beta/gamma/delta/epsilon (not primary
and secondary anymore). For buttons, all the possibilities are suggested
but color duplicates are hidden (so if your primary and alpha are equal,
only one button color is suggested).
In unsubscribe page, if the user try to come back
(and be removed from the blacklist)
but his email have been deleted from the blacklist,
it was leading to an error.
Instead, and in order to keep a trace of what the user asked,
if the email is not found in the blacklist, the record will be
created but archived directly.
Also, it aligns the return of both methods _add/_remove
Edit blacklist records has the side effect of unblacklist the
contact that had the old blacklist email address.
If the user entered a wrong email address to create a balcklist record,
he now has to delete the record and start again.
Reviewing unsubscribe page style and button naming.
Rewritting the feedback controller to be easily readable.
Renaming blacklist creation date field in form to remove confusion.
The UrlWidget supports a text attribute to define the text of the <a> tag, but the text attribute wasn't supported in the RNG of the field.
Thus it wasn't possible to use it in tree views. However it already worked fine in form views because those are not RNG validated.
PR: none
Task: none
Purpose
=======
- fix a traceback when preview a draft invoice while using SEPA QR code.
Specification
=============
- add a condition to not get the length of the communication if the field is not defined.
The goal of this commit is to fix the various views and reports of sales and invoices.
======
Portal
======
Fix breadcrumbs
Fix BS4 issues, alignment of various elements
Better auto resize of the invoice iframe
Fix invoice list for draft invoices
Fix previous/next document pagers
Remove unnecessary monetary widgets (not needed when using t-field if the field is Monetary)
Standardize invoice and sale routes:
- especially when related to displaying: html, pdf (print and download), text
- by using the get_portal_url() also for invoices
Add the total on the left column of sales order
================
Section and note
================
Improve general style:
- notes in italics
- sections: less padding, darker background, no borders
=========
Demo Data
=========
Fix sales order demo data to appear for the admin (instead of system)
PR: #25997
task-1869469
This commit adds a new js test in web that enters each app and click on
each view switcher, each menu and each search filter.
This test is tagged '-standard' and 'click_all' as it could last a long
time, that way it's not executed by default.
It could also be started from the browser console with
'clickEverywhere();'.
Now that this field is computed (true if value), once the user check a feature, it is required to fill in the field.
Before this commit, you can click on checkbox, and save without key in field, and a refresh checkbow was again unchecked.
Search 'id', 'in' instead to browse old record
Update session wishlist_ids when a product is deleted
Garbage old archived public wishlist, now we unlink theme directly, but for previous version
If the user does not have the rights to write on the user profile, he will
trigger an access error.
Put it as a simple computed readonly field to avoid access errors
In 10.0, a workaround was developed at 0312c604f4 but it should be reverted
after this commit
In the detailed operations view and in an immediate transfer:
- add a line
- select a random lot_id
- select a random product_id
- validate
The system won't raise while the combination of product_id/lot_id may
not make sense. We add a constraint to solve this isse.
Closes#25766
opw-1868453
Since it exists two action_validate button (one highlithed and the other
not) depending the situation. This commit add a class on the not
highlited button in order to allow an override.
Before this commit the user add to click on vendor bill
button that redirect him to an empty list view where he has
to click on create. Now, vendor bill show a list view of existing
invoice and it exists a new button create bill that directly create
a new invoice with missing delivered product.
It also order button in order to put primary buttons first in the
header.
The tour is modify since the stat button is invisible if the PO does not
have an invoice linked. Instead it clicks on 'create bill' button.
This commit is related to task ID 1835441.
Usability change:
- Remove amount from RFQ template
- Remove origin from both templates
- Modify last sentence to a proper English
- Add partner reference in PO template
Technically remove the conidtion on object state in
order to guess if it's a RFQ or a PO since the check
is already made in python and it exists a template
for the RFQ and a template for PO.
This commit is related to task ID 1835441
Since the mass mailing blacklist, it's possible to see if a contact is blacklisted
using the blacklist_mixin.is_blacklisted. As crm.lead.opportunity view is displaying
one of the two fields email_from and partner_address_email and is_blacklisted is
computed on email_from, it was necessary to add a related fields that read
the is_blacklisted value of the related partner to see directly of the opportunity
is blacklisted or not.
289adeb63f introduced a bug where we tried to trigger an event on an element that didn't exist. Indeed there is no input if it's not in edit mode.
This commit fixes it.
PR: none
Task: none
When there is no handle field, there was an unnecessary margin-left. When there was a handle field, the margin-left wasn't the correct way to align it.
PR: #26566
Task: 1869469
Contacts is now installed when installing mass_mailing.
It was possible to send mass mailing to contact without having
the contact app installed. which was a non sense because the user could not
manage the contacts and the admin could only send mail to the contact demo data,
which is not very useful.