def _google_delete(self, google_service: GoogleCalendarService, google_id, timeout=TIMEOUT): with google_calendar_token(self.env.user.sudo()) as token: if token: google_service.delete(google_id, token=token, timeout=timeout) # When the record has been deleted on our side, we need to delete it on google but we don't want # to raise an error because the record don't exists anymore. self.exists().need_sync = False
def reset_account(self): google = GoogleCalendarService(self.env['google.service']) events = self.env['calendar.event'].search([ ('user_id', '=', self.user_id.id), ('google_id', '!=', False)]) if self.delete_policy in ('delete_google', 'delete_both'): with google_calendar_token(self.user_id) as token: for event in events: google.delete(event.google_id, token=token) if self.delete_policy in ('delete_odoo', 'delete_both'): events.google_id = False events.unlink() if self.sync_policy == 'all': events.write({ 'google_id': False, 'need_sync': True, }) self.user_id.google_cal_account_id._set_auth_tokens(False, False, 0) self.user_id.write({ 'google_calendar_sync_token': False, 'google_calendar_cal_id': False, })
def _google_delete(self, google_service: GoogleCalendarService, google_id, timeout=TIMEOUT): with google_calendar_token(self.env.user.sudo()) as token: if token: google_service.delete(google_id, token=token, timeout=timeout) self.need_sync = False