The way the code has evolved, `create` is now no more than an
unnecessary indirection for `insert`.
This PR removes `create` and replaces its uses with `insert` directly.
closesodoo/odoo#97058
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
This removes an extra request, targets fetched messages more reliably and
simplifies the code.
task-2847909
closesodoo/odoo#96840
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
The code handling user presence and the one handling bus notifications
are mixed up. In order to ease the PR introducing the websocket in Odoo
and to clear this mess, the presence service has been introduced.
task-2053917
closesodoo/odoo#95981
Related: odoo/enterprise#29524
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
*: bus, calendar, iap_mail, im_livechat, project, web.
In order to ease the PR introducing the websockets in Odoo, the bus service
has to be updated to be a wowl service. This PR takes care of it.
task-2053917
closesodoo/odoo#95824
Related: odoo/enterprise#29361
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Purpose:
Access the DM chat to a user when clicking on its @mention
(DM or chatter) or member name (in Discuss).
The same goes for @mention to channels.
Specifications:
- DM to Author should be opened after clicking on his name
- DM to Author should be opened after clicking on his mention
- DM to channel should be opened after clicking on it's mention
- There should be a grey background hover effect on channel members in
members list
Task-2631948
closesodoo/odoo#92050
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
The deprecated exists check(located in getFieldValue (ModelManager)) is removed,
but a lot of tests will fail after removing this check because it will try to
read fields after records are deleted. So added some missing exists checks.
Task-2871062
closesodoo/odoo#95415
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
This allows to remove the AND/OR mix from message view identifying fields.
Part of task-2741982
closesodoo/odoo#94948
Related: odoo/enterprise#28988
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
*: sms, snailmail.
The createThreadViewComponent helper was used during tests to mount
a thread view component and test it. However, this approach is not
very realistic and blocks some waiting PRs. In order to get closer
from the reality, let's mount a webClient so that the thread view
component can be mounted in its real environment.
task-2871066
closesodoo/odoo#94691
Related: odoo/enterprise#28954
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
*: im_livechat, website_livechat.
The autoOpenDiscuss parameter was used but is deprecated for a while now.
This PR removes it.
closesodoo/odoo#94716
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
The createMessageComponent helper was used during tests to mount
a message component and test it. However, this approach is not
very realistic and blocks some waiting PRs. In order to get closer
from the reality, let's mount a webClient so that the message component
can be mounted in its real environment.
closesodoo/odoo#94243
Related: odoo/enterprise#28720
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Emails could not be resent from the chatter after failing to be sent.
This was due to parts of code not being updated after a refactoring of OWL.
Multiple other instances of non-updated code are updated here.
Task-2887153
closesodoo/odoo#94529
X-original-commit: 8fbdb1b52b9051e92e4980d5af73460a46fe70da
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
The createChatterContainer helper was used during tests to mount
a chatter container and test it. However, this approach is not
very realistic and blocks some waiting PRs. In order to get closer
from the reality, let's mount a webClient and open a form view
containing a chatter.
closesodoo/odoo#94175
Related: odoo/enterprise#28684
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
*: im_livechat, test_mail, test_mail_full.
The createMessagingMenu helper was used during tests to mount
the messaging menu and test it. However, this approach is not
very realistic and blocks some waiting PRs. In order to get closer
from the reality, let's instanciate a webClient and a systrayService
for the messagingMenu to be present at all time.
closesodoo/odoo#94301
Related: odoo/enterprise#28747
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
*: mail, point_of_sale, test_mail_full.
The alt of images can be displayed slightly after the programatic
scroll which means the scroll height we set and the one we assert
are slightly different (the client height have changed). In order
to solve this issue, all alt attributes are replaed by data-alt
during tests. The src attribute is removed as well to make sure
images won't trigger a GET request on the server.
closesodoo/odoo#94092
X-original-commit: 0446923db6b7376ee2c27e3f6e94b5f8e43a14fb
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Stockbauer Matthieu (tsm) <tsm@odoo.com>
* hr, im_livechat, mail, sms, snailmail, test_mail_full, website_livechat,
website_slides
PURPOSE:
Creating a record with no values has no sense but is sometimes useful during
tests.
The support should be dropped for `default` parameter in `create`.
SPECIFICATION:
All the occurrences of `create()` have been replaced by `create({})`.
Task-2869394
closesodoo/odoo#93917
Related: odoo/enterprise#28538
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Now that it potentially contains guests, the previous name is no longer correct.
Part of task-2883466
closesodoo/odoo#93731
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
* = im_livechat, test_discuss_full
Various improvements to user settings, including:
+ Introduce new js models `res.users.settings` and `res.users.settings.volumes`
to mirror the python models.
+ Avoid reformatting server data and simplify the way notifications are handled.
+ Clean dead code (unused convertData).
+ Reword and add documentation.
closesodoo/odoo#93390
Related: odoo/enterprise#28291
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Inner `afterNextRender` could potentially resolve/reject after the test has
already ended due to missing await (arrow function with bracket is sync).
This will prevent tests from overlapping each other.
closesodoo/odoo#93505
X-original-commit: c5d0cc3f37693346fce5e72b618d5e3454d118c4
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Follow-up of https://github.com/odoo/odoo/pull/76415
This commit mistakenly duplicated 2 tests, with exact same name
and exact same content that is being asserted.
This commit removes one of the duplicate.
closesodoo/odoo#93137
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
PURPOSE
The attachment icon in the chatter is too discrete, a lot of users easily miss
it.
SPECIFICATIONS
- Allow for file upload through drag and drop and the whole chatter.
It doesn't matter whether the file tray is unfolded.
Hence, removed DropZone on attachmentBox as now have DropZone on
the whole chatter.
- On the file tray, rename "Attachments" to "Files" and
"Add attachments" to "Attach files".
- When there are files attached to the record, display "X files".
- when there is no file yet, display 'Attach files'. Although clicking on it
opens the file explorer, but doesn't unfold the tray yet. Once the file is
submitted, the file tray unfolds to show confirmed upload to the user.
Task-2413814
closesodoo/odoo#91335
Related: odoo/enterprise#27763
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
PURPOSE
Improve how image attachments are downloaded from the chatter by adding the
`download` button when hovering image files
SPECIFICATIONS
add a `Download` button (icon) on the bottom right corner of image attachments
on hover
Task-2802810
closesodoo/odoo#92013
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Top level components should always be wrapped in containers since they have to receive
a record comming from messaging. To do that, we need to wait for messaging to be initialized.
In the PR introducing the new environment in the discuss app, some of those components will
be passed to the main_component registry, messaging won't be ready yet. In order to ease the
transition, the last components missing a wrapper have been wrapped.
task-2582313
closesodoo/odoo#92402
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Since (at least) Chrome 94+, some element's sizing computation returns a
slightly different value (in the order of a fraction of a pixel). Sadly,
due to rounding, this difference has an impact on exact sizing
assertion.
As the difference is *really* small, introducing a margin of error (i.e.
<= 1px) looks reasonnable ; as implemented in this commit. More
specifically as Element.scrollHeight can have either an int or a decimal
value (cf. fractional-scaling), this commit allows to property handle
both usecases.
Reference:
https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#determine_if_an_element_has_been_totally_scrolledclosesodoo/odoo#92328
X-original-commit: 93348ae0d0b076fe2dfa094a2d7b3ef74442d390
Related: odoo/enterprise#27790
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Signed-off-by: Pierre Paridans (app) <app@odoo.com>
This patch was previously defined globally, but it has been removed at some
point. This absence prevents from running some tests that relied on it when the
current browser value does not match what the test is expecting.
Part of task-2810734
Part-of: odoo/odoo#92193
*: hr, hr_holidays, im_livechat, test_mail.
The target returned by the mail's test utils start method is useless since it's
almost the same thing than querying document. Let's remove it and replace it by
document. This will reduce the diff in the PR introducing the new environment in
the discuss app.
task-2582313
closesodoo/odoo#92077
Related: odoo/enterprise#27670
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Before this PR, nothing warned the user that the invitation link was restricted to
a user group.
task-2818094
closesodoo/odoo#88562
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
One of the discuss_tests assumed that pyEnv.create returns a record while it returns an id.
Therefore, this test was setting a relational field to undefined instead of the id of
the related record.
closesodoo/odoo#91885
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
Until now, when we add to patch the ui size, we would have patched one of the following:
- config.device.{isMobile,size_class}
- (wowl) env.isSmall / env.services.ui.{isSmall/size}
- (legacy) env.device.isMobile
- (legacy/wowl) browser.innerWidth
The issue is that patching one does not affect the others resulting in an incoherent state.
In order to ease ui size patching, the `patchUiSize` method has been introduced. This method
take either a size or a width as parameter (eg. SIZES.SM, 1920) and affect all the properties above.
task-2582313
closesodoo/odoo#91540
Related: odoo/enterprise#27428
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
This PR prepares the ground for the one introducing the new environment in the discuss app.
Indeed, switching from `env.browser` to the wowl `browser` makes a lot of noise in the main
PR. In order to reduce this noise, this change is done now.
task-2582313
closesodoo/odoo#91622
Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
This PR prepares the ground for the one introducing the new environment in the discuss
app. Indeed, the discuss widget will be removed since it was used as an action. This widget
basically handle two things: rainbowman on empty inbox/push state. This second part focuses
on the push state aspect.
task-2582313
closesodoo/odoo#91450
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>