diff --git a/runbot/models/bundle.py b/runbot/models/bundle.py index c85e00682..743a880da 100644 --- a/runbot/models/bundle.py +++ b/runbot/models/bundle.py @@ -329,6 +329,28 @@ def action_generate_custom_trigger_restore_action(self): } return self._generate_custom_trigger_action(context) + def action_disable_all_triggers(self): + triggers_to_disable = ( + self.env["runbot.trigger"] + .search([ + ("id", "not in", self.trigger_custom_ids.trigger_id.ids), + ("project_id", "=", self.project_id.id), + ("manual", "=", False), + ("category_id", "=", 1), + ]) + .filtered( + lambda rec: not rec.version_domain or self.version_id.filtered_domain(rec._get_version_domain()), + ) + ) + vals = [] + for trigger in triggers_to_disable: + vals.append({ + 'bundle_id': self.id, + 'trigger_id': trigger.id, + 'start_mode': 'disabled', + }) + self.env['runbot.bundle.trigger.custom'].create(vals) + class BundleTag(models.Model): diff --git a/runbot/views/bundle_views.xml b/runbot/views/bundle_views.xml index 7bb427bbf..3cdc3c4a3 100644 --- a/runbot/views/bundle_views.xml +++ b/runbot/views/bundle_views.xml @@ -43,6 +43,7 @@
@@ -83,7 +84,7 @@ - +