TIP: You can type at any time to perform a new search.
Mail Activity Team
mail_activity_team · OCA/mail
- Repository
- OCA/mail · module folder · Try on Runboat
- Module version
- Category
- Social Network
- Folder size
- 0.2 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/mail
- Last tracking update
- 2026-08-17 18:05:56
- Authors
- Odoo Community Association (OCA), Sodexis, ForgeFlow
- Maintainers
- Odoo Community Association (OCA), Sodexis, ForgeFlow
- Committers
- GitHub, Carlos Lopez, Christopher Rogos, Weblate, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
This module adds the possibility to assign teams to activities.
Code Analysis ⓘ
Views touched (13)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
mail_activity_plan_template_view_form |
mail.activity.plan.template | form | Inherits mail.mail_activity_plan_template_view_form | |
mail_activity_plan_view_form |
mail.activity.plan | form | Inherits mail.mail_activity_plan_view_form | |
mail_activity_schedule_view_form |
mail.activity.schedule | form | Inherits mail.mail_activity_schedule_view_form | |
mail_activity_team_view_form |
mail.activity.team.view.form | mail.activity.team | form | New |
mail_activity_team_view_search |
mail.activity.team.view.search | mail.activity.team | search | New |
mail_activity_team_view_tree |
mail.activity.team.view.tree | mail.activity.team | list | New |
mail_activity_type_form_view |
mail.activity.type.form (in mail_activity_team) | mail.activity.type | activity | Inherits mail.mail_activity_type_view_form |
mail_activity_view_form_popup |
mail.activity.view.form.popup | mail.activity | form | Inherits mail.mail_activity_view_form_popup |
mail_activity_view_kanban_open_target |
mail.activity.boards.view.kanban | mail.activity | kanban | Inherits mail.mail_activity_view_kanban_open_target |
mail_activity_view_search |
mail.activity.boards.view.search | mail.activity | search | Inherits mail.mail_activity_view_search |
mail_activity_view_tree |
mail.activity.view.tree | mail.activity | tree | Inherits mail.mail_activity_view_tree |
view_server_action_form_template |
ir.actions.server | form | Inherits mail.view_server_action_form_template | |
view_users_form_activity_teams |
res.users.form.activity.team | res.users | activity | Inherits base.view_users_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (8)
New fields (1)
-
activity_team_idMany2one → mail.activity.teamargs: 'mail.activity.team'
-
onchange_activity_team_id(self)@api.onchange('activity_team_id')
New fields (3)
-
team_idMany2one → mail.activity.teamcomodel_name='mail.activity.team'compute='_compute_team_id'index=Truereadonly=Falsestore=True -
team_user_idMany2onereadonly=Falserelated='user_id'string='Team user' -
user_idMany2onedefault=Falserequired=False
-
action_notify(self)Override to notify team members when notify_members is enabled. -
action_notify_team(self) -
create(self, vals_list)@api.model_create_multi -
write(self, values)
New fields (1)
-
activity_team_user_idsMany2many → res.userscomodel_name='res.users'compute='_compute_activity_team_user_ids'search='_search_activity_team_user_ids'string='test field'
-
activity_schedule(self, act_type_xmlid='', date_deadline=None, summary='', note='', **act_values)With automatic activities, the user onchange won't act so we must ensure the right group is set and no exceptions are raised due to user-team missmatch. We can hook onto `act_values` dict as it's passed to the create activity method. -
web_search_read(self, domain, specification, offset=0, limit=None, order=None, count_limit=None)@api.modelIntercept the queries from the systray widget and apply team search. This allows the frontend widget to direct the user to their team activities Late/Today/Future.
New fields (5)
-
activity_team_idMany2one → mail.activity.teamcomodel_name='mail.activity.team'compute='_compute_activity_team_id'ondelete='restrict'readonly=Falsestore=Truestring='Team assigned to' -
activity_team_requiredBooleancompute='_compute_activity_team_required'help='Indicate if this plan template must have an activity team' -
activity_team_user_idMany2one → res.userscomodel_name='res.users'compute='_compute_activity_team_user_id'help='The team member that the activity will be assigned to specifically'readonly=Falsestore=Truestring='Team user' -
responsible_idMany2onecompute='_compute_responsible_id'readonly=Falsestore=True -
responsible_typeSelectionondelete={'team': 'set default'}selection_add=[('team', 'Team')]
No public methods.
New fields (2)
-
activity_team_idMany2one → mail.activity.teamcompute='_compute_activity_team_id'readonly=Falsestore=True args: 'mail.activity.team', 'Team assigned to' -
activity_team_user_idMany2onereadonly=Falserelated='activity_user_id'store=Truestring='Team user'
-
action_schedule_plan(self)
New fields (7)
-
activeBooleandefault=True -
count_missing_activitiesIntegercompute='_compute_missing_activities'default=0string='Missing Activities' -
member_idsMany2many → res.userscomodel_name='res.users'relation='mail_activity_team_users_rel'string='Team Members' -
nameCharrequired=Truetranslate=True -
notify_membersBooleandefault=Falsehelp='When enabled, all team members will be notified when an activity is assigned to this team.' -
res_model_idsMany2many → ir.modelcomodel_name='ir.model'domain=<expr>string='Used models' -
user_idMany2one → res.userscomodel_name='res.users'string='Team Leader'
-
assign_team_to_unassigned_activities(self)
New fields (1)
-
default_team_idMany2one → mail.activity.teamcomodel_name='mail.activity.team'
No public methods.
New fields (1)
-
activity_team_idsMany2many → mail.activity.teamcomodel_name='mail.activity.team'relation='mail_activity_team_users_rel'string='Activity Teams'
No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…