Repository
odoo/odoo · module folder
Module version
1.0
Category
Productivity
Folder size
1.67 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
None
Last tracking update
2026-08-15 22:44:17
Authors
Odoo S.A.
Maintainers
Odoo S.A.
Committers
Xavier Morel, Raphael Collet, Thibault Delavallée, Odoo Translation Bot, Denis Ledoux, Aaron Bohy, Jeremy Kersten, Christophe Monniez, Julien Castiaux, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Arnaud Joset, William Braeckman, Romain Estievenart, Renaud Thiry, tsm-odoo, Pedram (PEBR), amdi-odoo, Dylan Kiss (dyki), Adrien Schoffeniels, bram1000, Pedram (pebr), omra-odoo, Giang Pham, sesn-odoo, Gabriel (gdpf), Tanguy Quéguineur, abdelrahmanfawzy, nikj-odoo, Michaël Mattiello, kpt-odoo, Krzysztof Magusiak (krma), sagu-odoo, Sylvio Poliart (sypol), mojem, MostafaTwfiq, chpa-odoo, FedericoBraidi
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
google_calendar_reset_account_view_form google.calendar.account.reset.form google.calendar.account.reset form New
res_config_settings_view_form res.config.settings.view.form.inherit.google.calendar res.config.settings calendar Inherits calendar.res_config_settings_view_form
view_google_calendar_event google_calendar.event.calendar calendar.event calendar Inherits calendar.view_calendar_event_calendar
view_users_form res.users.form res.users form Inherits calendar.res_users_view_form
HTTP endpoints (2)
Route(s)HandlerAuthTypeMethodsFlags
(inherited route override) GoogleCalendarController.check_calendar_credentials inherited http ALL
/google_calendar/sync_data GoogleCalendarController.google_calendar_sync_data user jsonrpc ALL sudo
Models touched (9)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (3)
  • do_accept(self)
  • do_decline(self)
  • do_tentative(self)

New fields (3)
  • google_id Char
    compute='_compute_google_id' readonly=False store=True args: 'Google Calendar Event Id'
  • guests_readonly Boolean
    default=False args: 'Guests Event Modification Permission'
  • videocall_source Selection
    ondelete={'google_meet': 'set discuss'} selection_add=[('google_meet', 'Google Meet')]
Public methods (3)
  • action_mass_archive(self, recurrence_update_setting)
    Delete recurrence in Odoo if in 'all_events' or in 'future_events' edge case, triggering one mail.
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (3)
  • delete_policy Selection
    default='dont_delete' help='This will only affect events for which the user is the owner' required=True string="User's Existing Events" args: [('dont_delete', 'Leave them untouched'), ('delete_google', 'Delete from the current Google Calendar account'), ('delete_odoo', 'Delete from Odoo'), ('delete_both', 'Delete from both')]
  • sync_policy Selection
    default='new' required=True string='Next Synchronization' args: [('new', 'Synchronize only new events'), ('all', 'Synchronize all existing events')]
  • user_id Many2one → res.users
    required=True args: 'res.users'
Public methods (1)
  • reset_account(self)

New fields (3)
  • active Boolean
    default=True
  • google_id Char
    copy=False index='btree_not_null' args: 'Google Calendar Id'
  • need_sync Boolean
    copy=False default=True
Public methods (3)
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)
    We can't delete an event that is also in Google Calendar. Otherwise we would have no clue that the event must must deleted from Google Calendar at the next sync.
  • write(self, vals)

New fields (3)
  • cal_client_id Char
    config_parameter='google_calendar_client_id' default='' args: 'Client_id'
  • cal_client_secret Char
    config_parameter='google_calendar_client_secret' default='' args: 'Client_key'
  • cal_sync_paused Boolean
    config_parameter='google_calendar_sync_paused' help='Indicates if synchronization with Google Calendar is paused or not.' args: 'Google Synchronization Paused'
Public methods (0)

No public methods.

New fields (6)
  • google_calendar_cal_id Char
    groups='base.group_system' related='res_users_settings_id.google_calendar_cal_id'
  • google_calendar_rtoken Char
    groups='base.group_system' related='res_users_settings_id.google_calendar_rtoken'
  • google_calendar_sync_token Char
    groups='base.group_system' related='res_users_settings_id.google_calendar_sync_token'
  • google_calendar_token Char
    groups='base.group_system' related='res_users_settings_id.google_calendar_token'
  • google_calendar_token_validity Datetime
    groups='base.group_system' related='res_users_settings_id.google_calendar_token_validity'
  • google_synchronization_stopped Boolean
    groups='base.group_system' readonly=False related='res_users_settings_id.google_synchronization_stopped'
Public methods (7)
  • check_calendar_credentials(self)
    @api.model
  • check_synchronization_status(self)
  • is_google_calendar_synced(self)
    True if Google Calendar settings are filled (Client ID / Secret) and user calendar is synced meaning we can make API calls, false otherwise.
  • pause_google_synchronization(self)
  • restart_google_synchronization(self)
  • stop_google_synchronization(self)
  • unpause_google_synchronization(self)

New fields (6)
  • google_calendar_cal_id Char
    copy=False groups='base.group_system' help='Last Calendar ID who has been synchronized. If it is changed, we remove all links between GoogleID and Odoo Google Internal ID' args: 'Calendar ID'
  • google_calendar_rtoken Char
    copy=False groups='base.group_system' args: 'Refresh Token'
  • google_calendar_sync_token Char
    copy=False groups='base.group_system' args: 'Next Sync Token'
  • google_calendar_token Char
    copy=False groups='base.group_system' args: 'User token'
  • google_calendar_token_validity Datetime
    copy=False groups='base.group_system' args: 'Token Validity'
  • google_synchronization_stopped Boolean
    copy=False groups='base.group_system' args: 'Google Synchronization stopped'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…