From ed7a1d93bae2959e6d7256d66523fe42263d5105 Mon Sep 17 00:00:00 2001 From: git_admin Date: Mon, 27 Apr 2026 08:32:57 +0000 Subject: [PATCH] Tower: upload cetmix_tower_yaml 16.0.3.1.0 (via marketplace) --- .../cetmix_tower_yaml/models/cx_tower_file.py | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 addons/cetmix_tower_yaml/models/cx_tower_file.py diff --git a/addons/cetmix_tower_yaml/models/cx_tower_file.py b/addons/cetmix_tower_yaml/models/cx_tower_file.py new file mode 100644 index 0000000..983fa40 --- /dev/null +++ b/addons/cetmix_tower_yaml/models/cx_tower_file.py @@ -0,0 +1,46 @@ +# Copyright (C) 2024 Cetmix OÜ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import models + + +class CxTowerFile(models.Model): + _name = "cx.tower.file" + _inherit = ["cx.tower.file", "cx.tower.yaml.mixin"] + + def _get_fields_for_yaml(self): + res = super()._get_fields_for_yaml() + res += [ + "name", + "source", + "file_type", + "server_dir", + "code", + "file", + "variable_ids", + "secret_ids", + "template_id", + "keep_when_deleted", + "auto_sync", + "auto_sync_interval", + "sync_date_next", + "sync_date_last", + "server_response", + ] + return res + + def _post_create_write(self, op_type="write"): + # Do not pull/push files if they are being created from YAML + if self.env.context.get("from_yaml"): + return + super()._post_create_write(op_type) + + def _prepare_record_for_yaml(self): + """ + Override to drop file `code` when the source is 'server'. + """ + record_dict = super()._prepare_record_for_yaml() + + if record_dict.get("source") == "server": + record_dict["code"] = False + + return record_dict