diff --git a/backend/src/baserow/contrib/automation/api/nodes/views.py b/backend/src/baserow/contrib/automation/api/nodes/views.py index 2585503dd6..82a817d3ce 100644 --- a/backend/src/baserow/contrib/automation/api/nodes/views.py +++ b/backend/src/baserow/contrib/automation/api/nodes/views.py @@ -72,6 +72,7 @@ from baserow.contrib.automation.workflows.exceptions import ( AutomationWorkflowDoesNotExist, ) +from baserow.contrib.automation.workflows.handler import AutomationWorkflowHandler from baserow.contrib.automation.workflows.service import AutomationWorkflowService AUTOMATION_NODES_TAG = "Automation nodes" @@ -175,7 +176,7 @@ def post(self, request, data: Dict, workflow_id: int): } ) def get(self, request, workflow_id: int): - workflow = AutomationWorkflowService().get_workflow(request.user, workflow_id) + workflow = AutomationWorkflowHandler().get_workflow(workflow_id) nodes = AutomationNodeService().get_nodes(request.user, workflow) diff --git a/backend/src/baserow/contrib/automation/apps.py b/backend/src/baserow/contrib/automation/apps.py index 6d3edfeb87..39223bf594 100644 --- a/backend/src/baserow/contrib/automation/apps.py +++ b/backend/src/baserow/contrib/automation/apps.py @@ -145,6 +145,20 @@ def ready(self): action_scope_registry.register(WorkflowActionScopeType()) + from baserow.core.registries import permission_manager_type_registry + + from .permission_manager import AllowIfTemplatePermissionManagerType + + prev_manager = permission_manager_type_registry.get( + AllowIfTemplatePermissionManagerType.type + ) + permission_manager_type_registry.unregister( + AllowIfTemplatePermissionManagerType.type + ) + permission_manager_type_registry.register( + AllowIfTemplatePermissionManagerType(prev_manager) + ) + automation_node_type_registry.register(LocalBaserowCreateRowNodeType()) automation_node_type_registry.register(LocalBaserowUpdateRowNodeType()) automation_node_type_registry.register(LocalBaserowDeleteRowNodeType()) diff --git a/backend/src/baserow/contrib/automation/permission_manager.py b/backend/src/baserow/contrib/automation/permission_manager.py new file mode 100755 index 0000000000..668da28260 --- /dev/null +++ b/backend/src/baserow/contrib/automation/permission_manager.py @@ -0,0 +1,31 @@ +from django.contrib.auth import get_user_model + +from baserow.contrib.automation.nodes.operations import ListAutomationNodeOperationType +from baserow.contrib.automation.operations import ListAutomationWorkflowsOperationType +from baserow.core.permission_manager import ( + AllowIfTemplatePermissionManagerType as CoreAllowIfTemplatePermissionManagerType, +) +from baserow.core.registries import PermissionManagerType + +User = get_user_model() + + +class AllowIfTemplatePermissionManagerType(CoreAllowIfTemplatePermissionManagerType): + """ + Allows read operation on templates. + """ + + AUTOMATION_OPERATION_ALLOWED_ON_TEMPLATES = [ + ListAutomationWorkflowsOperationType.type, + ListAutomationNodeOperationType.type, + ] + + @property + def OPERATION_ALLOWED_ON_TEMPLATES(self): + return ( + self.prev_manager_type.OPERATION_ALLOWED_ON_TEMPLATES + + self.AUTOMATION_OPERATION_ALLOWED_ON_TEMPLATES + ) + + def __init__(self, prev_manager_type: PermissionManagerType): + self.prev_manager_type = prev_manager_type diff --git a/backend/src/baserow/contrib/integrations/core/integration_types.py b/backend/src/baserow/contrib/integrations/core/integration_types.py index a3c468dd70..0201f07f6a 100644 --- a/backend/src/baserow/contrib/integrations/core/integration_types.py +++ b/backend/src/baserow/contrib/integrations/core/integration_types.py @@ -16,7 +16,7 @@ class SerializedDict(IntegrationDict): serializer_field_names = ["host", "port", "use_tls", "username", "password"] allowed_fields = ["host", "port", "use_tls", "username", "password"] - sensitive_fields = ["username", "password"] + sensitive_fields = ["host", "port", "use_tls", "username", "password"] request_serializer_field_names = ["host", "port", "use_tls", "username", "password"] request_serializer_field_overrides = {} diff --git a/backend/tests/baserow/contrib/integrations/core/test_smtp_integration_type.py b/backend/tests/baserow/contrib/integrations/core/test_smtp_integration_type.py index ef36280f84..b79db326f8 100644 --- a/backend/tests/baserow/contrib/integrations/core/test_smtp_integration_type.py +++ b/backend/tests/baserow/contrib/integrations/core/test_smtp_integration_type.py @@ -233,9 +233,9 @@ def test_smtp_integration_export_serialized_exclude_sensitive(data_fixture): expected_serialized = { "id": AnyInt(), "type": "smtp", - "host": "smtp.example.com", - "port": 587, - "use_tls": True, + "host": None, + "port": None, + "use_tls": None, "username": None, "password": None, "name": "", diff --git a/backend/tests/baserow/core/test_basic_permissions.py b/backend/tests/baserow/core/test_basic_permissions.py index 4efacf7e8e..ebc3360361 100755 --- a/backend/tests/baserow/core/test_basic_permissions.py +++ b/backend/tests/baserow/core/test_basic_permissions.py @@ -519,6 +519,8 @@ def test_get_permissions(data_fixture): "dashboard.data_source.read", "dashboard.list_data_sources", "dashboard.data_source.dispatch", + "automation.list_workflows", + "automation.workflow.list_nodes", ], "workspace_template_ids": [], }, @@ -575,6 +577,8 @@ def test_get_permissions(data_fixture): "dashboard.data_source.read", "dashboard.list_data_sources", "dashboard.data_source.dispatch", + "automation.list_workflows", + "automation.workflow.list_nodes", ], "workspace_template_ids": [], }, @@ -648,6 +652,8 @@ def test_get_permissions(data_fixture): "dashboard.data_source.read", "dashboard.list_data_sources", "dashboard.data_source.dispatch", + "automation.list_workflows", + "automation.workflow.list_nodes", ], "workspace_template_ids": [], }, @@ -704,6 +710,8 @@ def test_get_permissions(data_fixture): "dashboard.data_source.read", "dashboard.list_data_sources", "dashboard.data_source.dispatch", + "automation.list_workflows", + "automation.workflow.list_nodes", ], "workspace_template_ids": [], }, @@ -777,6 +785,8 @@ def test_get_permissions(data_fixture): "dashboard.data_source.read", "dashboard.list_data_sources", "dashboard.data_source.dispatch", + "automation.list_workflows", + "automation.workflow.list_nodes", ], "workspace_template_ids": [], }, @@ -833,6 +843,8 @@ def test_get_permissions(data_fixture): "dashboard.data_source.read", "dashboard.list_data_sources", "dashboard.data_source.dispatch", + "automation.list_workflows", + "automation.workflow.list_nodes", ], "workspace_template_ids": [], }, @@ -906,6 +918,8 @@ def test_get_permissions(data_fixture): "dashboard.data_source.read", "dashboard.list_data_sources", "dashboard.data_source.dispatch", + "automation.list_workflows", + "automation.workflow.list_nodes", ], "workspace_template_ids": [], }, diff --git a/backend/uv.lock b/backend/uv.lock index 542cf501d7..edd52787b9 100644 --- a/backend/uv.lock +++ b/backend/uv.lock @@ -3831,26 +3831,26 @@ wheels = [ [[package]] name = "ujson" -version = "5.11.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/d9/3f17e3c5773fb4941c68d9a37a47b1a79c9649d6c56aefbed87cc409d18a/ujson-5.11.0.tar.gz", hash = "sha256:e204ae6f909f099ba6b6b942131cee359ddda2b6e4ea39c12eb8b991fe2010e0", size = 7156583, upload-time = "2025-08-20T11:57:02.452Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/28/08/4518146f4984d112764b1dfa6fb7bad691c44a401adadaa5e23ccd930053/ujson-5.11.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:65724738c73645db88f70ba1f2e6fb678f913281804d5da2fd02c8c5839af302", size = 55462, upload-time = "2025-08-20T11:56:04.873Z" }, - { url = "https://files.pythonhosted.org/packages/29/37/2107b9a62168867a692654d8766b81bd2fd1e1ba13e2ec90555861e02b0c/ujson-5.11.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:29113c003ca33ab71b1b480bde952fbab2a0b6b03a4ee4c3d71687cdcbd1a29d", size = 53246, upload-time = "2025-08-20T11:56:06.054Z" }, - { url = "https://files.pythonhosted.org/packages/9b/f8/25583c70f83788edbe3ca62ce6c1b79eff465d78dec5eb2b2b56b3e98b33/ujson-5.11.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c44c703842024d796b4c78542a6fcd5c3cb948b9fc2a73ee65b9c86a22ee3638", size = 57631, upload-time = "2025-08-20T11:56:07.374Z" }, - { url = "https://files.pythonhosted.org/packages/ed/ca/19b3a632933a09d696f10dc1b0dfa1d692e65ad507d12340116ce4f67967/ujson-5.11.0-cp314-cp314-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:e750c436fb90edf85585f5c62a35b35082502383840962c6983403d1bd96a02c", size = 59877, upload-time = "2025-08-20T11:56:08.534Z" }, - { url = "https://files.pythonhosted.org/packages/55/7a/4572af5324ad4b2bfdd2321e898a527050290147b4ea337a79a0e4e87ec7/ujson-5.11.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f278b31a7c52eb0947b2db55a5133fbc46b6f0ef49972cd1a80843b72e135aba", size = 57363, upload-time = "2025-08-20T11:56:09.758Z" }, - { url = "https://files.pythonhosted.org/packages/7b/71/a2b8c19cf4e1efe53cf439cdf7198ac60ae15471d2f1040b490c1f0f831f/ujson-5.11.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ab2cb8351d976e788669c8281465d44d4e94413718af497b4e7342d7b2f78018", size = 1036394, upload-time = "2025-08-20T11:56:11.168Z" }, - { url = "https://files.pythonhosted.org/packages/7a/3e/7b98668cba3bb3735929c31b999b374ebc02c19dfa98dfebaeeb5c8597ca/ujson-5.11.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:090b4d11b380ae25453100b722d0609d5051ffe98f80ec52853ccf8249dfd840", size = 1195837, upload-time = "2025-08-20T11:56:12.6Z" }, - { url = "https://files.pythonhosted.org/packages/a1/ea/8870f208c20b43571a5c409ebb2fe9b9dba5f494e9e60f9314ac01ea8f78/ujson-5.11.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:80017e870d882d5517d28995b62e4e518a894f932f1e242cbc802a2fd64d365c", size = 1088837, upload-time = "2025-08-20T11:56:14.15Z" }, - { url = "https://files.pythonhosted.org/packages/6e/cd/e9809b064a89fe5c4184649adeb13c1b98652db3f8518980b04227358574/ujson-5.11.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:de6e88f62796372fba1de973c11138f197d3e0e1d80bcb2b8aae1e826096d433", size = 55759, upload-time = "2025-08-20T11:56:18.882Z" }, - { url = "https://files.pythonhosted.org/packages/1b/be/ae26a6321179ebbb3a2e2685b9007c71bcda41ad7a77bbbe164005e956fc/ujson-5.11.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:49e56ef8066f11b80d620985ae36869a3ff7e4b74c3b6129182ec5d1df0255f3", size = 53634, upload-time = "2025-08-20T11:56:20.012Z" }, - { url = "https://files.pythonhosted.org/packages/ae/e9/fb4a220ee6939db099f4cfeeae796ecb91e7584ad4d445d4ca7f994a9135/ujson-5.11.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1a325fd2c3a056cf6c8e023f74a0c478dd282a93141356ae7f16d5309f5ff823", size = 58547, upload-time = "2025-08-20T11:56:21.175Z" }, - { url = "https://files.pythonhosted.org/packages/bd/f8/fc4b952b8f5fea09ea3397a0bd0ad019e474b204cabcb947cead5d4d1ffc/ujson-5.11.0-cp314-cp314t-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:a0af6574fc1d9d53f4ff371f58c96673e6d988ed2b5bf666a6143c782fa007e9", size = 60489, upload-time = "2025-08-20T11:56:22.342Z" }, - { url = "https://files.pythonhosted.org/packages/2e/e5/af5491dfda4f8b77e24cf3da68ee0d1552f99a13e5c622f4cef1380925c3/ujson-5.11.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:10f29e71ecf4ecd93a6610bd8efa8e7b6467454a363c3d6416db65de883eb076", size = 58035, upload-time = "2025-08-20T11:56:23.92Z" }, - { url = "https://files.pythonhosted.org/packages/c4/09/0945349dd41f25cc8c38d78ace49f14c5052c5bbb7257d2f466fa7bdb533/ujson-5.11.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1a0a9b76a89827a592656fe12e000cf4f12da9692f51a841a4a07aa4c7ecc41c", size = 1037212, upload-time = "2025-08-20T11:56:25.274Z" }, - { url = "https://files.pythonhosted.org/packages/49/44/8e04496acb3d5a1cbee3a54828d9652f67a37523efa3d3b18a347339680a/ujson-5.11.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:b16930f6a0753cdc7d637b33b4e8f10d5e351e1fb83872ba6375f1e87be39746", size = 1196500, upload-time = "2025-08-20T11:56:27.517Z" }, - { url = "https://files.pythonhosted.org/packages/64/ae/4bc825860d679a0f208a19af2f39206dfd804ace2403330fdc3170334a2f/ujson-5.11.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:04c41afc195fd477a59db3a84d5b83a871bd648ef371cf8c6f43072d89144eef", size = 1089487, upload-time = "2025-08-20T11:56:29.07Z" }, +version = "5.12.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cb/3e/c35530c5ffc25b71c59ae0cd7b8f99df37313daa162ce1e2f7925f7c2877/ujson-5.12.0.tar.gz", hash = "sha256:14b2e1eb528d77bc0f4c5bd1a7ebc05e02b5b41beefb7e8567c9675b8b13bcf4", size = 7158451, upload-time = "2026-03-11T22:19:30.397Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/bd/9a8d693254bada62bfea75a507e014afcfdb6b9d047b6f8dd134bfefaf67/ujson-5.12.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:85833bca01aa5cae326ac759276dc175c5fa3f7b3733b7d543cf27f2df12d1ef", size = 56499, upload-time = "2026-03-11T22:18:45.431Z" }, + { url = "https://files.pythonhosted.org/packages/bd/2d/285a83df8176e18dcd675d1a4cff8f7620f003f30903ea43929406e98986/ujson-5.12.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:d22cad98c2a10bbf6aa083a8980db6ed90d4285a841c4de892890c2b28286ef9", size = 53998, upload-time = "2026-03-11T22:18:47.184Z" }, + { url = "https://files.pythonhosted.org/packages/bf/8b/e2f09e16dabfa91f6a84555df34a4329fa7621e92ed054d170b9054b9bb2/ujson-5.12.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:99cc80facad240b0c2fb5a633044420878aac87a8e7c348b9486450cba93f27c", size = 57783, upload-time = "2026-03-11T22:18:48.271Z" }, + { url = "https://files.pythonhosted.org/packages/68/fb/ba1d06f3658a0c36d0ab3869ec3914f202bad0a9bde92654e41516c7bb13/ujson-5.12.0-cp314-cp314-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:d1831c07bd4dce53c4b666fa846c7eba4b7c414f2e641a4585b7f50b72f502dc", size = 60011, upload-time = "2026-03-11T22:18:49.284Z" }, + { url = "https://files.pythonhosted.org/packages/64/2b/3e322bf82d926d9857206cd5820438d78392d1f523dacecb8bd899952f73/ujson-5.12.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e00cec383eab2406c9e006bd4edb55d284e94bb943fda558326048178d26961", size = 57465, upload-time = "2026-03-11T22:18:50.584Z" }, + { url = "https://files.pythonhosted.org/packages/e9/fd/af72d69603f9885e5136509a529a4f6d88bf652b457263ff96aefcd3ab7d/ujson-5.12.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f19b3af31d02a2e79c5f9a6deaab0fb3c116456aeb9277d11720ad433de6dfc6", size = 1037275, upload-time = "2026-03-11T22:18:51.998Z" }, + { url = "https://files.pythonhosted.org/packages/9c/a7/a2411ec81aef7872578e56304c3e41b3a544a9809e95c8e1df46923fc40b/ujson-5.12.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:bacbd3c69862478cbe1c7ed4325caedec580d8acf31b8ee1b9a1e02a56295cad", size = 1196758, upload-time = "2026-03-11T22:18:53.548Z" }, + { url = "https://files.pythonhosted.org/packages/ed/85/aa18ae175dd03a118555aa14304d4f466f9db61b924c97c6f84388ecacb1/ujson-5.12.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:94c5f1621cbcab83c03be46441f090b68b9f307b6c7ec44d4e3f6d5997383df4", size = 1089760, upload-time = "2026-03-11T22:18:55.336Z" }, + { url = "https://files.pythonhosted.org/packages/c3/71/9b4dacb177d3509077e50497222d39eec04c8b41edb1471efc764d645237/ujson-5.12.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:7ddb08b3c2f9213df1f2e3eb2fbea4963d80ec0f8de21f0b59898e34f3b3d96d", size = 56845, upload-time = "2026-03-11T22:18:59.629Z" }, + { url = "https://files.pythonhosted.org/packages/24/c2/8abffa3be1f3d605c4a62445fab232b3e7681512ce941c6b23014f404d36/ujson-5.12.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0a3ae28f0b209be5af50b54ca3e2123a3de3a57d87b75f1e5aa3d7961e041983", size = 54463, upload-time = "2026-03-11T22:19:00.697Z" }, + { url = "https://files.pythonhosted.org/packages/db/2e/60114a35d1d6796eb428f7affcba00a921831ff604a37d9142c3d8bbe5c5/ujson-5.12.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d30ad4359413c8821cc7b3707f7ca38aa8bc852ba3b9c5a759ee2d7740157315", size = 58689, upload-time = "2026-03-11T22:19:01.739Z" }, + { url = "https://files.pythonhosted.org/packages/c8/ad/010925c2116c21ce119f9c2ff18d01f48a19ade3ff4c5795da03ce5829fc/ujson-5.12.0-cp314-cp314t-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:02f93da7a4115e24f886b04fd56df1ee8741c2ce4ea491b7ab3152f744ad8f8e", size = 60618, upload-time = "2026-03-11T22:19:03.101Z" }, + { url = "https://files.pythonhosted.org/packages/9b/74/db7f638bf20282b1dccf454386cbd483faaaed3cdbb9cb27e06f74bb109e/ujson-5.12.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3ff4ede90ed771140caa7e1890de17431763a483c54b3c1f88bd30f0cc1affc0", size = 58151, upload-time = "2026-03-11T22:19:04.175Z" }, + { url = "https://files.pythonhosted.org/packages/9c/7e/3ebaecfa70a2e8ce623db8e21bd5cb05d42a5ef943bcbb3309d71b5de68d/ujson-5.12.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:a7bf9cc97f05048ac8f3e02cd58f0fe62b901453c24345bfde287f4305dcc31c", size = 1038117, upload-time = "2026-03-11T22:19:05.558Z" }, + { url = "https://files.pythonhosted.org/packages/2e/aa/e073eda7f0036c2973b28db7bb99faba17a932e7b52d801f9bb3e726271f/ujson-5.12.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:2324d9a0502317ffc35d38e153c1b2fa9610ae03775c9d0f8d0cca7b8572b04e", size = 1197434, upload-time = "2026-03-11T22:19:06.92Z" }, + { url = "https://files.pythonhosted.org/packages/1c/01/b9a13f058fdd50c746b192c4447ca8d6352e696dcda912ccee10f032ff85/ujson-5.12.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:50524f4f6a1c839714dbaff5386a1afb245d2d5ec8213a01fbc99cea7307811e", size = 1090401, upload-time = "2026-03-11T22:19:08.383Z" }, ] [[package]] diff --git a/changelog/entries/unreleased/feature/3871_support_automation_templates.json b/changelog/entries/unreleased/feature/3871_support_automation_templates.json new file mode 100644 index 0000000000..e5e9bd445f --- /dev/null +++ b/changelog/entries/unreleased/feature/3871_support_automation_templates.json @@ -0,0 +1,9 @@ +{ + "type": "feature", + "message": "Support automation templates", + "issue_origin": "github", + "issue_number": 3871, + "domain": "automation", + "bullet_points": [], + "created_at": "2026-03-10" +} \ No newline at end of file diff --git a/web-frontend/modules/automation/applicationTypes.js b/web-frontend/modules/automation/applicationTypes.js index ce8c0efdb1..e2a9087fdc 100644 --- a/web-frontend/modules/automation/applicationTypes.js +++ b/web-frontend/modules/automation/applicationTypes.js @@ -6,6 +6,8 @@ import { populateAutomationWorkflow } from '@baserow/modules/automation/store/au import { DEVELOPMENT_STAGES } from '@baserow/modules/core/constants' import { pageFinished } from '@baserow/modules/core/utils/routing' import { nextTick } from '#imports' +import WorkflowTemplate from '@baserow/modules/automation/components/workflow/WorkflowTemplate.vue' +import WorkflowTemplateSideBar from '@baserow/modules/automation/components/workflow/WorkflowTemplateSideBar.vue' export class AutomationApplicationType extends ApplicationType { static getType() { @@ -52,6 +54,21 @@ export class AutomationApplicationType extends ApplicationType { return SidebarComponentAutomation } + getTemplateSidebarComponent() { + return WorkflowTemplateSideBar + } + + getTemplatesPageComponent() { + return WorkflowTemplate + } + + getTemplatePage(application) { + return { + automation: application, + page: application.workflows[0], + } + } + delete(application) { const { $store, $router } = this.app const workflowSelected = $store.getters['automationWorkflow/getWorkflows']( diff --git a/web-frontend/modules/automation/components/AutomationHeader.vue b/web-frontend/modules/automation/components/AutomationHeader.vue index 3f0a07f0f3..31ed3cd679 100644 --- a/web-frontend/modules/automation/components/AutomationHeader.vue +++ b/web-frontend/modules/automation/components/AutomationHeader.vue @@ -1,24 +1,24 @@