RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
PURPOSE
Prepare community addition (both quiz-based and room-based) by adding
a community link and page management.
SPECIFICATIONS
In order to show the leaderboard and the meeting rooms on the same page we
have to put a page and a route at the base of two upcoming modules: meet and
quiz. The only common ancestor of those two will be website_event_track_online
who gains a field for the community menu.
It currently does nothing and leads to a void page. Both meet and quiz modules
will add their own logic: meeting rooms or leaderboard. Having bothi installed
displays rooms with a small leaderboard.
See next commits for more details on those modules.
LINKS
Task ID-2252655 (Main Online Event task)
Task ID-2283771 (Quizzes on Talks, Leaderboard)
Task ID-2283742 (Community gathering on chat rooms)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Quentin Mourier <qmo@odoo.com>
Co-Authored-By: Stéphane Debauche <std@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
PURPOSE
Improve Agenda page, to make it more inline with new Online Event design.
Make it more usable, with a better UX and mobile-friendly.
SPECIFICATIONS: AGENDA
Keep a per-day and per-room display, as we think it is a nice design. Hours
should be fixed: all hours between first hour and last hour of a day's tracks
should be displayed. Otherwise you have some "holes" in agenda, and each
line does not hold the same time range.
Display tags and reminders on tracks. Support accepted tracks, not clickable
but already displayed for people to organize their venue, especially with the
wishlist / reminder feature in mind.
Try to make it mobile friendly, by allowing horizontal scroll instead of
displaying all rooms on a small device.
SPECIFICATIONS: SEARCHING
Allow to search on tracks, as well as some basic filtering. Use the look
from event page to have something more inlined with current website layout.
Due to time limitations, currently agenda custom JS-based search is inlined
in bar looking like other event search bars. However no menu based on tags
or wishlist is available as everything is done in JS. Routes do not support
any tag or search, and adding it would take some time we don't have anymore.
KNOWN LIMITATIONS
Columns still do not have same width, complicated to do with dynamic column
number and overlapping tracks going outside of locations columns.
Mobile layout could be improved but is already browsable.
Search is still custom, and will be improved in master.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2299857 (Event Design Review)
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Elisabeth Dickison <edi@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
SPECIFICATIONS
Current 'our sponsors' banner is made for 5/6 sponsors but does not scale
well with more sponsors. It takes a lot of space and requires a lot of scrolling
in mobile mode.
Go for a mozaic style, more compact and better displayed on both mobile
and desktop.
* current: https://tinyurl.com/ycughxlg
* proposal: https://tinyurl.com/y8dzazcy
Allow to make ribbon display optional. This is done by adding a field with
ribbon color: gold, silver, bronze, or no ribbon. This solution is limited but
allows to give flexibility enough for current layouting.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2299857 (Event Design Review)
Co-Authored-By: Elisabeth Dickison <edi@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
PURPOSE
Purpose of this commit is to be able to showcase tracks by announcing them
before publishing them. People may see them before event managers encode all
relevant informations and publish it.
SPECIFICATIONS: ACCEPTED ON STAGE
Add a is_accepted field on tracks stage model. Accepted tracks should be
displayed on frontend (agenda, list view) without being available in complete
view (no read access). Customers may see the track name and know what it will
be about while event managers finish to encode details of the track itself.
No field is added on track model for that. Using the stage itself is
sufficient for what it does, aka allowing filtering in frontend. No need to
add a column for that as it is not as important as published flag.
SPECIFICATIONS: DONE STAGES -> PUBLISH
When a track reaches a stage which "is_done" field is set, automatically
publish it. It allows to manage agenda creation from backend
* accepted -> display track on website for teasing purpose (agenda, track
list), but not accessible to non event users;
* done -> available to everyone, published;
SPECIFIATIONS: AGENDA UPDATE
Display accepted tracks even for customers; make them not clickable, only
displayed. Manually crafting url for those tracks should still raise an
error as they are not accessible.
An accepted track is simply a track whose stage has is_accepted boolean
flag set.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow)
Task ID-2299857 (Event Design Review)
Task ID-2283735 (Talks -> Session upgrade)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
SPECIFICATIONS: PARTNER SYNCHRONIZATION
Right now, information on the track page in frontend is dependent on partner
through related fields. It is not possible to have contact data specific to
the sponsor without modifying the related partner.
In this commit we make track information fields based on partner while allowing
to update this contact information. Name, email, mobile and phone are now
computed stored based on partner and editable.
SPECIFICATIONS: IMAGE MANAGEMENT
Add a website_image field holding image to display in frontend, notably in
the upcoming new list and page views for tracks. This image is optional and
a default image is computed through a website_image_url field. It allows to
have default images without storing the same image on all tracks.
SPECIFICATIONS: DEMO UDPATE
In order to ensure synchronization, reset demo data partner_id so that demo
data is bioutifoul.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow)
Task ID-2283735 (Talks -> Session upgrade)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Krupal Oza <koz@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>m>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
SPECIFICATIONS: PARTNER SYNCHRONIZATION
Right now, information on the sponsor page in frontend is dependent on partner
through related fields. It is not possible to have contact data specific to
the sponsor without modifying the related partner.
In this commit we make sponsor a model based on partner while allowing to
update its contact information. Name, email, mobile and phone are now computed
stored based on partner and editable.
A new image_512 field is introduced, as base image field is too small for
a new list view of sponsors we plan to make.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow)
Task ID-2283738 (Sponsors -> Exhibitors upgrade)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
PURPOSE
Allow to have categories of tags, used notably to build a dynamic menu
when displaying tracks.
SPECIFICATIONS
Introduce tag category model on event track tags, like already existing in
slides (tag and tag group). Link tags to categories in a m2o / o2m fashion.
Each tag category will make a menu in the new frontend track list view. Each
tag will be a menu entry.
Add some demo data to showcase track tags and categories.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow)
Task ID-2283735 (Talks -> Session upgrade)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
SPECIFICATIONS
Create a new widget that allows us to display toast message on the event
registration frontend page. Its purpose is notably to send a toaster message
to customers when they are redirected to the register page. It will be
used notably when exhibitors are not yet open before an event, to try to
make people register to the event with an explanation.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow)
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
SPECIFICATIONS
Add a timer widget that allows to display a DOM element at the end of a given
time. The widget can be configured with two steps
* main timer: countdown to display the DOM element;
* pre-countdown: countdown to display the main timer;
For example, in the context of a event track (talk), the pre-timer can be used
to announce when the talk will start. The main timer will then be displayed
once the pre-timer is over. At the end of the main timer, the DOM element is
finally displayed.
[Talk start in 03:45] -> [Survey available in 05:00] -> [Take the Survey!]
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283735 (Talks -> Session upgrade)
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
SPECIFICATIONS
Add some common CSS to be used in several new modules that will use a "aside
panel / main content" like display. This will be used for
* exhibitor: display exhibitors list (cards) / page view (main content of
exhibitor with jitsi + suggestions on left);
* tracks: display track list (cards + list) / page view (main content of
track, with youtube and/or quiz + suggestions on left);
* community: display room list (cards) / page view (main content of room
with jitsi + suggestions on left);
Incoming modules will soon use this SCSS.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow)
Task ID-2299857 (Event Design Review)
Task ID-2284043 (Visitor-based track wishlist)
Task ID-2283738 (Sponsors -> Exhibitors upgrade)
Task ID-2283735 (Talks -> Session upgrade)
Task ID-2283742 (Community gathering on chat rooms)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
PURPOSE
Reduce complexity of frontend templates and ease time-related display by
adding computed fields on event.
SPECIFICATIONS
Add following information to be used in future templates
* is_ongoing: between start and end of event;
* is_done: after end of event;
* start_today: will start today, for example to display remaining hours
before start;
* start_remaining: remaining time before start;
Ensure timezone are correctly taken into account. Base heuristic is
* datetime are stored in UTC in database;
* TZ of event is stored on date_tz of event;
* make most computation based on UTC: compare UTC of current visitor to
UTC of event datetime;
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
PURPOSE
Tags are not really user friendly in current website event. Add colors !
SPECIFICATIONS
Add colors on event tag model. That way they put more color and emphasis on
frontend. Allow to edit them from backend using color widget.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flo)
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, .
PURPOSE
Improve the overall registration flow. In addition to already improved features
(email, standard pages), some improvements are done here specifically for
Online feature.
SPECIFICATIONS: REGISTER MENU
Add a register button to the right that can be removed through an option on
the event itself. Currently register menu is lost within other event menus.
In this commit we add a CTA to the right lf event naviguation in order to show
it to customers. If current user has registered this button is not displayed.
This is done in addition to already existing register menu. This one can be
tweaked through frontend menu edition. CTA has another purpose, bringing
people to register through a visible CTA.
SPECIFICATIONS: REGISTRATION CONFIMATION
At the end of registration process, add a link to the talks. It allows to
send people directly to the talk page in order to complete their wishlist.
SPECIFICATIONS: IS PARTICIPATING
Make "is participating" field functionally working for public users. It is now
computed based on visitor. If a visitor is available check its registrations
in order to determine if current user has registered to the event.
Remove support of 'email' based computation of "is participating" as this is
quite unsafe: partner and visitor should give results interesting enough.h.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
PURPOSE
Improve menu generation, linked to website_event and website_event_track.
Also remove frontend menu management, getting back backend management.
SPECIFICATIONS: MENU GENERATION
Add sequence to menus, allowing to ensure order of menus. This is done through
an override of some methods, leading to a transparent modification of behavior.
SPECIFICATIONS: MENU MANAGEMENT
Remove front-end menu management. Keep only the global "website menu" customize
option. Indeed it is quite slow and clutters the frontend management UI.
Get fields back on event and event type backend views. Put them in group noone
to avoid having too much fields on form view while allowing to thune them.
JS and code allowing to manage through frontend is simply de-activated in this
commit. That way existing use of website_event(_track) is not impacted by this
commit.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
PURPOSE
Allow visitors and logged users to wishlist tracks and link tracks to visitors.
Purpose is to improve engagement and promote tracks before an event.
SPECIFICATIONS: TRACK WISHLIST
Add a link between visitors or partners, and tracks. This link is done in a new
many2many relationship build on event.track.visitor new model. It is used to
store the wishlist flag. That way even public users can wishlist a track
using their visitor.
At login, information is propagated to their partner. It means that wishlist
are saved if customer logs in or registers.
We also add a widget for frontend pages. It allows to toggle the wishlist flag
on tracks. It is based on visitor and/or current user, leading to a complete
flow even for anonymous people.
We allow to set some tracks as "keynotes". Those are considered as wishlisted
by default. In order to avoid storing too much information, we do not create an
entry in the wishlist table for each attendee. We simply consider all event
attendees to have wishlisted this track by default. In order to be able to mute
a keynote, a blacklist mechanism is implemented. Using the same relationship
table between visitors or partners and tracks, a flag is added that blacklists
the track.
Fields are added on visitor allowing to dynamically build a domain to find
visitors that wishlisted a track (or did not blacklist list in case of default
wishlist). This could be used for example to automatically contact attendees
before a track, like what is done in enterprise counterpart of this merge.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow
Task ID-2284043 (Visitor-based track wishlist)
Task ID-2283869 (Notify attendees by push)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
PURPOSE
Ensure to have a visitor when people registers, in order to enable wishlist
or notifications. Improve visitor model to keep information when people change
device.
SPECIFICATIONS: REGISTRATION FLOW
This commit ensures a visitor is created when a registration is done on an
event. Creation is done only if a visitor does not already exists like all
visitor-based flows.
In case of multiple registrations made by the same visitor, only the first
registration is linked to the created/existing visitor. We take the opportunity
to update the visitor's information based on the registration's infos.
We also add some fields to get all visitors from an event, based on visitor
and registration link. This could be used for example to contact them, like
sending a mailing or push notification to all attendees of an event.
SPECIFICATIONS: VISITOR LOGIN / INFORMATION UPDATE
When a user is linked to a visitor (e.g. when customer logs in) its partner
is propagated to the registration. Using visitor as middle-model it allows
to propagate information through those models, leading to better contact
data notably.
SPECIFICATIONS: VISITOR IMPROVEMENTS + PUSH TOKEN
In this commit we improve visitor behavior. Currently when there are several
visitors that may be linked to the same user, only the last one is kept and
other one are unlinked.
However visitor model holds push tokens, allowing to store approval for push
notifications. Unlinking records is therefore a bad idea as we may loose
information. In order to solve this an intermediate solution is implemented.
A new parent_id field is added on visitors. Instead of unlinking "duplicates"
we link them to the parent and de-activate them. This means more visitors
are present in database, but this is required to keep push tokens.
A better solution would probably be to separate visitor from push tokens
but as this merge targets a stable version it was difficult to do in a clean
way.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow
Task ID-2284043 (Visitor-based track wishlist)
Task ID-2283869 (Notify attendees by push)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
PURPOSE
In this commit we add base for tests linked to online event and all its
sub modules.
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
PURPOSE
Add base modules for some incoming Online Event features.
SPECIFICATIONS
This commit simply adds modules to be completed while working on new Online
Event feature. This is mainly done to ease future work as Online Event was
developed in a stable release, leading to some restrictions for pre-merging
and organizing commits.
Containing :
* website_jitsi: allow to manage jitsi-based chat rooms, with widget to
integrate into website pages;
* website_event_online: website_event upgrades required to support online
event;
* website_event_track_online: website_event_track upgrades required to
support online tracks;
* website_event_meet: chat and discussions rooms online, allowing to gather
a community online in an event;
* website_event_track_exhibitor: sponsors -> exhibitors upgrade with chat
capabilities, new list and page views;
* website_event_track_session: new session-based tracks display and
management, new list and page views;
* website_event_track_live: support youtube and streaming on tracks, as well
as improved next video suggestion;
* website_event_track_quiz: add gamification tools on tracks. Allow to gain
points with quiz on talks;
As well as some bridge modules
* website_event_meet_quiz: integrate leaderboard in community rooms;
* website_event_track_live_quiz: integrate quiz and streaming;
Future commits will fill those modules
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow)
Task ID-2299857 (Event Design Review)
Task ID-2284043 (Visitor-based track wishlist)
Task ID-2283869 (Notify attendees by push)
Task ID-2283738 (Sponsors -> Exhibitors upgrade)
Task ID-2283735 (Talks -> Session upgrade)
Task ID-2283771 (Quizzes on Talks, Leaderboard)
Task ID-2283742 (Community gathering on chat rooms)
Task ID-2291344 (Integrate Twitter Wall)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Quentin Mourier <qmo@odoo.com>
Co-Authored-By: Stéphane Debauche <std@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Remove the field privacy in the search view since privacy
is not considered as a public field.
task-2285901
closesodoo/odoo#55398
X-original-commit: 0f6a531dcd7bba270ba83627d7140a76459c6d08
Related: odoo/enterprise#12193
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Purpose: Redirect to lead activity view when clicking
on activity systray for leads. The idea is to give the
user a quick overview of his "To Do List" activities.
Specification: The path from the systray (opportunity/leads)
should redirect to the view with the buttons instead of the
one from the pipeline.
On top of the existing filters/domain, it adds the time-based
filter : Today, Late, Future Activities, ...
Task ID-2281254
Community PR odoo#55383
closesodoo/odoo#55413
X-original-commit: 0cee7f48ce44cea6aa31fcace40206eaed5315ca
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Followup of 9c9f477f04e8f4ee9b18092fe894890c2ab31b58 and f8179007f9aa662be7318edeb18426ea1c906c15
In some cases (notably event_crm addon in 13.4) a country record is propagated
instead of a country ID; converting as write values ensure we always deal with
IDs in all cases.
Also add some tests to cover more test cases. Notably phone and email behavior
in 13.3 compared to other fields. For example phone is kept is partner's phone
is void. It may leads to inconsistencies (partner US, Belgian phone number).
We think it is better to keep values and let salesmen change them than
voiding values customer gave.
PR #55390
Task ID-2311981
closesodoo/odoo#55412
X-original-commit: a26735f516e48acb77e234862e17e29be71d7d1d
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Consider a lead with valid email and/or phone. Some process assign a partner
to it, like mass convert. This partner has no email and/or phone. We should
not void lead values for email and/or phone, as this is information loss.
This is a followup of 89ca89ca92 . Test cases are added to try to
avoid future regressions.
Task ID 2311981
PR #54619
X-original-commit: 0b69d98cf4cbd2c99d7c3fb510e324f49652eea5
FIXUP of 9c9f477f04e8f4ee9b18092fe894890c2ab31b58
[FIX] crm_lead: do not erase computed field based on partner
Don't erase the field on the lead if you emptied the field partner_id
but erase them if you select a partner_id that have empty value
for the corresponding field
otherwise you end up with mixed address field.
Make an exception for the phone and the email_from
Keep the value from the lead if the partner_id has no value
for those field
X-original-commit: ed3979f84e65ebfa9534f12196a8fa41cade8370
Issue:
When you write partner_id = False on a lead
it erase all the values computed based on the res.partner
this lead to data loss during the conversion to opportunies
by the lead assignation process
Solution:
Revert to v13.0 behavior, don't erase the value
of the address, phone, email when the partner is set to
False
+ Fix typo in method name
X-original-commit: 21db6cf93fea7d07ec4a8655fc6030a177abc36f
Purpose
=======
Since the 13.0, a regression has been introduced in hr_timesheet.
Considering:
- The account.analytic.line model, representing a timesheet entry
- The project.task model, representing a task, on which we have the fields:
- timesheet_ids: One2many
- planned_hours: Computed (sudo), stored, representing the sum of the timesheet amounts
- An ir.rule restricting the timesheets CRUD to his own only.
A user can only see its own timesheets on a task, but the field "Planned Hours",
which is stored-compute_sudo, should take all the timesheet lines into account
However, when adding a new line and then recomputing the value, no existing line
from another user is binded on self, then the value is erased and saved on the
database.
Specification
=============
This commit introduces a test that illustrates that bad usage of a shared cache.
A correct way to fix this could be to avoid using the cache if an ir.rule is pointing
to the related model. That would force the recomputation in a real sudoed environment.
closesodoo/odoo#55408
Taskid: 2285924
X-original-commit: 50e229fe66b2a82717d4260287e18a875bbd26f5
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
before this commit:
when user provides feedback on chatter without selecting rating stars
it generates an error and prevents from submitting feedback.
in this commit:
changed default_rating_value to zero in order to prevent the error.
now, it is possible to provide feedback without selecting rating stars.
task-2268849
Closes https://github.com/odoo/odoo/pull/52295closesodoo/odoo#55397
X-original-commit: dcb47d03db73b7ca8a18f50cdb14abf704e3ac52
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Three major changes are introduced in this PR:
1. The loading of the action model extensions has been split:
- when calling load, a first promise is returned. It is meant to be
resolved as soon as all the query informations are available.
- a second promise returned by a new method "isReady" is resolved when
all of the extension data have been fetched.
This difference allows to not wait for server calls irrelevant for the
query. By default "isReady" will always wait for a full load call, but
this is meant to be overridden in case optimisations can be made.
2. The local storage logic of the search panel has been moved into the
documents module.
3. Point 2. allows for a variety of optimisations now that we do not have
to constantly wait for a potential default value hidden in the storage.
This is why this PR also introduces a way for the search panel model
extension to sometimes return its query informations sooner than after
being completely loaded.
Enterprise PR: https://github.com/odoo/enterprise/pull/12067closesodoo/odoo#55049
Task: 2284207
Related: odoo/enterprise#12067
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
This commit handles two things:
1) Move the local storage logic of the search panel into the documents
module.
2) This allows for a variety of optimisations now that we do not have to
constantly wait for a potential default value hidden in the storage.
This is why this commit also introduces a way for the search panel model
extension to sometimes return its query informations sooner than after
being completely loaded.
Task 2284207
The loading of the action model extensions have been split in this
commit:
- when calling load, a first promise is returned. It is meant to be
resolved as soon as all the query informations are available.
- a second promise returned by a new method "isReady" is resolved when
all of the extension data have been fetched.
This difference allow to not wait for server calls irrelevant for the
query. By default "isReady" will always wait for a full load call, but
this is meant to be overridden in case optimisations can be made.
Before this commit, the return value of some of the dispatch actions of
the lunch model extension was wrapped inside a promise with the use of
the "async" keyword. This caused the synchronous aspect of all these
methods to be delayed.
Now they are not longer asynchronous.
Use "繁體中文" instead of "正體字"
It is a synonym but it is a bit more formal. It is also more coherent
with "简体中文" used for zh_CN
closesodoo/odoo#55387
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
The direction arrows in the datepicker were switched a first time in
fontawesome_overridden.scss
.o_rtl
..fa-chevron-left,.fa-chevron-right
transform: rotate(-180deg);
and a second time in datepicker.scss
.o_rtl
.bootstrap-datetimepicker-widget
.prev,.next
transform: rotate(180deg);
The buttons were flipped twice
Signed the Odoo CLA
Fixesodoo/odoo#50090Closesodoo/odoo#53369closesodoo/odoo#54880
X-original-commit: 8629fa3fdfddbf24f48a58d5add0fcadca60fba4
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Currently, there are two Kiosk mode menu in the attendance app when
we open the app we can see Two kiosk mode menu one in main menu add
second is a sub-menu of the manager menu.
purpose of this task to remove the Kiosk mode menu which is a submenu
of manager because attedance manager will always have employee officer
right which will enable the kiosk menu of employee on attendance.
closes odoo/odoo#54412
Taskid: 2296263
Closes: #54412
Related: odoo/upgrade#1475
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
The cash difference line created on a statement using a cash journal should use the loss/profit account.
Then, the line is supposed to be marked as reconciled and then, doesn't appear in the bank reconciliation report.
closesodoo/odoo#55336
X-original-commit: 60e32447cc3fda3650aa718cb0996d29976005d4
Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
Signed-off-by: Laurent Smet <smetl@users.noreply.github.com>
Documentation of the affected blocks have been updated to inform about
the contents of the "today" and "now" context values.
closesodoo/odoo#54438
Related: odoo/enterprise#11831
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
Currently, In timesheet module when we update the description of
existing entry and if the description is empty then it generates
required field error.
So in this commit, when a description updated as an empty then we
set a default '/' in the description.
closes odoo/odoo#55370
Taskid: 2301377
Closes: #54726
X-original-commit: 10cecadd05f0349765dc9cdb111e91c2d6d423b4
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
- Install Sales and Sale Matrix
- Go to Sales > Configuration > Settings and activate "Variant Grid Entry"
- Go to Products and edit a product with variants (lets call it "Product A"):
* For "Sales Variant Selection" in "Variants tab", choose "Order Grid Entry"
- Go to Sales > Orders > Quotations and create a quotation
* Add any product without Variant Selection set to "Order Grid Entry"
* Add "Product A" with 1 attribute
* Add any product without Variant Selection set to "Order Grid Entry"
- Here there are 3 products in the quotation with "Product A" at the second position
- Save the quotation
After the save the position of "Product A" is moved to the last position.
In a new quotation, every new order line has a sequence set to 10, except for products
with Variant Selection set to "Order Grid Entry" that set the sequence to the previous one +1,
which will put it in the last position even if another product is added after it.
[All of the above steps and explanations can also be applied to Purchase]
opw-2303096
closesodoo/odoo#55342
X-original-commit: 17c1caec4fefd089586c62c40ac5a2232eed3dcc
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
When someone is applying to any job position from the website
( via the `/website_form/` route ), the `hr.applicant` record
is created by OdooBot, and in such case, the `_compute_user`
method is never triggered as the field `user_id` (Responsible)
already has self.env.uid as default value.
This fix will in priority try to set a proper Responsible (if any
is defined on the job position) via `_compute_user` and then
assign `self.env.uid` if none is found.
closesodoo/odoo#55146
X-original-commit: e9292cb424ec04823dbce964ad4532edc20190c6
Signed-off-by: Toufik Benjaa (tbe) <tbe@odoo.com>
Improve slightly the layout of some forms related to employee and contracts.
Modified modules:
hr
hr_expense
hr_holidays
timesheet_grid
hr_contract_salary
hr_payroll_account
Task ID 2277298
closesodoo/odoo#52981
Related: odoo/enterprise#11156
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Purpose
=======
This commit intends to improve the animations on the leaderboard during survey
sessions. We now show both the ranking of each attendee before and after taking
into account the current question scores.
It allows attendees to see their position in the leaderboard shifting up / down
depending on how well they answered, and adds a bit more interactivity during
the session.
Specs
=====
The code changes to make this happen implied having multiple layers of
animations running one after the other.
The use of async/await in the JS allowed for a much smoother and less indented
code, simplifying the reading.
We now have 2 different "bars" to handle:
The bar that shows the previous leaderboard position.
The bar that shows the current question score.
This means we handle both jQuery items and modify their size & transition
properties depending on our animation.
Unfortunately, all these animations required a lot of testing to find fitting
timings, which means using quite a few setTimeout with "magic" delays.
These were just the most good looking ones and it feels like naming them with
a constant would not really help.
We also slightly improved the graphic font size / styling to make it easier to
read for potentially far away attendees.
Task 2235815
closesodoo/odoo#50991
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Before this commit there is space between alerts. It's not pretty.
It only occur when a mailing is scheduled and mail have already be send (or in progress)
task-2275560
closesodoo/odoo#55376
X-original-commit: 84c5ba24ad5e8a2371e5ca75884298d569bf2844
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This allows the method to be called in RPC
The nil extension has not been enabled as explained at odoo/odoo#12289closesodoo/odoo#55374
Cla: signature for parveenjangra290
X-original-commit: abac62f35c8cd293143e01c137c79519897eb21c
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Before this commit, when being in a settings form view with at
least two items in the breadcrumbs (the settings view preceeded by
another one), clicking on a button to execute an action didn't
properly work: an history back was done instead, thus returning to
the previous action.
For instance, go to Sales (without demo data), click on 'Set
payments' in the onboarding banner, click 'Go to the configuration
panel', and in the settings view click on 'Install More Packages'.
The issue has been introduced by [1], but we couldn't find a
scenario to reproduce it before saas-13.3.
[1] a3845ae3f0
Issue spotted in task 2277314
closesodoo/odoo#55351
X-original-commit: 6ccb108e9a621a672fde715ea78656ffeb6834e5
Signed-off-by: Julien Mougenot (jum) <jum@odoo.com>
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
PURPOSE
Purpose of this merge is to provide several fixes to survey application
notably on conditional configuration and free text sections.
SPECIFICATIONS
This merge fixes multiple issues :
- Free text section display depending of conditional configuration and user input :
For page_per_question and page_per_section layout :
- If the section has a description:
- If the section is empty: show the section
- If the section has questions,
- If any of the section's questions is active: show the section
- Else: hide the section
- Do not compute last question based on conditional questions in session manager
- Do not show leaderboards if no nickname question in survey (if attendees cannot identify themselves).
- Block shortcut key selection after question answered (or time limit ran out) in session mode.
- Only display section if contains questions or description, even on non conditional survey ( + in breadcrumb, in print mode)
- Display only answered question in survey review mode
- Avoid auto Submit when selecting other option
- Restore mistakenly removed back buttons
- Fix is_last_page_or_question
The current question is the last one only if:
- There are no active questions that follows
- AND the current question is not conditionning the display of other questions
See sub-commits for more details.
Task ID-2225393
closesodoo/odoo#55026
Forward-port-of: odoo/odoo#48978
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
Currently, In the project module, the archived/deleted sub-task is
not deducted from the count of the 'sub-tasks' stat button.
Steps to reproduce:
- Go to Project > Configuration > Settings > Enable 'sub-tasks'
- Go to a Project with sub-tasks enabled, open a task and create a sub-task
- Archive/Delete this sub-task
So in this commit, we applied filter on sub-task which show only active
sub-task on the stat button.
closes odoo/odoo#55347
Taskid: 2304887
Closes: #54904
X-original-commit: 81db237e3324922ff16f2b290922f21d98046738
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This allows get to be simplified to only handle local id.
Part of task-2308312
closesodoo/odoo#55346
X-original-commit: fa013d1d29e64706a08499d0f564327766410f8e
Related: odoo/enterprise#12159
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
- use Map for _toComputeFields
- factorize const access out of loops
- avoid Object.entries
- introduces `exists` method to avoid costly call to `get`
- ensure compute are using update to trigger potential _updateAfter
Part of task-2308312
X-original-commit: e364886c2450872a7e42cef549f253b10e55158d