Skip to main content
iVentureTeam

mail_activity_mixin_list_reschedule_dropdown

The same three-option dropdown, on a list of leads or tasks rather than activities. It moves your next activity on that record.

Siddharth JambukiyaSiddharth JambukiyaOdoo Techno-Functional Consultant
August 27, 2026Updated August 27, 20264 min read
Technical namemail_activity_mixin_list_reschedule_dropdown
Viewslist (view widget, <widget> element)
Modulemail, present in every Odoo database
Used in coreLists of records inheriting the activity mixin in mail
VersionsOdoo 20.0, Odoo 19.0, Odoo 18.0, Odoo 17.0
No-code setupNo. It is set in view XML and depends on module-specific data
Alternativesmail_activity_list_reschedule_dropdown, list_activity, remaining_days

What the mixin reschedule does

An activity that is overdue usually needs one of three answers: today, tomorrow, or next week. Opening the reschedule dialog to pick one of three dates is more ceremony than the decision deserves.

These two widgets are a small dropdown offering exactly those three, computed from the current date so the labels read as weekday names rather than as dates. Choosing one calls a server method that moves the activity.

After the call the whole list is reloaded, because rescheduling changes which records match the filter that produced it.

What this means for your team

Activity backlogs are the quiet failure mode of a CRM. They build up because rescheduling costs more effort than ignoring, and once a list is mostly overdue nobody reads it at all.

Three-click rescheduling directly attacks that. It is worth pairing with a rule about what a next week deferral means, because the widget makes deferring as easy as doing.

Supported options in Odoo 19

The widget takes the standard view widget props and declares no options. It inherits everything from the activity list variant except the three method names, listed below. Read from the activity list reschedule source, Odoo 19.0.

OptionTypeWhat it does
the overridden action namesthree server methodsReplaced after the parent setup to target the current user's next activity on the record.
the three labelsinherited, computed at setupWeekday names for today, tomorrow and the start of next week.
listViewWidthregistration hintShared with the parent registration. Keeps the column narrow.(default: [50, 100])

The override is three strings. The subclass calls the parent setup then replaces the three action names with their my next equivalents. That is the entire difference between the two widgets.

Working examples

Placing it

<widget name="mail_activity_mixin_list_reschedule_dropdown"/>

Inside a list of leads, tasks or similar.

What differs from the parent

# three method names, replaced after super setup
action_reschedule_my_next_*

Everything else is inherited.

The activity list variant

<widget name="mail_activity_list_reschedule_dropdown"/>

For lists of activity records themselves.

A subclass that changes three strings

The three labels are computed at setup from the current date: today's weekday name, tomorrow's, and the first day of next week. That means the dropdown reads as weekday names, which is easier to act on than a date.

Each entry carries the name of a server method rather than a date. That is the important design choice: the browser never computes a target date, it names an intent and lets the server decide what today, tomorrow and next week mean given working days and calendars.

The action is dispatched as an object button against the record, with a close handler that reloads the list root and notifies the model. Both are needed: the reload fetches the new state, and the notification makes the list redraw.

The two registrations share a listing width hint of fifty to one hundred, which is what stops the dropdown column from claiming space it does not need.

The mixin variant differs in one respect only. It overrides the three method names after calling the parent setup, pointing at the my next variants, because on a business record the target is the user's own next activity rather than the activity record itself.

Version compatibility

VersionStatusNotes
Odoo 20.0In developmentNot released. Converted to newer conventions on the development branch.
Odoo 19.0VerifiedVerified against the shipped source.
Odoo 18.0VerifiedSame three options and both registrations.
Odoo 17.0VerifiedSame approach with older component conventions.
Odoo 16.0Not availableWidget does not exist.

Upgrade note. Present since Odoo 17 alongside its parent. The two have shipped together from the start and share a file, so an upgrade needs no attention here.

What is changing in Odoo 20

Odoo 20 is expected at Odoo Experience in Brussels, 24 to 26 September 2026. The development branch is unstable and this may still change; we re-verify this page after the release.

Converted to newer conventions. The development branch updates the shared file to the newer props and dropdown conventions. The method name override is unchanged.

Common problems and fixes

SymptomCause and fix
The list does not refreshThe close handler reloads the root and notifies the model; one of those did not run. Reload the view manually and check for an error during the call.
The new date is not what I expectedThe server decides what today, tomorrow and next week mean. Check the working calendar; the browser only names the intent.
The rescheduled record disappearsIt no longer matches the filter that produced the list. Expected. Widen the filter to see it.
The column is too narrowThe registration hints a width between fifty and one hundred. Expected; the dropdown is meant to be compact.
The wrong activity movesThe two variants target different things. Use the activity variant on activity lists and the mixin variant on business records.
Nothing happens on selectionThe named method does not exist on that model. Check the model inherits the expected mixin.

Mixin reschedule vs the alternatives

WidgetBest forKey difference
mail_activity_mixin_list_reschedule_dropdownRescheduling your next activity from a list of leads, tasks or similar recordsThe activity list dropdown with three method names pointed at the user's own next activity
mail_activity_list_reschedule_dropdownLists of activity recordsTargets the activity record itself
list_activityThe activity summary on a rowA summary rather than a reschedule control
remaining_daysShowing how overdue something isDisplays rather than changes a date

The activity list variant is the one to use on lists of activity records. Opening the record and using its activity panel remains right when more than the date needs changing.

Frequently asked questions

How does this differ from the other variant?+
It calls the parent setup and then replaces three server method names with their my next equivalents, so the target is the user's own next activity on the record.
Why is the target the user's own activity?+
Because a lead or task row can carry activities for several people, and the one you want to move from your list is yours.
Are the labels different?+
No. The three weekday labels are inherited and computed at setup from the current date.
Why are both registered from one file?+
So they cannot drift apart. The subclass is a few lines and everything else is shared.
Which versions have it?+
Odoo 17 onwards, alongside its parent. The development branch converts the shared file to newer conventions.

Follow-ups that actually get followed up

Next activity design decides whether your pipeline reflects work or wishful thinking. We configure Odoo activities and reminders around your sales and delivery process, on versions 16 through 19.

Book a free consultation

How this page was produced

The weekday labels computed from the current date, the named server methods rather than computed dates, the object button dispatch with its list reload and model notification, the listing width hint and the mixin variant's method name override were read from the activity list reschedule source on the Odoo 19.0 branch. Version coverage comes from comparing the file across the 17.0 and 18.0 branches and its absence on 16.0, plus a comparison against the public development branch. Spotted an error? Tell us and we will correct the page.