diff --git a/google_calendar_usability/__init__.py b/google_calendar_usability/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/google_calendar_usability/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/google_calendar_usability/__manifest__.py b/google_calendar_usability/__manifest__.py new file mode 100644 index 0000000..f9641ac --- /dev/null +++ b/google_calendar_usability/__manifest__.py @@ -0,0 +1,16 @@ +# Copyright 2021 Akretion (http://www.akretion.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +{ + "name": "Google Calendar Usability", + "version": "14.0.1.0.0", + "category": "Productivity", + "description": "Removes displaying credentials from the general settings view, " + "prevents deleting calendar events", + "depends": ["google_calendar"], + "data": [ + "views/res_config_settings_views.xml", + ], + "demo": [], + "installable": True, + "auto_install": False, +} diff --git a/google_calendar_usability/models/__init__.py b/google_calendar_usability/models/__init__.py new file mode 100644 index 0000000..362a250 --- /dev/null +++ b/google_calendar_usability/models/__init__.py @@ -0,0 +1,2 @@ +from . import res_config_settings +from . import calendar diff --git a/google_calendar_usability/models/calendar.py b/google_calendar_usability/models/calendar.py new file mode 100644 index 0000000..9cdd15b --- /dev/null +++ b/google_calendar_usability/models/calendar.py @@ -0,0 +1,15 @@ +# Copyright 2021 Akretion (http://www.akretion.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models + + +class Meeting(models.Model): + _inherit = "calendar.event" + + def unlink(self): + to_archive = self.filtered(lambda r: r.google_id and r.active) + if to_archive: + to_archive.write({"active": False}) + to_unlink = self - to_archive + super(Meeting, to_unlink).unlink() diff --git a/google_calendar_usability/models/res_config_settings.py b/google_calendar_usability/models/res_config_settings.py new file mode 100644 index 0000000..28403ef --- /dev/null +++ b/google_calendar_usability/models/res_config_settings.py @@ -0,0 +1,32 @@ +# Copyright 2021 Akretion (http://www.akretion.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = "res.config.settings" + + dummy_cal_client_id = fields.Char( + "Client_id", + compute="_compute_dummy_gcal_credentials", + inverse="_inverse_dummy_cal_client_id", + ) + dummy_cal_client_secret = fields.Char( + "Client_key", + compute="_compute_dummy_gcal_credentials", + inverse="_inverse_dummy_cal_client_secret", + ) + + def _compute_dummy_gcal_credentials(self): + for rec in self: + rec.dummy_cal_client_id = "" + rec.dummy_cal_client_secret = "" + + def _inverse_dummy_cal_client_id(self): + for rec in self: + rec.cal_client_id = rec.dummy_cal_client_id + + def _inverse_dummy_cal_client_secret(self): + for rec in self: + rec.cal_client_secret = rec.dummy_cal_client_secret diff --git a/google_calendar_usability/views/res_config_settings_views.xml b/google_calendar_usability/views/res_config_settings_views.xml new file mode 100644 index 0000000..e395811 --- /dev/null +++ b/google_calendar_usability/views/res_config_settings_views.xml @@ -0,0 +1,24 @@ + + + + + res.config.settings + + + + + + + + + + + + + + + + +