diff --git a/addons/google_calendar/models/google_sync.py b/addons/google_calendar/models/google_sync.py index ad09d16c2d18ba28937a9c846819cb0a29f20167..95e3c36373218b47692651286b76974a708157b4 100644 --- a/addons/google_calendar/models/google_sync.py +++ b/addons/google_calendar/models/google_sync.py @@ -70,7 +70,7 @@ class GoogleSync(models.AbstractModel): def write(self, vals): google_service = GoogleCalendarService(self.env['google.service']) if 'google_id' in vals: - self._from_google_ids.clear_cache(self) + self._event_ids_from_google_ids.clear_cache(self) synced_fields = self._get_google_synced_fields() if 'need_sync' not in vals and vals.keys() & synced_fields: vals['need_sync'] = True @@ -85,7 +85,7 @@ class GoogleSync(models.AbstractModel): @api.model_create_multi def create(self, vals_list): if any(vals.get('google_id') for vals in vals_list): - self._from_google_ids.clear_cache(self) + self._event_ids_from_google_ids.clear_cache(self) records = super().create(vals_list) google_service = GoogleCalendarService(self.env['google.service']) @@ -111,12 +111,15 @@ class GoogleSync(models.AbstractModel): return True return super().unlink() - @api.model - @ormcache_context('google_ids', keys=('active_test',)) def _from_google_ids(self, google_ids): if not google_ids: return self.browse() - return self.search([('google_id', 'in', google_ids)]) + return self.browse(self._event_ids_from_google_ids(google_ids)) + + @api.model + @ormcache_context('google_ids', keys=('active_test',)) + def _event_ids_from_google_ids(self, google_ids): + return self.search([('google_id', 'in', google_ids)]).ids def _sync_odoo2google(self, google_service: GoogleCalendarService): if not self: