TIP: You can type at any time to perform a new search.
Announcement
announcement · OCA/server-ux
- Repository
- OCA/server-ux · module folder · Try on Runboat
- Module version
- 1.0.1
- Category
- Server UX
- Folder size
- 0.23 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/server-ux
- Last tracking update
- 2026-08-07 08:42:52
- Authors
- Odoo Community Association (OCA), Tecnativa
- Maintainers
- Odoo Community Association (OCA), Tecnativa
- Committers
- Víctor Martínez, OCA-git-bot, oca-ci, David Bañón
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
This module adds popup announcements in the backend for targeted internal users. Those announcements can contain rich format and a user read log is kept for everyone.
Code Analysis ⓘ
Views touched (11)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
announcement_log_view_tree |
announcement.log | list | New | |
announcement_management_view_form |
announcement | form | Inherits announcement_view_form | |
announcement_management_view_tree |
announcement | list | Inherits announcement_view_tree | |
announcement_tag_view_form |
announcement.tag | form | New | |
announcement_tag_view_tree |
announcement.tag | list | New | |
announcement_view_calendar |
announcement | calendar | New | |
announcement_view_form |
announcement | form | New | |
announcement_view_kanban |
announcement | kanban | New | |
announcement_view_search |
announcement | search | New | |
announcement_view_tree |
announcement | list | New | |
read_announcement_wizard_view_tree |
read.announcement.wizard | list | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (6)
New fields (20)
-
activeBooleancopy=False -
allowed_user_idsMany2many → res.userscomodel_name='res.users'compute='_compute_allowed_user_ids'compute_sudo=Truerelation='announcement_res_users_allowed_rel'store=True -
allowed_users_countIntegercompute='_compute_allowed_user_ids'compute_sudo=Truestore=True -
announcement_log_idsOne2many → announcement.logcomodel_name='announcement.log'inverse_name='announcement_id' -
announcement_typeSelectiondefault='specific_users'required=Trueselection=[('specific_users', 'Specific users'), ('user_group', 'User groups')] -
attachment_idsMany2many → ir.attachmentcomodel_name='ir.attachment'help='You can attach the copy of your Letter'string='Attachments' -
colorIntegercompute='_compute_color'help='Technical field to display items by color in the calendar' -
contentHtml -
in_dateBooleancompute='_compute_in_date'compute_sudo=Truesearch='_search_in_date' -
is_general_announcementBooleanargs: 'General Announcement' -
nameCharrequired=Truestring='Title' -
notification_dateDatetime -
notification_end_dateDatetimecompute='_compute_notification_end_date'help='Technical field to display announcements in the calendar view' -
notification_expiry_dateDatetime -
notification_start_dateDatetimecompute='_compute_notification_start_date'help='Technical field to display announcements in the calendar view' -
read_announcement_countIntegercompute='_compute_read_announcement_count'store=True -
sequenceInteger -
specific_user_idsMany2many → res.userscomodel_name='res.users'context={'active_test': False}domain=[('share', '=', False)]inverse='_inverse_specific_user_ids' -
tag_idsMany2many → announcement.tagcolumn1='announcement_id'column2='tag_id'comodel_name='announcement.tag'string='Tags' -
user_group_idsMany2many → res.groupscomodel_name='res.groups'compute='_compute_user_group_ids'readonly=Falsestore=True
-
action_announcement_log(self)See altogether read logs and unread users -
create(self, vals_list)@api.model_create_multiAdjust attachments for being accesible to receivers of the announcement. -
write(self, vals)Adjust attachments for being accesible to receivers of the announcement. Adjust unread_announcement_ids when specific users are modified (if users are removed).
New fields (1)
-
announcement_idMany2one → announcementcomodel_name='announcement'
No public methods.
New fields (4)
-
colorInteger -
company_idMany2one → res.companycomodel_name='res.company'help='Company related to this tag'index=Truestring='Company' -
nameCharrequired=Truetranslate=True -
parent_idMany2one → announcement.tagcomodel_name='announcement.tag'index=Trueondelete='cascade'string='Parent Tag'
No public methods.
New fields (0)
No new fields.
Public methods (1)-
session_info(self)
New fields (4)
-
announcement_idMany2one → announcementcomodel_name='announcement' -
dateDatetimestring='Read Date' -
read_stateSelectionselection=[('read', 'Read'), ('unread', 'Unread')] -
user_idMany2one → res.userscomodel_name='res.users'
No public methods.
New fields (2)
-
read_announcement_idsMany2many → announcementcomodel_name='announcement'relation='read_announcement_user_rel' -
unread_announcement_idsMany2many → announcementcomodel_name='announcement'relation='unread_announcement_user_rel'
-
announcement_user_count(self)@api.modelThe js widget gathers the announcements from this method -
get_announcements(self)@api.model -
mark_announcement_as_read(self, announcement_id)@api.modelUsed as a controller for the widget
Loading…
Loading…
Loading…
Loading…