TIP: You can type at any time to perform a new search.
Calendar
base_calendar · odoo/odoo
Security findings
Security warnings
access_calendar_attendee— ACL grants write/create/unlink on 'model_calendar_attendee' to every user (portal/public included): no group is set. Verify record rules and test access as an unrelated public/portal user. acl-global-write · source
Found by automated static analysis: these patterns are usually risky, but only a manual review of the module can confirm a real issue.
Migration considerations
- Imports from the old `openerp.osv` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools.translate` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.addons.base_status.base_state` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.osv` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.service` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools.translate` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- For a target of Odoo 10.0+: use the `__manifest__.py` manifest name instead of `__openerp__.py`. The filename alone does not establish module age or compatibility. migration-openerp-manifest · source
calendar_alarm— Class 'calendar_alarm' still inherits from the old-style `osv.osv` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourcecalendar_alarm— Class 'calendar_alarm' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecalendar_alarm— Class 'calendar_alarm' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecalendar_attendee— Class 'calendar_attendee' still inherits from the old-style `osv.osv` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourcecalendar_attendee— Class 'calendar_attendee' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecalendar_attendee— Class 'calendar_attendee' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecalendar_event— Class 'calendar_event' still inherits from the old-style `osv.osv` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourcecalendar_event— Class 'calendar_event' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecalendar_event— Class 'calendar_event' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecalendar_todo— Class 'calendar_todo' still inherits from the old-style `osv.osv` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourcecalendar_todo— Class 'calendar_todo' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecrm_meeting— Class 'crm_meeting' still inherits from the old-style `osv.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourcecrm_meeting— Class 'crm_meeting' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecrm_meeting— Class 'crm_meeting' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcecrm_meeting_type— Class 'crm_meeting_type' still inherits from the old-style `osv.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourcecrm_meeting_type— Class 'crm_meeting_type' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceevent_form_view— For a target of Odoo 17.0+: view 'event_form_view' uses `attrs=`/`states=`, which are no longer supported. Convert modifiers to direct Python boolean expressions in `invisible`/`readonly`/`required`; preserve the original AND/OR logic. migration-view-attrs-states · sourceinvite_wizard— Class 'invite_wizard' still inherits from the old-style `osv.osv_memory` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceir_attachment— Class 'ir_attachment' still inherits from the old-style `osv.osv` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceir_model— Class 'ir_model' still inherits from the old-style `osv.osv` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceir_values— Class 'ir_values' still inherits from the old-style `osv.osv` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourcemail_message— Class 'mail_message' still inherits from the old-style `osv.osv` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceres_alarm— Class 'res_alarm' still inherits from the old-style `osv.osv` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceres_alarm— Class 'res_alarm' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceres_alarm— Class 'res_alarm' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceview_crm_meeting_form— For a target of Odoo 17.0+: view 'view_crm_meeting_form' uses `attrs=`/`states=`, which are no longer supported. Convert modifiers to direct Python boolean expressions in `invisible`/`readonly`/`required`; preserve the original AND/OR logic. migration-view-attrs-states · sourceevent_tree_view— View 'event_tree_view' is defined with a `<tree>` root tag: renamed to `<list>` in Odoo 18.0. migration-view-tree-tag · sourceres_alarm_tree_view— View 'res_alarm_tree_view' is defined with a `<tree>` root tag: renamed to `<list>` in Odoo 18.0. migration-view-tree-tag · sourceview_crm_meeting_tree— View 'view_crm_meeting_tree' is defined with a `<tree>` root tag: renamed to `<list>` in Odoo 18.0. migration-view-tree-tag · sourceview_crm_meeting_type_tree— View 'view_crm_meeting_type_tree' is defined with a `<tree>` root tag: renamed to `<list>` in Odoo 18.0. migration-view-tree-tag · source
Migration review checklist, not a compatibility verdict. No target version is selected: apply version-specific advice only when migrating to that version or later.
- Repository
- odoo/odoo · module folder
- Module version
- 1.0
- Category
- Hidden/Dependency
- Folder size
- 2.75 MB
- License
- LGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- http://www.openerp.com
- Last tracking update
- 2026-08-07 04:50:03
- Authors
- OpenERP SA
- Maintainers
- OpenERP SA
- Committers
- Rucha (Open ERP), Quentin (OpenERP), Bharat Devnani (OpenERP), Antony Lesuisse, niv-openerp, Vo Minh Thu, pso (OpenERP), Olivier Dony, Stephane Wirtel, Mayur Maheshwari (OpenERP), Launchpad Translations on behalf of openerp, Kuldeep Joshi (OpenERP), Fabien Pinckaers, Raphael Collet, Christophe Simonis, Harry (OpenERP), Thibault Delavallée, Jagdish Panchal (Open ERP), Meera Trambadia (OpenERP), Jigar Amin - OpenERP, Martin Trigaux, Bhumika (OpenERP), Atul Patel (OpenERP), Jigar Amin, Turkesh Patel (Open ERP), Divyesh Makwana (Open ERP), Pinakin Nayi (OpenERP), Mohammed Shekha, Sanjay Gohel (Open ERP), Purnendu Singh (OpenERP), Ravish Murari (OpenERP), Bhumi Thakkar (Open ERP), Frédéric van der Essen, Saurang Suthar (OpenERP), pankita shah (Open ERP), Jalpesh Patel (OpenERP), vta vta@openerp.com, Twinkle Christian (OpenERP), Twinkle (OpenERP), Foram Katharotiya (OpenERP), Hardik, Cecile Tonglet, Antonin Bourguignon, ajay javiya (OpenERP), Amit Patel (OpenERP), Sbh (Openerp), Randhir Mayatra (OpenERP), Odoo Translation Bot, Ajay Chauhan (OpenERP), Christophe Matthieu, Arnaud Pineux, Denis Ledoux, Rajesh Prajapati (OpenERP), help, Cedric Snauwaert, dle@openerp.com, Nicolas Martinelli, jir, dhr
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- base_report_to_printer, crm, hr_evaluation, hr_holidays, hr_recruitment, opl_all
- Description
This is a full-featured calendar system. ======================================== It supports: ------------ - Calendar of events - Recurring events If you need to manage your meetings, you should install the CRM module.
Code Analysis
Views touched (12)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
event_calendar_view |
Events Calendar | calendar.event | calendar | New |
event_form_view |
Event Form | calendar.event | form | New |
event_tree_view |
Event Tree | calendar.event | tree | New |
res_alarm_form_view |
res.alarm.form | res.alarm | form | New |
res_alarm_tree_view |
res.alarm.tree | res.alarm | tree | New |
view_calendar_event_filter |
Calendar Events Search | calendar.event | search | New |
view_crm_meeting_calendar |
CRM - Meetings Calendar | crm.meeting | calendar | New |
view_crm_meeting_form |
CRM - Meetings Form | crm.meeting | form | New |
view_crm_meeting_gantt |
CRM - Meetings Gantt | crm.meeting | gantt | New |
view_crm_meeting_search |
CRM - Meetings Search | crm.meeting | search | New |
view_crm_meeting_tree |
CRM - Meetings Tree | crm.meeting | tree | New |
view_crm_meeting_type_tree |
Meeting Types Tree | crm.meeting.type | tree | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (2)
New fields (0)
No new fields.
Public methods (5)-
check_partners_email(self, cr, uid, partner_ids, context=None)Verify that selected partner_ids have an email_address defined. Otherwise throw a warning. -
copy(self, cr, uid, id, default=None, context=None) -
message_get_subscription_data(self, cr, uid, ids, context=None) -
message_post(self, cr, uid, thread_id, body='', subject=None, type='notification', subtype=None, parent_id=False, attachments=None, context=None, **kwargs) -
onchange_partner_ids(self, cr, uid, ids, value, context=None)The basic purpose of this method is to check that destination partners effectively have email addresses. Otherwise a warning is thrown. :param value: value format: [[6, 0, [3, 4]]]
New fields (0)
No new fields.
Public methods (0)No public methods.
Loading…