[IMP] base_ical: Allow advanced snippets. Use apikeys with scope.

This commit is contained in:
fkantelberg
2024-04-23 18:44:20 +02:00
parent 1e6b6ceda7
commit d7f8964db6
17 changed files with 564 additions and 222 deletions

View File

@@ -1,7 +1,7 @@
# Copyright 2023 Hunki Enterprises BV
# Copyright 2024 initOS GmbH
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.0)
from odoo import api, fields, models
@@ -9,11 +9,10 @@ class ResUsers(models.Model):
_inherit = "res.users"
ical_ids = fields.One2many("base.ical", compute="_compute_ical_ids")
ical_token_ids = fields.One2many("base.ical.token", "user_id")
def _compute_ical_ids(self):
for this in self:
this.ical_ids = self.env["base.ical"].search([])
domain = [("allowed_users_ids", "=", self.env.uid)]
self.write({"ical_ids": self.env["base.ical"].search(domain)})
@property
def SELF_READABLE_FIELDS(self):
@@ -22,5 +21,6 @@ class ResUsers(models.Model):
@api.model_create_multi
def create(self, vals_list):
result = super().create(vals_list)
self.env["base.ical"].search([("auto", "=", True)])._enable_all_users(result)
calendars = self.env["base.ical"].search([("auto", "=", True)])
calendars.sudo().write({"allowed_users_ids": [(4, result.id)]})
return result