Repository
OCA/server-backend · module folder · Try on Runboat
Module version
1.0.0
Category
Tools
Folder size
0.09 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/server-backend
Last tracking update
2026-08-07 08:43:03
Authors
Odoo Community Association (OCA), Hunki Enterprises BV
Maintainers
Odoo Community Association (OCA), Hunki Enterprises BV
Committers
Holger Brunn, Weblate, OCA-git-bot, oca-ci
Odoo dependencies
odoo/odoo:
- web
Python dependencies
vobject
System dependencies
None
Required by
None
Description
This module allows administrators to configure iCalendars based on an
arbitrary selection on arbitrary models.

Users can selectively subscribe to them by enabling them in their
profile form.

This is useful for exposing Odoo data to calendaring application like
Nextcloud.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
view_base_ical_form base.ical form New
view_base_ical_tree base.ical list New
view_icalendar_url_description_form iCalendar: Show Url base.ical.url.description form New
view_icalendar_url_show_form iCalendar: Show Url base.ical.url.show form New
view_res_users_form res.users form Inherits base.view_users_form_simple_modif
HTTP endpoints (1)
Route(s)HandlerAuthTypeMethodsFlags
/base_ical/<int:calendar_id> ICalController.get_ical none http GET csrf off
Models touched (4)

New fields (17)
  • active Boolean
    default=True
  • allowed_users_ids Many2many → res.users
    args: 'res.users'
  • auto Boolean
    copy=False help='If you check this, the calendar will be enabled for all current and future users. Note that unchecking this will not disable existing calendar subscriptions' args: 'Allow automatically'
  • auto_group_ids Many2many → res.groups
    default=<expr> help='Only users of selected groups will be auto-allowed. Leave empty for all users' relation='base_ical_auto_groups_rel' string='Groups' args: 'res.groups'
  • code Text
  • domain Char
    default='[]' help='You can use variables `env` and `user` here' required=True
  • expression_dtend Char
    help='You can use variables `record` and `user` here' string='DTEND' vevent_field='dtend'
  • expression_dtstamp Char
    default='record.write_date' help='You can use variables `record` and `user` here' string='DTSTAMP' vevent_field='dtstamp'
  • expression_dtstart Char
    help='You can use variables `record` and `user` here' string='DTSTART' vevent_field='dtstart'
  • expression_summary Char
    default='record.display_name' help='You can use variables `record` and `user` here' string='SUMMARY' vevent_field='summary'
  • expression_uid Char
    help='You can use variables `record` and `user` here' string='UID' vevent_field='uid'
  • help_text Html
    compute='_compute_help'
  • mode Selection
    default='simple' required=True args: '_get_operating_modes'
  • model Char
    related='model_id.model' args: 'Model Name'
  • model_id Many2one → ir.model
    ondelete='cascade' required=True args: 'ir.model'
  • name Char
    required=True translate=True
  • preview Text
    compute='_compute_preview'
Public methods (4)
  • action_new_url(self)
    Create or activate current user's token
  • create(self, vals_list)
    @api.model_create_multi
    Enable calendar for all users if auto flag is checked
  • default_variables(self)
  • write(self, vals)
    Enable calendar for all users if auto flag is checked

New fields (2)
  • calendar_id Many2one → base.ical
    required=True args: 'base.ical'
  • name Char
    required=True args: 'Description'
Public methods (1)
  • make_url(self)
    @check_identity

New fields (2)
  • id Id
  • url Char
    readonly=True
Public methods (0)

No public methods.

New fields (1)
  • ical_ids One2many → base.ical
    compute='_compute_ical_ids' args: 'base.ical'
Public methods (2)
  • SELF_READABLE_FIELDS(self)
    @property
  • create(self, vals_list)
    @api.model_create_multi

Loading…