From 4800a088a91871eceda1ab77968038f13f58d897 Mon Sep 17 00:00:00 2001 From: Blai Peidro Date: Wed, 16 Sep 2026 00:36:06 +0200 Subject: [PATCH 1/7] docs: stop documenting a licence and an Insights integration Eleven lines across eight docsite pages still described behaviour that went with the subscription: viewing, refreshing, posting and re-adding a licence, organizations and teams gated on "if the license allows for multiple organizations", hosts "counted against your license allotment", and features "enabled through a license file". Two needed more than a word taken out. The organization host limit was written entirely in licence terms, and claimed enforcement that no longer happens: an inventory sync failing on the policy, and superusers over-allocating with a warning. org.max_hosts is now enforced in exactly one place, bulk host creation, and the page says that instead. The default-organization note ended mid-sentence on a Tower Self-support licence tier, so that half is gone. Two browsable-API pages said Tower where they meant Ascender, and four Insights screenshots have been referenced by nothing since the feature was removed. --- .../api/dashboard_inventory_graph_view.md | 2 +- ascender/api/templates/api/dashboard_view.md | 2 +- .../rst/administration/configure_ascender.rst | 2 +- docs/docsite/rst/administration/social_auth.rst | 5 ++--- .../credential-types-popup-window-insights.png | Bin 25139 -> 0 bytes ...-create-new-inventory-insights-remediate.png | Bin 44690 -> 0 bytes ...nventories-create-new-inventory-insights.png | Bin 62549 -> 0 bytes ...ventories-create-source-insights-example.png | Bin 86578 -> 0 bytes docs/docsite/rst/common/settings-menu.rst | 2 -- .../rst/quickstart/create_organization.rst | 2 +- .../rst/quickstart/examine_dashboard.rst | 2 +- docs/docsite/rst/userguide/inventories.rst | 2 +- docs/docsite/rst/userguide/notifications.rst | 6 +++--- docs/docsite/rst/userguide/overview.rst | 2 +- 14 files changed, 12 insertions(+), 15 deletions(-) delete mode 100644 docs/docsite/rst/common/images/credential-types-popup-window-insights.png delete mode 100644 docs/docsite/rst/common/images/inventories-create-new-inventory-insights-remediate.png delete mode 100644 docs/docsite/rst/common/images/inventories-create-new-inventory-insights.png delete mode 100644 docs/docsite/rst/common/images/inventories-create-source-insights-example.png diff --git a/ascender/api/templates/api/dashboard_inventory_graph_view.md b/ascender/api/templates/api/dashboard_inventory_graph_view.md index aff5c0632..f3222f591 100644 --- a/ascender/api/templates/api/dashboard_inventory_graph_view.md +++ b/ascender/api/templates/api/dashboard_inventory_graph_view.md @@ -1,6 +1,6 @@ Make a GET request to this resource to retrieve aggregate statistics about inventory suitable for graphing. -Including fetching the number of total hosts tracked by Tower over an amount of time and the current success or +Including fetching the number of total hosts tracked by Ascender over an amount of time and the current success or failed status of hosts which have run jobs within an Inventory. ## Parameters and Filtering diff --git a/ascender/api/templates/api/dashboard_view.md b/ascender/api/templates/api/dashboard_view.md index 112c639e1..b69d7dd40 100644 --- a/ascender/api/templates/api/dashboard_view.md +++ b/ascender/api/templates/api/dashboard_view.md @@ -1 +1 @@ -Make a GET request to this resource to retrieve aggregate statistics for Tower. +Make a GET request to this resource to retrieve aggregate statistics for Ascender. diff --git a/docs/docsite/rst/administration/configure_ascender.rst b/docs/docsite/rst/administration/configure_ascender.rst index 7f93b6090..ee83ca18a 100644 --- a/docs/docsite/rst/administration/configure_ascender.rst +++ b/docs/docsite/rst/administration/configure_ascender.rst @@ -60,7 +60,7 @@ System .. index:: pair: configuration; system -The System tab allows you to define the base URL for the Ascender host, configure alerts, enable activity capturing, control visibility of users, enable certain Ascender features and functionality through a license file, and configure logging aggregation options. +The System tab allows you to define the base URL for the Ascender host, configure alerts, enable activity capturing, control visibility of users, and configure logging aggregation options. 1. From the left navigation bar, click **Settings**. diff --git a/docs/docsite/rst/administration/social_auth.rst b/docs/docsite/rst/administration/social_auth.rst index 6e833f4ed..2ab122e2f 100644 --- a/docs/docsite/rst/administration/social_auth.rst +++ b/docs/docsite/rst/administration/social_auth.rst @@ -297,7 +297,7 @@ Organization mapping You will need to control which users are placed into which organizations based on their username and email address (mapping out your organization admins/users from social or enterprise-level authentication accounts). -Dictionary keys are organization names. Organizations will be created, if not already present and if the license allows for multiple organizations. Otherwise, the single default organization is used regardless of the key. +Dictionary keys are organization names. Organizations will be created if not already present. Values are dictionaries defining the options for each organization's membership. For each organization, it is possible to specify which users are automatically users of the organization and also which users can administer the organization. @@ -352,8 +352,7 @@ Team mapping is the mapping of team members (users) from social auth accounts. K **organization**: string. The name of the organization to which the team belongs. The team will be created if the combination of organization and team name does not exist. The organization will first be created if it -does not exist. If the license does not allow for multiple organizations, -the team will always be assigned to the single default organization. +does not exist. **users**: None, True/False, string or list/tuple of strings. diff --git a/docs/docsite/rst/common/images/credential-types-popup-window-insights.png b/docs/docsite/rst/common/images/credential-types-popup-window-insights.png deleted file mode 100644 index 0322464d3f54d3e781d85676e45eed8143d7af5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25139 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 I`N#i%0I_O$1^@s6 diff --git a/docs/docsite/rst/common/images/inventories-create-new-inventory-insights-remediate.png b/docs/docsite/rst/common/images/inventories-create-new-inventory-insights-remediate.png deleted file mode 100644 index f1830cb76565690819ddec191b8e77257a862de0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44690 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
oXF-R6 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, you can replace the d .. image:: ../common/images/configure-ascender-system-misc-baseurl.png :alt: Configuring base URL with preferred hostname -Refreshing your license also changes the notification hostname. New installations of Ascender should not have to set the hostname for notifications. +New installations of Ascender should not have to set the hostname for notifications. Reset the ``AWX_URL_BASE`` ------------------------------ @@ -562,9 +562,9 @@ Reset the ``AWX_URL_BASE`` The primary way that Ascender determines how the base URL (``AWX_URL_BASE``) is defined is by looking at an incoming request and setting the server address based on that incoming request. -Ascender takes settings values from the database first. If no settings values are found, it falls back to using the values from the settings files. If a user posts a license by navigating to the Ascender host's IP address, the posted license is written to the settings entry in the database. +Ascender takes settings values from the database first. If no settings values are found, it falls back to using the values from the settings files. -To change the ``AWX_URL_BASE`` if the wrong address has been picked up, navigate to **Miscellaneous System settings** from the Settings menu using the DNS entry you wish to appear in notifications, and re-add your license. +To change the ``AWX_URL_BASE`` if the wrong address has been picked up, navigate to **Miscellaneous System settings** from the Settings menu and set it to the DNS entry you wish to appear in notifications. diff --git a/docs/docsite/rst/userguide/overview.rst b/docs/docsite/rst/userguide/overview.rst index 22d4e6c40..00c2dc4f1 100644 --- a/docs/docsite/rst/userguide/overview.rst +++ b/docs/docsite/rst/userguide/overview.rst @@ -252,7 +252,7 @@ Limit the number of hosts per organization .. index:: pair: features; limiting, hosts -Lots of large organizations have instances shared among many organizations. They do not want any one organization to be able to use all the licensed hosts, this feature allows superusers to set a specified upper limit on how many licensed hosts may be allocated to each organization. The Ascender algorithm factors changes in the limit for an organization and the number of total hosts across all organizations. Any inventory updates will fail if an inventory sync brings an organization out of compliance with the policy. Additionally, superusers are able to 'over-allocate' their licenses, with a warning. +Lots of large organizations have instances shared among many organizations, and do not want any one organization using all the hosts. A superuser can set an upper limit on each organization through its **Max Hosts**, and bulk host creation refuses to take an organization past it. Inventory Plugins From f5962f459c48bc422b98878b0e63a0217e4ab5f5 Mon Sep 17 00:00:00 2001 From: Blai Peidro Date: Wed, 16 Sep 2026 01:17:55 +0200 Subject: [PATCH 2/7] test: bring the captured API fixtures back in line with the API These are recorded responses the UI tests mock with, and they drifted from what the endpoints return once the licence and Insights went. data.allSettingOptions.json still offered LICENSE as a nested-object setting with help text pointing at /api/v2/config/ to change the licence, and carried the AUTHENTICATION_BACKENDS help text from before it stopped naming licence features. data.allSettings.json still had a LICENSE value. data.credentialTypes.json still listed the Insights credential type, and four host fixtures carried an insights related link to a route that no longer exists. Two tests used kind insights on a project credential and an Insights credential type name; they use scm and gce, which are kinds the platform has. The inventory plugin test data for insights had no plugin left to exercise. --- .../data/inventory/plugins/insights/env.json | 4 -- .../components/AssociateModal/data.hosts.json | 3 -- .../shared/data.credentialTypes.json | 44 ------------------- ascender/ui/src/screens/Host/data.host.json | 1 - .../InventoryDetail/InventoryDetail.test.tsx | 2 +- .../screens/Inventory/shared/data.host.json | 1 - .../screens/Inventory/shared/data.hosts.json | 3 -- .../Project/ProjectEdit/ProjectEdit.test.tsx | 4 +- .../shared/data.allSettingOptions.json | 13 +----- .../Setting/shared/data.allSettings.json | 1 - 10 files changed, 4 insertions(+), 72 deletions(-) delete mode 100644 ascender/main/tests/data/inventory/plugins/insights/env.json diff --git a/ascender/main/tests/data/inventory/plugins/insights/env.json b/ascender/main/tests/data/inventory/plugins/insights/env.json deleted file mode 100644 index b87328e76..000000000 --- a/ascender/main/tests/data/inventory/plugins/insights/env.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "INSIGHTS_USER": "fooo", - "INSIGHTS_PASSWORD": "fooo" -} diff --git a/ascender/ui/src/components/AssociateModal/data.hosts.json b/ascender/ui/src/components/AssociateModal/data.hosts.json index 07c6ef7d9..89f96f5d3 100644 --- a/ascender/ui/src/components/AssociateModal/data.hosts.json +++ b/ascender/ui/src/components/AssociateModal/data.hosts.json @@ -19,7 +19,6 @@ "smart_inventories": "/api/v2/hosts/2/smart_inventories/", "ad_hoc_commands": "/api/v2/hosts/2/ad_hoc_commands/", "ad_hoc_command_events": "/api/v2/hosts/2/ad_hoc_command_events/", - "insights": "/api/v2/hosts/2/insights/", "ansible_facts": "/api/v2/hosts/2/ansible_facts/", "inventory": "/api/v2/inventories/2/", "last_job": "/api/v2/jobs/236/", @@ -148,7 +147,6 @@ "smart_inventories": "/api/v2/hosts/3/smart_inventories/", "ad_hoc_commands": "/api/v2/hosts/3/ad_hoc_commands/", "ad_hoc_command_events": "/api/v2/hosts/3/ad_hoc_command_events/", - "insights": "/api/v2/hosts/3/insights/", "ansible_facts": "/api/v2/hosts/3/ansible_facts/", "inventory": "/api/v2/inventories/2/", "last_job": "/api/v2/jobs/236/", @@ -277,7 +275,6 @@ "smart_inventories": "/api/v2/hosts/4/smart_inventories/", "ad_hoc_commands": "/api/v2/hosts/4/ad_hoc_commands/", "ad_hoc_command_events": "/api/v2/hosts/4/ad_hoc_command_events/", - "insights": "/api/v2/hosts/4/insights/", "ansible_facts": "/api/v2/hosts/4/ansible_facts/", "inventory": "/api/v2/inventories/2/", "last_job": "/api/v2/jobs/236/", diff --git a/ascender/ui/src/screens/Credential/shared/data.credentialTypes.json b/ascender/ui/src/screens/Credential/shared/data.credentialTypes.json index eb12c1506..fa7741c84 100644 --- a/ascender/ui/src/screens/Credential/shared/data.credentialTypes.json +++ b/ascender/ui/src/screens/Credential/shared/data.credentialTypes.json @@ -875,50 +875,6 @@ }, "injectors": {} }, - { - "id": 14, - "type": "credential_type", - "url": "/api/v2/credential_types/14/", - "related": { - "credentials": "/api/v2/credential_types/14/credentials/", - "activity_stream": "/api/v2/credential_types/14/activity_stream/" - }, - "summary_fields": { - "user_capabilities": { - "edit": false, - "delete": false - } - }, - "created": "2020-05-18T21:53:35.306541Z", - "modified": "2020-05-18T21:54:05.409381Z", - "name": "Insights", - "description": "", - "kind": "insights", - "namespace": "insights", - "managed": true, - "inputs": { - "fields": [ - { - "id": "username", - "label": "Username", - "type": "string" - }, - { - "id": "password", - "label": "Password", - "type": "string", - "secret": true - } - ], - "required": ["username", "password"] - }, - "injectors": { - "extra_vars": { - "scm_username": "{{username}}", - "scm_password": "{{password}}" - } - } - }, { "id": 17, "type": "credential_type", diff --git a/ascender/ui/src/screens/Host/data.host.json b/ascender/ui/src/screens/Host/data.host.json index aacc08f78..6f9af8502 100644 --- a/ascender/ui/src/screens/Host/data.host.json +++ b/ascender/ui/src/screens/Host/data.host.json @@ -15,7 +15,6 @@ "smart_inventories": "/api/v2/hosts/2/smart_inventories/", "ad_hoc_commands": "/api/v2/hosts/2/ad_hoc_commands/", "ad_hoc_command_events": "/api/v2/hosts/2/ad_hoc_command_events/", - "insights": "/api/v2/hosts/2/insights/", "ansible_facts": "/api/v2/hosts/2/ansible_facts/", "inventory": "/api/v2/inventories/3/", "last_job": "/api/v2/jobs/3/", diff --git a/ascender/ui/src/screens/Inventory/InventoryDetail/InventoryDetail.test.tsx b/ascender/ui/src/screens/Inventory/InventoryDetail/InventoryDetail.test.tsx index 00bf35637..c779c9d2f 100644 --- a/ascender/ui/src/screens/Inventory/InventoryDetail/InventoryDetail.test.tsx +++ b/ascender/ui/src/screens/Inventory/InventoryDetail/InventoryDetail.test.tsx @@ -66,7 +66,7 @@ describe('', () => { results: [ { id: 14, - name: 'insights', + name: 'gce', }, ], }, diff --git a/ascender/ui/src/screens/Inventory/shared/data.host.json b/ascender/ui/src/screens/Inventory/shared/data.host.json index a4975ad01..03a0eeebb 100644 --- a/ascender/ui/src/screens/Inventory/shared/data.host.json +++ b/ascender/ui/src/screens/Inventory/shared/data.host.json @@ -15,7 +15,6 @@ "smart_inventories": "/api/v2/hosts/2/smart_inventories/", "ad_hoc_commands": "/api/v2/hosts/2/ad_hoc_commands/", "ad_hoc_command_events": "/api/v2/hosts/2/ad_hoc_command_events/", - "insights": "/api/v2/hosts/2/insights/", "ansible_facts": "/api/v2/hosts/2/ansible_facts/", "inventory": "/api/v2/inventories/3/", "last_job": "/api/v2/jobs/3/", diff --git a/ascender/ui/src/screens/Inventory/shared/data.hosts.json b/ascender/ui/src/screens/Inventory/shared/data.hosts.json index 25caa6b6f..e30fe7ac4 100644 --- a/ascender/ui/src/screens/Inventory/shared/data.hosts.json +++ b/ascender/ui/src/screens/Inventory/shared/data.hosts.json @@ -19,7 +19,6 @@ "smart_inventories": "/api/v2/hosts/2/smart_inventories/", "ad_hoc_commands": "/api/v2/hosts/2/ad_hoc_commands/", "ad_hoc_command_events": "/api/v2/hosts/2/ad_hoc_command_events/", - "insights": "/api/v2/hosts/2/insights/", "ansible_facts": "/api/v2/hosts/2/ansible_facts/", "inventory": "/api/v2/inventories/2/", "last_job": "/api/v2/jobs/236/", @@ -148,7 +147,6 @@ "smart_inventories": "/api/v2/hosts/3/smart_inventories/", "ad_hoc_commands": "/api/v2/hosts/3/ad_hoc_commands/", "ad_hoc_command_events": "/api/v2/hosts/3/ad_hoc_command_events/", - "insights": "/api/v2/hosts/3/insights/", "ansible_facts": "/api/v2/hosts/3/ansible_facts/", "inventory": "/api/v2/inventories/2/", "last_job": "/api/v2/jobs/236/", @@ -277,7 +275,6 @@ "smart_inventories": "/api/v2/hosts/4/smart_inventories/", "ad_hoc_commands": "/api/v2/hosts/4/ad_hoc_commands/", "ad_hoc_command_events": "/api/v2/hosts/4/ad_hoc_command_events/", - "insights": "/api/v2/hosts/4/insights/", "ansible_facts": "/api/v2/hosts/4/ansible_facts/", "inventory": "/api/v2/inventories/2/", "last_job": "/api/v2/jobs/236/", diff --git a/ascender/ui/src/screens/Project/ProjectEdit/ProjectEdit.test.tsx b/ascender/ui/src/screens/Project/ProjectEdit/ProjectEdit.test.tsx index fb397f857..0c396a736 100644 --- a/ascender/ui/src/screens/Project/ProjectEdit/ProjectEdit.test.tsx +++ b/ascender/ui/src/screens/Project/ProjectEdit/ProjectEdit.test.tsx @@ -29,7 +29,7 @@ const projectData = { credential: { id: 100, credential_type_id: 5, - kind: 'insights', + kind: 'scm', }, signature_validation_credential: { id: 200, @@ -79,7 +79,7 @@ vi.mock('../shared/ProjectForm', async () => { scm_update_cache_timeout: 3, allow_override: false, summary_fields: { - credential: { id: 100, credential_type_id: 5, kind: 'insights' }, + credential: { id: 100, credential_type_id: 5, kind: 'scm' }, signature_validation_credential: { id: 200, credential_type_id: 6, diff --git a/ascender/ui/src/screens/Setting/shared/data.allSettingOptions.json b/ascender/ui/src/screens/Setting/shared/data.allSettingOptions.json index 2b96412f4..5d619b471 100644 --- a/ascender/ui/src/screens/Setting/shared/data.allSettingOptions.json +++ b/ascender/ui/src/screens/Setting/shared/data.allSettingOptions.json @@ -4541,17 +4541,6 @@ "type": "string" } }, - "LICENSE": { - "type": "nested object", - "label": "License", - "help_text": "The license controls which features and functionality are enabled. Use /api/v2/config/ to update or change the license.", - "category": "System", - "category_slug": "system", - "defined_in_file": false, - "child": { - "type": "field" - } - }, "INSTALL_UUID": { "type": "string", "label": "Unique identifier for an installation", @@ -5276,7 +5265,7 @@ "AUTHENTICATION_BACKENDS": { "type": "list", "label": "Authentication Backends", - "help_text": "List of authentication backends that are enabled based on license features and other authentication settings.", + "help_text": "List of authentication backends that are enabled, which follows whether each one has the settings it requires.", "category": "Authentication", "category_slug": "authentication", "defined_in_file": false, diff --git a/ascender/ui/src/screens/Setting/shared/data.allSettings.json b/ascender/ui/src/screens/Setting/shared/data.allSettings.json index 6898dea63..f8e71a0c0 100644 --- a/ascender/ui/src/screens/Setting/shared/data.allSettings.json +++ b/ascender/ui/src/screens/Setting/shared/data.allSettings.json @@ -10,7 +10,6 @@ ], "PROXY_IP_ALLOWED_LIST": [], "CSRF_TRUSTED_ORIGINS": [], - "LICENSE": {}, "INSTALL_UUID": "3f5a4d68-3a94-474c-a3c0-f23a33122ce6", "DEFAULT_CONTROL_PLANE_QUEUE_NAME": "controlplane", "DEFAULT_EXECUTION_QUEUE_NAME": "default", From 3b8de30051860650a2b45e098b6d84dd89562f68 Mon Sep 17 00:00:00 2001 From: Blai Peidro Date: Wed, 16 Sep 2026 01:17:59 +0200 Subject: [PATCH 3/7] fix: drop the scm_type label for a type that cannot be selected JobDetail mapped insights to "Red Hat Insights". The scm_type choices are the empty string, git, svn and archive, so that branch could never be taken, and being a t`` string it was translated into all nine catalogues and shipped. Same shape as the Insights host filter removed in #1005: a value the model stopped offering, with the UI still naming it. --- ascender/ui/src/locales/ar/messages.po | 134 +++++++++--------- ascender/ui/src/locales/en/messages.po | 134 +++++++++--------- ascender/ui/src/locales/es/messages.po | 134 +++++++++--------- ascender/ui/src/locales/fr/messages.po | 134 +++++++++--------- ascender/ui/src/locales/hi/messages.po | 134 +++++++++--------- ascender/ui/src/locales/ja/messages.po | 134 +++++++++--------- ascender/ui/src/locales/ko/messages.po | 134 +++++++++--------- ascender/ui/src/locales/nl/messages.po | 134 +++++++++--------- ascender/ui/src/locales/zh/messages.po | 134 +++++++++--------- .../src/screens/Job/JobDetail/JobDetail.tsx | 1 - 10 files changed, 603 insertions(+), 604 deletions(-) diff --git a/ascender/ui/src/locales/ar/messages.po b/ascender/ui/src/locales/ar/messages.po index c057d6e8b..fa95f9583 100644 --- a/ascender/ui/src/locales/ar/messages.po +++ b/ascender/ui/src/locales/ar/messages.po @@ -1085,7 +1085,7 @@ msgstr "عرض جميع الفرق." msgid "This field must be a regular expression" msgstr "يجب أن يكون هذا الحقل تعبيرًا نمطيًا" -#: screens/Job/JobDetail/JobDetail.tsx:602 +#: screens/Job/JobDetail/JobDetail.tsx:601 msgid "Artifacts" msgstr "الآثار" @@ -1154,7 +1154,7 @@ msgid "Controls whether or not this instance is managed by policy. If enabled, t msgstr "يتحكم فيما إذا كان هذا المثيل مُدارًا بواسطة السياسة أم لا. إذا كان مُفعّلاً، فسيكون المثيل متاحًا للتعيين التلقائي إلى مجموعات المثيلات وإلغاء التعيين منها بناءً على قواعد السياسة." #: components/JobList/JobList.tsx:257 -#: screens/Job/JobDetail/JobDetail.tsx:253 +#: screens/Job/JobDetail/JobDetail.tsx:252 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:246 msgid "Finished" msgstr "منتهٍ" @@ -1405,7 +1405,7 @@ msgstr "البريد الإلكتروني" #: components/PromptDetail/PromptDetail.tsx:253 #: components/PromptDetail/PromptJobTemplateDetail.tsx:111 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:457 -#: screens/Job/JobDetail/JobDetail.tsx:306 +#: screens/Job/JobDetail/JobDetail.tsx:305 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:185 #: screens/Template/shared/JobTemplateForm.tsx:342 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:140 @@ -1448,7 +1448,7 @@ msgstr "خيار إلى" msgid "Failed to delete user." msgstr "فشل حذف المستخدم." -#: screens/Job/JobDetail/JobDetail.tsx:405 +#: screens/Job/JobDetail/JobDetail.tsx:404 msgid "Container Group" msgstr "مجموعة الحاويات" @@ -1532,7 +1532,7 @@ msgstr "فشل حذف الإشعار." msgid "Show less" msgstr "عرض أقل" -#: screens/Job/JobDetail/JobDetail.tsx:353 +#: screens/Job/JobDetail/JobDetail.tsx:352 #: screens/Project/ProjectList/ProjectList.tsx:224 #: screens/Project/ProjectList/ProjectListItem.tsx:207 msgid "Revision" @@ -2133,7 +2133,7 @@ msgstr "نتيجة العقدة الأصل مطلوبة قبل تقييم الش #: components/Workflow/WorkflowNodeHelp.tsx:41 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateList.tsx:101 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:29 -#: screens/Job/JobDetail/JobDetail.tsx:260 +#: screens/Job/JobDetail/JobDetail.tsx:259 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:73 msgid "Job Template" msgstr "قالب المهمة" @@ -2547,7 +2547,7 @@ msgid "Delete Execution Environment" msgstr "حذف بيئة التنفيذ" #: components/JobList/JobListItem.tsx:366 -#: screens/Job/JobDetail/JobDetail.tsx:413 +#: screens/Job/JobDetail/JobDetail.tsx:412 msgid "Job Slice" msgstr "شريحة المهمة" @@ -2605,7 +2605,7 @@ msgstr "استخدم قناة IRC واحدة أو اسم مستخدم واحد msgid "Microsoft Azure Resource Manager" msgstr "Microsoft Azure Resource Manager" -#: screens/Job/JobDetail/JobDetail.tsx:664 +#: screens/Job/JobDetail/JobDetail.tsx:663 #: screens/Job/JobOutput/JobOutput.tsx:1203 #: screens/Job/JobOutput/JobOutput.tsx:1204 #: screens/Job/WorkflowOutput/WorkflowOutput.tsx:134 @@ -2617,7 +2617,7 @@ msgstr "خطأ في حذف المهمة" msgid "On days" msgstr "في الأيام" -#: screens/Job/JobDetail/JobDetail.tsx:384 +#: screens/Job/JobDetail/JobDetail.tsx:383 msgid "Execution Node" msgstr "عقدة التنفيذ" @@ -2813,7 +2813,7 @@ msgid "Question" msgstr "سؤال" #: components/PromptDetail/PromptProjectDetail.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:312 +#: screens/Job/JobDetail/JobDetail.tsx:311 #: screens/Project/ProjectDetail/ProjectDetail.tsx:192 #: screens/Project/shared/ProjectForm.tsx:316 msgid "Source Control Type" @@ -3027,7 +3027,7 @@ msgstr "إعدادات Azure AD" #: components/JobList/JobListItem.tsx:371 #: screens/ExecutionEnvironment/ExecutionEnvironmentDetails/ExecutionEnvironmentDetails.tsx:74 -#: screens/Job/JobDetail/JobDetail.tsx:422 +#: screens/Job/JobDetail/JobDetail.tsx:421 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:263 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:293 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:323 @@ -3326,7 +3326,7 @@ msgstr "اكتب الإجابة ثم انقر على مربع الاختيار msgid "Survey Question Order" msgstr "ترتيب أسئلة الاستبيان" -#: screens/Job/JobDetail/JobDetail.tsx:248 +#: screens/Job/JobDetail/JobDetail.tsx:247 msgid "Unknown Start Date" msgstr "تاريخ بدء غير معروف" @@ -3366,7 +3366,7 @@ msgstr "مقارنة أقل من أو يساوي." #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:85 #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:109 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:164 -#: screens/Job/JobDetail/JobDetail.tsx:655 +#: screens/Job/JobDetail/JobDetail.tsx:654 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:493 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:164 #: screens/Project/ProjectDetail/ProjectDetail.tsx:374 @@ -3516,7 +3516,7 @@ msgstr "GitHub Team" #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:88 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:337 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:139 -#: screens/Job/JobDetail/JobDetail.tsx:579 +#: screens/Job/JobDetail/JobDetail.tsx:578 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:446 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:98 #: screens/Project/ProjectDetail/ProjectDetail.tsx:326 @@ -3704,11 +3704,11 @@ msgstr "Azure AD Tenant" msgid "Create new Instance" msgstr "إنشاء مثيل جديد" -#: screens/Job/JobDetail/JobDetail.tsx:195 +#: screens/Job/JobDetail/JobDetail.tsx:194 msgid "Project Update Status" msgstr "حالة تحديث المشروع" -#: screens/Job/JobDetail/JobDetail.tsx:390 +#: screens/Job/JobDetail/JobDetail.tsx:389 msgid "Controller Node" msgstr "عقدة Controller" @@ -3886,8 +3886,8 @@ msgstr "بيئة التنفيذ الافتراضية" #: components/PromptDetail/PromptJobTemplateDetail.tsx:150 #: components/TemplateList/TemplateListItem.tsx:279 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:256 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:215 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:214 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:222 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:232 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:43 @@ -4122,8 +4122,8 @@ msgstr "حذف بيانات الاعتماد" #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:112 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:85 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:89 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:139 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:143 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:119 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:123 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:85 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:89 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:96 @@ -4172,7 +4172,7 @@ msgstr "عرض أمثلة JSON في" msgid "Destination SMS Number(s)" msgstr "رقم (أرقام) SMS الوجهة" -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "No timeout specified" msgstr "لم يتم تحديد مهلة" @@ -4758,7 +4758,7 @@ msgid "Delete this node" msgstr "حذف هذه العقدة" #: components/JobList/JobListItem.tsx:264 -#: screens/Job/JobDetail/JobDetail.tsx:292 +#: screens/Job/JobDetail/JobDetail.tsx:291 msgid "Source Workflow Job" msgstr "مهمة سير العمل المصدر" @@ -4967,7 +4967,7 @@ msgstr "حدد سؤالاً لحذفه" #: screens/Inventory/shared/InventoryGroupForm.tsx:68 #: screens/Inventory/shared/SmartInventoryForm.tsx:101 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:133 -#: screens/Job/JobDetail/JobDetail.tsx:590 +#: screens/Job/JobDetail/JobDetail.tsx:589 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:484 #: screens/Template/shared/JobTemplateForm.tsx:495 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:261 @@ -5127,7 +5127,7 @@ msgstr "طي" #: screens/Inventory/FederatedInventoryDetail/FederatedInventoryDetail.tsx:124 #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:145 #: screens/Inventory/shared/InventoryForm.tsx:89 -#: screens/Job/JobDetail/JobDetail.tsx:492 +#: screens/Job/JobDetail/JobDetail.tsx:491 #: screens/Labels/Labels.tsx:13 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:399 #: screens/Template/shared/JobTemplateForm.tsx:480 @@ -5173,7 +5173,7 @@ msgstr "شهر" #: screens/Credential/CredentialList/CredentialList.tsx:195 #: screens/Credential/Credentials.tsx:16 #: screens/Credential/Credentials.tsx:27 -#: screens/Job/JobDetail/JobDetail.tsx:468 +#: screens/Job/JobDetail/JobDetail.tsx:467 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:372 #: screens/Template/shared/JobTemplateForm.tsx:465 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:54 @@ -5198,7 +5198,7 @@ msgstr "الحد الأدنى لعدد المثيلات التي سيتم تعي #: components/PromptDetail/PromptDetail.tsx:323 #: components/PromptDetail/PromptJobTemplateDetail.tsx:255 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:590 -#: screens/Job/JobDetail/JobDetail.tsx:517 +#: screens/Job/JobDetail/JobDetail.tsx:516 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:433 #: screens/Template/shared/JobTemplateForm.tsx:625 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:267 @@ -5222,7 +5222,7 @@ msgstr "حدد صفًا للموافقة" #~ msgid "Unique Hosts" #~ msgstr "المضيفون الفريدون" -#: screens/Job/JobDetail/JobDetail.tsx:651 +#: screens/Job/JobDetail/JobDetail.tsx:650 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:247 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:251 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:219 @@ -5839,7 +5839,7 @@ msgstr "مجموعات المثيلات" #: components/PromptDetail/PromptDetail.tsx:357 #: components/PromptDetail/PromptJobTemplateDetail.tsx:275 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:615 -#: screens/Job/JobDetail/JobDetail.tsx:544 +#: screens/Job/JobDetail/JobDetail.tsx:543 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:459 #: screens/Template/shared/JobTemplateForm.tsx:637 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:279 @@ -5910,7 +5910,7 @@ msgstr "تعريف مخزون المجموعات المتداخلة:" #~ msgid "Prompt for limit on launch." #~ msgstr "المطالبة بالحد عند الإطلاق." -#: screens/Job/JobDetail/JobDetail.tsx:247 +#: screens/Job/JobDetail/JobDetail.tsx:246 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalList.tsx:215 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListItem.tsx:84 msgid "Started" @@ -6080,7 +6080,7 @@ msgstr "علامة تبويب المخرجات" msgid "Denied" msgstr "مرفوض" -#: screens/Job/JobDetail/JobDetail.tsx:254 +#: screens/Job/JobDetail/JobDetail.tsx:253 msgid "Unknown Finish Date" msgstr "تاريخ انتهاء غير معروف" @@ -6095,7 +6095,7 @@ msgstr "اختيار متعدد" #: components/AdHocCommands/AdHocCredentialStep.tsx:111 #: components/AdHocCommands/AdHocCredentialStep.tsx:112 #: components/AdHocCommands/AdHocCredentialStep.tsx:124 -#: screens/Job/JobDetail/JobDetail.tsx:446 +#: screens/Job/JobDetail/JobDetail.tsx:445 msgid "Machine Credential" msgstr "بيانات اعتماد الجهاز" @@ -6261,7 +6261,7 @@ msgstr "رسالة البدء" msgid "Scope for the token's access" msgstr "نطاق وصول الرمز المميز" -#: screens/Job/JobDetail/JobDetail.tsx:569 +#: screens/Job/JobDetail/JobDetail.tsx:568 msgid "Module Name" msgstr "اسم الوحدة" @@ -7032,7 +7032,7 @@ msgstr "اختر دليل Playbook" #: components/TemplateList/TemplateListItem.tsx:169 #: components/Workflow/WorkflowNodeHelp.tsx:45 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:30 -#: screens/Job/JobDetail/JobDetail.tsx:275 +#: screens/Job/JobDetail/JobDetail.tsx:274 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:85 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:224 msgid "Workflow Job Template" @@ -7552,7 +7552,7 @@ msgstr "تم رفض تحميل الملف. يرجى تحديد ملف .json وا msgid "Local time zone" msgstr "المنطقة الزمنية المحلية" -#: screens/Job/JobDetail/JobDetail.tsx:209 +#: screens/Job/JobDetail/JobDetail.tsx:208 msgid "No Status Available" msgstr "لا توجد حالة متاحة" @@ -7886,7 +7886,7 @@ msgstr "{0, plural, one {يتم استخدام هذا المثيل حاليًا #: screens/Setting/LDAP/LDAPDetail/LDAPDetail.tsx:105 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:70 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:44 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:82 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:81 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:44 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:45 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:54 @@ -8040,7 +8040,7 @@ msgstr "من الصعب تقديم مواصفات\n" " الحقائق الفعلية من نظام إلى آخر." #: components/JobList/JobListItem.tsx:371 -#: screens/Job/JobDetail/JobDetail.tsx:421 +#: screens/Job/JobDetail/JobDetail.tsx:420 msgid "Job Slice Parent" msgstr "أصل شريحة المهمة" @@ -8322,7 +8322,7 @@ msgstr "" #: screens/Inventory/ConstructedInventoryDetail/ConstructedInventoryDetail.tsx:234 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:281 #: screens/Inventory/shared/InventorySourceSubForms/SharedFields.tsx:51 -#: screens/Job/JobDetail/JobDetail.tsx:370 +#: screens/Job/JobDetail/JobDetail.tsx:369 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:263 msgid "Verbosity" msgstr "التفصيل" @@ -8332,7 +8332,7 @@ msgstr "التفصيل" msgid "Mattermost" msgstr "Mattermost" -#: screens/Job/JobDetail/JobDetail.tsx:225 +#: screens/Job/JobDetail/JobDetail.tsx:224 msgid "Job ID" msgstr "معرّف المهمة" @@ -8398,7 +8398,7 @@ msgstr "مزامنة المخزون" #: components/Lookup/ProjectLookup.tsx:165 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:166 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:234 -#: screens/Job/JobDetail/JobDetail.tsx:79 +#: screens/Job/JobDetail/JobDetail.tsx:78 #: screens/Project/ProjectList/ProjectList.tsx:201 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/ProjectsList.tsx:105 msgid "Remote Archive" @@ -8989,7 +8989,7 @@ msgstr "المصادر" msgid "Textarea" msgstr "منطقة نص" -#: screens/Job/JobDetail/JobDetail.tsx:237 +#: screens/Job/JobDetail/JobDetail.tsx:236 msgid "Unknown Status" msgstr "حالة غير معروفة" @@ -9076,7 +9076,7 @@ msgstr "خيارات التحديث" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:179 #: screens/Inventory/InventoryGroupDetail/InventoryGroupDetail.tsx:56 #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:91 -#: screens/Job/JobDetail/JobDetail.tsx:583 +#: screens/Job/JobDetail/JobDetail.tsx:582 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:451 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:103 #: screens/Project/ProjectDetail/ProjectDetail.tsx:331 @@ -9162,7 +9162,7 @@ msgstr "{0, plural, one {# مصدر به فشل في المزامنة.} other {# msgid "Back to Instances" msgstr "العودة إلى المثيلات" -#: screens/Job/JobDetail/JobDetail.tsx:321 +#: screens/Job/JobDetail/JobDetail.tsx:320 msgid "Inventory Source" msgstr "مصدر المخزون" @@ -9289,7 +9289,7 @@ msgstr "إلغاء ربط المجموعة (المجموعات) ذات الصل #: components/PromptDetail/PromptDetail.tsx:415 #: components/PromptDetail/PromptJobTemplateDetail.tsx:158 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:509 -#: screens/Job/JobDetail/JobDetail.tsx:428 +#: screens/Job/JobDetail/JobDetail.tsx:427 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:251 #: screens/Template/shared/JobTemplateForm.tsx:502 #: screens/TopologyView/Tooltip.tsx:268 @@ -9613,7 +9613,7 @@ msgstr "يجب تحديد مخزون" #: components/PromptDetail/PromptWFJobTemplateDetail.tsx:102 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:501 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:286 -#: screens/Job/JobDetail/JobDetail.tsx:346 +#: screens/Job/JobDetail/JobDetail.tsx:345 #: screens/Project/ProjectDetail/ProjectDetail.tsx:232 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:240 #: screens/Template/shared/JobTemplateForm.tsx:423 @@ -9658,8 +9658,8 @@ msgid "This has already been acted on" msgstr "تم اتخاذ إجراء بشأن هذا بالفعل" #: screens/Job/JobDetail/JobDetail.tsx:78 -msgid "Red Hat Insights" -msgstr "Red Hat Insights" +#~ msgid "Red Hat Insights" +#~ msgstr "Red Hat Insights" #: screens/Setting/GitHub/GitHub.tsx:59 msgid "View GitHub Settings" @@ -9699,7 +9699,7 @@ msgid "When not checked, a merge will be performed, combining local variables wi msgstr "عند عدم التحديد، سيتم إجراء دمج، يجمع بين المتغيرات المحلية وتلك الموجودة في المصدر الخارجي." #: components/JobList/JobListItem.tsx:144 -#: screens/Job/JobDetail/JobDetail.tsx:642 +#: screens/Job/JobDetail/JobDetail.tsx:641 #: screens/Job/JobOutput/JobOutput.tsx:1214 #: screens/Job/JobOutput/JobOutput.tsx:1215 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:172 @@ -9727,7 +9727,7 @@ msgstr "مصادر المخزون التي بها إخفاقات" #: screens/Inventory/InventoryList/InventoryListItem.tsx:117 #: screens/Inventory/InventorySources/InventorySourceList.tsx:215 #: screens/Inventory/InventorySources/InventorySourceListItem.tsx:77 -#: screens/Job/JobDetail/JobDetail.tsx:231 +#: screens/Job/JobDetail/JobDetail.tsx:230 #: screens/Job/JobOutput/HostEventModal.tsx:167 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:167 #: screens/NotificationTemplate/NotificationTemplateList/NotificationTemplateList.tsx:178 @@ -9920,7 +9920,7 @@ msgstr "إلغاء البحث" #: screens/Setting/Jobs/JobsDetail/JobsDetail.tsx:65 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:77 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:51 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:89 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:88 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:51 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:52 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:61 @@ -10509,8 +10509,8 @@ msgstr "يجب أن يحتوي هذا الحقل على {0} أحرف على ال #: components/PromptDetail/PromptInventorySourceDetail.tsx:81 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:233 #: screens/Inventory/shared/InventorySourceForm.tsx:180 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:333 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:332 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/InventorySourcesList.tsx:99 msgid "Source" msgstr "المصدر" @@ -10634,7 +10634,7 @@ msgstr "لا يساوي" msgid "IRC nick" msgstr "اسم IRC المستعار" -#: screens/Job/JobDetail/JobDetail.tsx:575 +#: screens/Job/JobDetail/JobDetail.tsx:574 msgid "Module Arguments" msgstr "وسائط الوحدة" @@ -10726,7 +10726,7 @@ msgstr "اختر نوع مهمة" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:145 -#: screens/Job/JobDetail/JobDetail.tsx:643 +#: screens/Job/JobDetail/JobDetail.tsx:642 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:173 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:164 msgid "Cancel {0}" @@ -10898,7 +10898,7 @@ msgstr "" msgid "Invalid date format" msgstr "" -#: screens/Job/JobDetail/JobDetail.tsx:397 +#: screens/Job/JobDetail/JobDetail.tsx:396 msgid "Instance Group" msgstr "مجموعة المثيلات" @@ -11019,7 +11019,7 @@ msgstr "" msgid "Invalid time format" msgstr "تنسيق وقت غير صالح" -#: screens/Job/JobDetail/JobDetail.tsx:189 +#: screens/Job/JobDetail/JobDetail.tsx:188 msgid "Unknown Project" msgstr "مشروع غير معروف" @@ -11105,7 +11105,7 @@ msgstr "النمط المستخدم لاستهداف المضيفين في ال #: components/PromptDetail/PromptDetail.tsx:196 #: components/PromptDetail/PromptDetail.tsx:425 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:518 -#: screens/Job/JobDetail/JobDetail.tsx:436 +#: screens/Job/JobDetail/JobDetail.tsx:435 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:223 #: screens/NotificationTemplate/shared/TypeInputsSubForm.tsx:197 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:269 @@ -11460,7 +11460,7 @@ msgstr "يرجى تشغيل مهمة لملء هذه القائمة." #: screens/Inventory/shared/ConstructedInventoryHint.tsx:176 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:263 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:334 -#: screens/Job/JobDetail/JobDetail.tsx:364 +#: screens/Job/JobDetail/JobDetail.tsx:363 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:257 #: screens/Template/shared/JobTemplateForm.tsx:522 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:208 @@ -11498,8 +11498,8 @@ msgstr "ربط" #: components/JobList/JobListItem.tsx:197 #: components/LaunchButton/ReLaunchDropDown.tsx:86 #: components/LaunchButton/WorkflowReLaunchDropDown.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:623 -#: screens/Job/JobDetail/JobDetail.tsx:631 +#: screens/Job/JobDetail/JobDetail.tsx:622 +#: screens/Job/JobDetail/JobDetail.tsx:630 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:204 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:204 msgid "Relaunch" @@ -11572,8 +11572,8 @@ msgstr "حذف رمز المستخدم المميز" msgid "encrypted" msgstr "مشفّر" -#: screens/Job/JobDetail/JobDetail.tsx:122 -#: screens/Job/JobDetail/JobDetail.tsx:148 +#: screens/Job/JobDetail/JobDetail.tsx:121 +#: screens/Job/JobDetail/JobDetail.tsx:147 msgid "Unknown Inventory" msgstr "مخزون غير معروف" @@ -11658,7 +11658,7 @@ msgid "Source Phone Number" msgstr "رقم هاتف المصدر" #. placeholder {0}: job.timeout -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "{0} seconds" msgstr "{0} ثانية" @@ -11773,7 +11773,7 @@ msgstr "نص رسالة الخطأ" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:146 -#: screens/Job/JobDetail/JobDetail.tsx:644 +#: screens/Job/JobDetail/JobDetail.tsx:643 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:174 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:165 msgid "Failed to cancel {0}" @@ -11844,7 +11844,7 @@ msgid "Created By (Username)" msgstr "تم الإنشاء بواسطة (اسم المستخدم)" #: components/PromptDetail/PromptJobTemplateDetail.tsx:156 -#: screens/Job/JobDetail/JobDetail.tsx:358 +#: screens/Job/JobDetail/JobDetail.tsx:357 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:245 #: screens/Template/shared/JobTemplateForm.tsx:441 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:48 @@ -11956,9 +11956,9 @@ msgstr "تبديل بدء الإشعار" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:107 #: screens/Inventory/InventoryList/InventoryList.tsx:202 #: screens/Inventory/InventoryList/InventoryListItem.tsx:60 -#: screens/Job/JobDetail/JobDetail.tsx:108 -#: screens/Job/JobDetail/JobDetail.tsx:127 -#: screens/Job/JobDetail/JobDetail.tsx:134 +#: screens/Job/JobDetail/JobDetail.tsx:107 +#: screens/Job/JobDetail/JobDetail.tsx:126 +#: screens/Job/JobDetail/JobDetail.tsx:133 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:207 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:217 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:143 diff --git a/ascender/ui/src/locales/en/messages.po b/ascender/ui/src/locales/en/messages.po index 713cd584a..0425a2670 100644 --- a/ascender/ui/src/locales/en/messages.po +++ b/ascender/ui/src/locales/en/messages.po @@ -1083,7 +1083,7 @@ msgstr "View all Teams." msgid "This field must be a regular expression" msgstr "This field must be a regular expression" -#: screens/Job/JobDetail/JobDetail.tsx:602 +#: screens/Job/JobDetail/JobDetail.tsx:601 msgid "Artifacts" msgstr "Artifacts" @@ -1152,7 +1152,7 @@ msgid "Controls whether or not this instance is managed by policy. If enabled, t msgstr "Controls whether or not this instance is managed by policy. If enabled, the instance will be available for automatic assignment to and unassignment from instance groups based on policy rules." #: components/JobList/JobList.tsx:257 -#: screens/Job/JobDetail/JobDetail.tsx:253 +#: screens/Job/JobDetail/JobDetail.tsx:252 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:246 msgid "Finished" msgstr "Finished" @@ -1403,7 +1403,7 @@ msgstr "E-mail" #: components/PromptDetail/PromptDetail.tsx:253 #: components/PromptDetail/PromptJobTemplateDetail.tsx:111 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:457 -#: screens/Job/JobDetail/JobDetail.tsx:306 +#: screens/Job/JobDetail/JobDetail.tsx:305 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:185 #: screens/Template/shared/JobTemplateForm.tsx:342 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:140 @@ -1446,7 +1446,7 @@ msgstr "option to the" msgid "Failed to delete user." msgstr "Failed to delete user." -#: screens/Job/JobDetail/JobDetail.tsx:405 +#: screens/Job/JobDetail/JobDetail.tsx:404 msgid "Container Group" msgstr "Container Group" @@ -1530,7 +1530,7 @@ msgstr "Failed to delete notification." msgid "Show less" msgstr "Show less" -#: screens/Job/JobDetail/JobDetail.tsx:353 +#: screens/Job/JobDetail/JobDetail.tsx:352 #: screens/Project/ProjectList/ProjectList.tsx:224 #: screens/Project/ProjectList/ProjectListItem.tsx:207 msgid "Revision" @@ -2131,7 +2131,7 @@ msgstr "Parent node outcome required before the condition is evaluated." #: components/Workflow/WorkflowNodeHelp.tsx:41 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateList.tsx:101 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:29 -#: screens/Job/JobDetail/JobDetail.tsx:260 +#: screens/Job/JobDetail/JobDetail.tsx:259 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:73 msgid "Job Template" msgstr "Job Template" @@ -2545,7 +2545,7 @@ msgid "Delete Execution Environment" msgstr "Delete Execution Environment" #: components/JobList/JobListItem.tsx:366 -#: screens/Job/JobDetail/JobDetail.tsx:413 +#: screens/Job/JobDetail/JobDetail.tsx:412 msgid "Job Slice" msgstr "Job Slice" @@ -2603,7 +2603,7 @@ msgstr "Use one IRC channel or username per line. The pound\n" msgid "Microsoft Azure Resource Manager" msgstr "Microsoft Azure Resource Manager" -#: screens/Job/JobDetail/JobDetail.tsx:664 +#: screens/Job/JobDetail/JobDetail.tsx:663 #: screens/Job/JobOutput/JobOutput.tsx:1203 #: screens/Job/JobOutput/JobOutput.tsx:1204 #: screens/Job/WorkflowOutput/WorkflowOutput.tsx:134 @@ -2615,7 +2615,7 @@ msgstr "Job Delete Error" msgid "On days" msgstr "On days" -#: screens/Job/JobDetail/JobDetail.tsx:384 +#: screens/Job/JobDetail/JobDetail.tsx:383 msgid "Execution Node" msgstr "Execution Node" @@ -2811,7 +2811,7 @@ msgid "Question" msgstr "Question" #: components/PromptDetail/PromptProjectDetail.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:312 +#: screens/Job/JobDetail/JobDetail.tsx:311 #: screens/Project/ProjectDetail/ProjectDetail.tsx:192 #: screens/Project/shared/ProjectForm.tsx:316 msgid "Source Control Type" @@ -3025,7 +3025,7 @@ msgstr "Azure AD settings" #: components/JobList/JobListItem.tsx:371 #: screens/ExecutionEnvironment/ExecutionEnvironmentDetails/ExecutionEnvironmentDetails.tsx:74 -#: screens/Job/JobDetail/JobDetail.tsx:422 +#: screens/Job/JobDetail/JobDetail.tsx:421 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:263 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:293 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:323 @@ -3324,7 +3324,7 @@ msgstr "Type answer then click checkbox on right to select answer as\n" msgid "Survey Question Order" msgstr "Survey Question Order" -#: screens/Job/JobDetail/JobDetail.tsx:248 +#: screens/Job/JobDetail/JobDetail.tsx:247 msgid "Unknown Start Date" msgstr "Unknown Start Date" @@ -3364,7 +3364,7 @@ msgstr "Less than or equal to comparison." #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:85 #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:109 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:164 -#: screens/Job/JobDetail/JobDetail.tsx:655 +#: screens/Job/JobDetail/JobDetail.tsx:654 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:493 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:164 #: screens/Project/ProjectDetail/ProjectDetail.tsx:374 @@ -3514,7 +3514,7 @@ msgstr "GitHub Team" #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:88 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:337 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:139 -#: screens/Job/JobDetail/JobDetail.tsx:579 +#: screens/Job/JobDetail/JobDetail.tsx:578 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:446 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:98 #: screens/Project/ProjectDetail/ProjectDetail.tsx:326 @@ -3702,11 +3702,11 @@ msgstr "Azure AD Tenant" msgid "Create new Instance" msgstr "Create new Instance" -#: screens/Job/JobDetail/JobDetail.tsx:195 +#: screens/Job/JobDetail/JobDetail.tsx:194 msgid "Project Update Status" msgstr "Project Update Status" -#: screens/Job/JobDetail/JobDetail.tsx:390 +#: screens/Job/JobDetail/JobDetail.tsx:389 msgid "Controller Node" msgstr "Controller Node" @@ -3884,8 +3884,8 @@ msgstr "Default Execution Environment" #: components/PromptDetail/PromptJobTemplateDetail.tsx:150 #: components/TemplateList/TemplateListItem.tsx:279 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:256 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:215 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:214 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:222 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:232 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:43 @@ -4120,8 +4120,8 @@ msgstr "Delete Credential" #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:112 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:85 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:89 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:139 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:143 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:119 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:123 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:85 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:89 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:96 @@ -4170,7 +4170,7 @@ msgstr "View JSON examples at" msgid "Destination SMS Number(s)" msgstr "Destination SMS Number(s)" -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "No timeout specified" msgstr "No timeout specified" @@ -4756,7 +4756,7 @@ msgid "Delete this node" msgstr "Delete this node" #: components/JobList/JobListItem.tsx:264 -#: screens/Job/JobDetail/JobDetail.tsx:292 +#: screens/Job/JobDetail/JobDetail.tsx:291 msgid "Source Workflow Job" msgstr "Source Workflow Job" @@ -4965,7 +4965,7 @@ msgstr "Select a question to delete" #: screens/Inventory/shared/InventoryGroupForm.tsx:68 #: screens/Inventory/shared/SmartInventoryForm.tsx:101 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:133 -#: screens/Job/JobDetail/JobDetail.tsx:590 +#: screens/Job/JobDetail/JobDetail.tsx:589 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:484 #: screens/Template/shared/JobTemplateForm.tsx:495 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:261 @@ -5125,7 +5125,7 @@ msgstr "Collapse" #: screens/Inventory/FederatedInventoryDetail/FederatedInventoryDetail.tsx:124 #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:145 #: screens/Inventory/shared/InventoryForm.tsx:89 -#: screens/Job/JobDetail/JobDetail.tsx:492 +#: screens/Job/JobDetail/JobDetail.tsx:491 #: screens/Labels/Labels.tsx:13 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:399 #: screens/Template/shared/JobTemplateForm.tsx:480 @@ -5171,7 +5171,7 @@ msgstr "Month" #: screens/Credential/CredentialList/CredentialList.tsx:195 #: screens/Credential/Credentials.tsx:16 #: screens/Credential/Credentials.tsx:27 -#: screens/Job/JobDetail/JobDetail.tsx:468 +#: screens/Job/JobDetail/JobDetail.tsx:467 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:372 #: screens/Template/shared/JobTemplateForm.tsx:465 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:54 @@ -5196,7 +5196,7 @@ msgstr "Minimum number of instances that will be automatically\n" #: components/PromptDetail/PromptDetail.tsx:323 #: components/PromptDetail/PromptJobTemplateDetail.tsx:255 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:590 -#: screens/Job/JobDetail/JobDetail.tsx:517 +#: screens/Job/JobDetail/JobDetail.tsx:516 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:433 #: screens/Template/shared/JobTemplateForm.tsx:625 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:267 @@ -5220,7 +5220,7 @@ msgstr "Select a row to approve" #~ msgid "Unique Hosts" #~ msgstr "Unique Hosts" -#: screens/Job/JobDetail/JobDetail.tsx:651 +#: screens/Job/JobDetail/JobDetail.tsx:650 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:247 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:251 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:219 @@ -5837,7 +5837,7 @@ msgstr "Instance Groups" #: components/PromptDetail/PromptDetail.tsx:357 #: components/PromptDetail/PromptJobTemplateDetail.tsx:275 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:615 -#: screens/Job/JobDetail/JobDetail.tsx:544 +#: screens/Job/JobDetail/JobDetail.tsx:543 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:459 #: screens/Template/shared/JobTemplateForm.tsx:637 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:279 @@ -5908,7 +5908,7 @@ msgstr "Nested groups inventory definition:" #~ msgid "Prompt for limit on launch." #~ msgstr "Prompt for limit on launch." -#: screens/Job/JobDetail/JobDetail.tsx:247 +#: screens/Job/JobDetail/JobDetail.tsx:246 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalList.tsx:215 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListItem.tsx:84 msgid "Started" @@ -6078,7 +6078,7 @@ msgstr "Output tab" msgid "Denied" msgstr "Denied" -#: screens/Job/JobDetail/JobDetail.tsx:254 +#: screens/Job/JobDetail/JobDetail.tsx:253 msgid "Unknown Finish Date" msgstr "Unknown Finish Date" @@ -6093,7 +6093,7 @@ msgstr "Multiple Choice" #: components/AdHocCommands/AdHocCredentialStep.tsx:111 #: components/AdHocCommands/AdHocCredentialStep.tsx:112 #: components/AdHocCommands/AdHocCredentialStep.tsx:124 -#: screens/Job/JobDetail/JobDetail.tsx:446 +#: screens/Job/JobDetail/JobDetail.tsx:445 msgid "Machine Credential" msgstr "Machine Credential" @@ -6259,7 +6259,7 @@ msgstr "Start message" msgid "Scope for the token's access" msgstr "Scope for the token's access" -#: screens/Job/JobDetail/JobDetail.tsx:569 +#: screens/Job/JobDetail/JobDetail.tsx:568 msgid "Module Name" msgstr "Module Name" @@ -7030,7 +7030,7 @@ msgstr "Choose a Playbook Directory" #: components/TemplateList/TemplateListItem.tsx:169 #: components/Workflow/WorkflowNodeHelp.tsx:45 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:30 -#: screens/Job/JobDetail/JobDetail.tsx:275 +#: screens/Job/JobDetail/JobDetail.tsx:274 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:85 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:224 msgid "Workflow Job Template" @@ -7550,7 +7550,7 @@ msgstr "File upload rejected. Please select a single .json file." msgid "Local time zone" msgstr "Local time zone" -#: screens/Job/JobDetail/JobDetail.tsx:209 +#: screens/Job/JobDetail/JobDetail.tsx:208 msgid "No Status Available" msgstr "No Status Available" @@ -7884,7 +7884,7 @@ msgstr "{0, plural, one {This instance is currently being used by other resource #: screens/Setting/LDAP/LDAPDetail/LDAPDetail.tsx:105 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:70 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:44 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:82 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:81 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:44 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:45 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:54 @@ -8038,7 +8038,7 @@ msgstr "It is hard to give a specification for\n" " actual facts will differ system-to-system." #: components/JobList/JobListItem.tsx:371 -#: screens/Job/JobDetail/JobDetail.tsx:421 +#: screens/Job/JobDetail/JobDetail.tsx:420 msgid "Job Slice Parent" msgstr "Job Slice Parent" @@ -8320,7 +8320,7 @@ msgstr "" #: screens/Inventory/ConstructedInventoryDetail/ConstructedInventoryDetail.tsx:234 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:281 #: screens/Inventory/shared/InventorySourceSubForms/SharedFields.tsx:51 -#: screens/Job/JobDetail/JobDetail.tsx:370 +#: screens/Job/JobDetail/JobDetail.tsx:369 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:263 msgid "Verbosity" msgstr "Verbosity" @@ -8330,7 +8330,7 @@ msgstr "Verbosity" msgid "Mattermost" msgstr "Mattermost" -#: screens/Job/JobDetail/JobDetail.tsx:225 +#: screens/Job/JobDetail/JobDetail.tsx:224 msgid "Job ID" msgstr "Job ID" @@ -8396,7 +8396,7 @@ msgstr "Inventory sync" #: components/Lookup/ProjectLookup.tsx:165 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:166 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:234 -#: screens/Job/JobDetail/JobDetail.tsx:79 +#: screens/Job/JobDetail/JobDetail.tsx:78 #: screens/Project/ProjectList/ProjectList.tsx:201 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/ProjectsList.tsx:105 msgid "Remote Archive" @@ -8987,7 +8987,7 @@ msgstr "Sources" msgid "Textarea" msgstr "Textarea" -#: screens/Job/JobDetail/JobDetail.tsx:237 +#: screens/Job/JobDetail/JobDetail.tsx:236 msgid "Unknown Status" msgstr "Unknown Status" @@ -9074,7 +9074,7 @@ msgstr "Update options" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:179 #: screens/Inventory/InventoryGroupDetail/InventoryGroupDetail.tsx:56 #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:91 -#: screens/Job/JobDetail/JobDetail.tsx:583 +#: screens/Job/JobDetail/JobDetail.tsx:582 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:451 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:103 #: screens/Project/ProjectDetail/ProjectDetail.tsx:331 @@ -9160,7 +9160,7 @@ msgstr "{0, plural, one {# source with sync failures.} other {# sources with syn msgid "Back to Instances" msgstr "Back to Instances" -#: screens/Job/JobDetail/JobDetail.tsx:321 +#: screens/Job/JobDetail/JobDetail.tsx:320 msgid "Inventory Source" msgstr "Inventory Source" @@ -9287,7 +9287,7 @@ msgstr "Disassociate related group(s)?" #: components/PromptDetail/PromptDetail.tsx:415 #: components/PromptDetail/PromptJobTemplateDetail.tsx:158 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:509 -#: screens/Job/JobDetail/JobDetail.tsx:428 +#: screens/Job/JobDetail/JobDetail.tsx:427 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:251 #: screens/Template/shared/JobTemplateForm.tsx:502 #: screens/TopologyView/Tooltip.tsx:268 @@ -9611,7 +9611,7 @@ msgstr "An inventory must be selected" #: components/PromptDetail/PromptWFJobTemplateDetail.tsx:102 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:501 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:286 -#: screens/Job/JobDetail/JobDetail.tsx:346 +#: screens/Job/JobDetail/JobDetail.tsx:345 #: screens/Project/ProjectDetail/ProjectDetail.tsx:232 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:240 #: screens/Template/shared/JobTemplateForm.tsx:423 @@ -9656,8 +9656,8 @@ msgid "This has already been acted on" msgstr "This has already been acted on" #: screens/Job/JobDetail/JobDetail.tsx:78 -msgid "Red Hat Insights" -msgstr "Red Hat Insights" +#~ msgid "Red Hat Insights" +#~ msgstr "Red Hat Insights" #: screens/Setting/GitHub/GitHub.tsx:59 msgid "View GitHub Settings" @@ -9697,7 +9697,7 @@ msgid "When not checked, a merge will be performed, combining local variables wi msgstr "When not checked, a merge will be performed, combining local variables with those found on the external source." #: components/JobList/JobListItem.tsx:144 -#: screens/Job/JobDetail/JobDetail.tsx:642 +#: screens/Job/JobDetail/JobDetail.tsx:641 #: screens/Job/JobOutput/JobOutput.tsx:1214 #: screens/Job/JobOutput/JobOutput.tsx:1215 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:172 @@ -9725,7 +9725,7 @@ msgstr "Inventory sources with failures" #: screens/Inventory/InventoryList/InventoryListItem.tsx:117 #: screens/Inventory/InventorySources/InventorySourceList.tsx:215 #: screens/Inventory/InventorySources/InventorySourceListItem.tsx:77 -#: screens/Job/JobDetail/JobDetail.tsx:231 +#: screens/Job/JobDetail/JobDetail.tsx:230 #: screens/Job/JobOutput/HostEventModal.tsx:167 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:167 #: screens/NotificationTemplate/NotificationTemplateList/NotificationTemplateList.tsx:178 @@ -9918,7 +9918,7 @@ msgstr "Cancel lookup" #: screens/Setting/Jobs/JobsDetail/JobsDetail.tsx:65 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:77 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:51 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:89 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:88 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:51 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:52 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:61 @@ -10507,8 +10507,8 @@ msgstr "This field must be at least {0} characters" #: components/PromptDetail/PromptInventorySourceDetail.tsx:81 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:233 #: screens/Inventory/shared/InventorySourceForm.tsx:180 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:333 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:332 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/InventorySourcesList.tsx:99 msgid "Source" msgstr "Source" @@ -10632,7 +10632,7 @@ msgstr "Not equals" msgid "IRC nick" msgstr "IRC nick" -#: screens/Job/JobDetail/JobDetail.tsx:575 +#: screens/Job/JobDetail/JobDetail.tsx:574 msgid "Module Arguments" msgstr "Module Arguments" @@ -10724,7 +10724,7 @@ msgstr "Choose a job type" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:145 -#: screens/Job/JobDetail/JobDetail.tsx:643 +#: screens/Job/JobDetail/JobDetail.tsx:642 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:173 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:164 msgid "Cancel {0}" @@ -10896,7 +10896,7 @@ msgstr "{draggedName} is now at position {0}." msgid "Invalid date format" msgstr "Invalid date format" -#: screens/Job/JobDetail/JobDetail.tsx:397 +#: screens/Job/JobDetail/JobDetail.tsx:396 msgid "Instance Group" msgstr "Instance Group" @@ -11017,7 +11017,7 @@ msgstr "Code editor" msgid "Invalid time format" msgstr "Invalid time format" -#: screens/Job/JobDetail/JobDetail.tsx:189 +#: screens/Job/JobDetail/JobDetail.tsx:188 msgid "Unknown Project" msgstr "Unknown Project" @@ -11103,7 +11103,7 @@ msgstr "The pattern used to target hosts in the inventory. Leaving the field bla #: components/PromptDetail/PromptDetail.tsx:196 #: components/PromptDetail/PromptDetail.tsx:425 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:518 -#: screens/Job/JobDetail/JobDetail.tsx:436 +#: screens/Job/JobDetail/JobDetail.tsx:435 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:223 #: screens/NotificationTemplate/shared/TypeInputsSubForm.tsx:197 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:269 @@ -11458,7 +11458,7 @@ msgstr "Please run a job to populate this list." #: screens/Inventory/shared/ConstructedInventoryHint.tsx:176 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:263 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:334 -#: screens/Job/JobDetail/JobDetail.tsx:364 +#: screens/Job/JobDetail/JobDetail.tsx:363 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:257 #: screens/Template/shared/JobTemplateForm.tsx:522 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:208 @@ -11496,8 +11496,8 @@ msgstr "Associate" #: components/JobList/JobListItem.tsx:197 #: components/LaunchButton/ReLaunchDropDown.tsx:86 #: components/LaunchButton/WorkflowReLaunchDropDown.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:623 -#: screens/Job/JobDetail/JobDetail.tsx:631 +#: screens/Job/JobDetail/JobDetail.tsx:622 +#: screens/Job/JobDetail/JobDetail.tsx:630 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:204 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:204 msgid "Relaunch" @@ -11570,8 +11570,8 @@ msgstr "Delete User Token" msgid "encrypted" msgstr "encrypted" -#: screens/Job/JobDetail/JobDetail.tsx:122 -#: screens/Job/JobDetail/JobDetail.tsx:148 +#: screens/Job/JobDetail/JobDetail.tsx:121 +#: screens/Job/JobDetail/JobDetail.tsx:147 msgid "Unknown Inventory" msgstr "Unknown Inventory" @@ -11656,7 +11656,7 @@ msgid "Source Phone Number" msgstr "Source Phone Number" #. placeholder {0}: job.timeout -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "{0} seconds" msgstr "{0} seconds" @@ -11771,7 +11771,7 @@ msgstr "Error message body" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:146 -#: screens/Job/JobDetail/JobDetail.tsx:644 +#: screens/Job/JobDetail/JobDetail.tsx:643 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:174 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:165 msgid "Failed to cancel {0}" @@ -11842,7 +11842,7 @@ msgid "Created By (Username)" msgstr "Created By (Username)" #: components/PromptDetail/PromptJobTemplateDetail.tsx:156 -#: screens/Job/JobDetail/JobDetail.tsx:358 +#: screens/Job/JobDetail/JobDetail.tsx:357 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:245 #: screens/Template/shared/JobTemplateForm.tsx:441 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:48 @@ -11954,9 +11954,9 @@ msgstr "Toggle notification start" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:107 #: screens/Inventory/InventoryList/InventoryList.tsx:202 #: screens/Inventory/InventoryList/InventoryListItem.tsx:60 -#: screens/Job/JobDetail/JobDetail.tsx:108 -#: screens/Job/JobDetail/JobDetail.tsx:127 -#: screens/Job/JobDetail/JobDetail.tsx:134 +#: screens/Job/JobDetail/JobDetail.tsx:107 +#: screens/Job/JobDetail/JobDetail.tsx:126 +#: screens/Job/JobDetail/JobDetail.tsx:133 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:207 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:217 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:143 diff --git a/ascender/ui/src/locales/es/messages.po b/ascender/ui/src/locales/es/messages.po index db2e72e72..e348201a6 100644 --- a/ascender/ui/src/locales/es/messages.po +++ b/ascender/ui/src/locales/es/messages.po @@ -1083,7 +1083,7 @@ msgstr "Ver todos los equipos." msgid "This field must be a regular expression" msgstr "Este campo debe ser una expresión regular" -#: screens/Job/JobDetail/JobDetail.tsx:602 +#: screens/Job/JobDetail/JobDetail.tsx:601 msgid "Artifacts" msgstr "Artefactos" @@ -1152,7 +1152,7 @@ msgid "Controls whether or not this instance is managed by policy. If enabled, t msgstr "Controla si esta instancia está gestionada por la directiva o no. Si está habilitada, la instancia estará disponible para la asignación automática y la desasignación de grupos de instancias en función de las reglas de la política." #: components/JobList/JobList.tsx:257 -#: screens/Job/JobDetail/JobDetail.tsx:253 +#: screens/Job/JobDetail/JobDetail.tsx:252 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:246 msgid "Finished" msgstr "Finalizado" @@ -1403,7 +1403,7 @@ msgstr "Correo electrónico" #: components/PromptDetail/PromptDetail.tsx:253 #: components/PromptDetail/PromptJobTemplateDetail.tsx:111 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:457 -#: screens/Job/JobDetail/JobDetail.tsx:306 +#: screens/Job/JobDetail/JobDetail.tsx:305 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:185 #: screens/Template/shared/JobTemplateForm.tsx:342 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:140 @@ -1446,7 +1446,7 @@ msgstr "opción a" msgid "Failed to delete user." msgstr "No se pudo eliminar el usuario." -#: screens/Job/JobDetail/JobDetail.tsx:405 +#: screens/Job/JobDetail/JobDetail.tsx:404 msgid "Container Group" msgstr "Grupo de contenedores" @@ -1530,7 +1530,7 @@ msgstr "No se pudo eliminar la notificación." msgid "Show less" msgstr "Mostrar menos" -#: screens/Job/JobDetail/JobDetail.tsx:353 +#: screens/Job/JobDetail/JobDetail.tsx:352 #: screens/Project/ProjectList/ProjectList.tsx:224 #: screens/Project/ProjectList/ProjectListItem.tsx:207 msgid "Revision" @@ -2131,7 +2131,7 @@ msgstr "Resultado del nodo primario necesario antes de evaluar la condición." #: components/Workflow/WorkflowNodeHelp.tsx:41 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateList.tsx:101 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:29 -#: screens/Job/JobDetail/JobDetail.tsx:260 +#: screens/Job/JobDetail/JobDetail.tsx:259 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:73 msgid "Job Template" msgstr "Plantilla de trabajo" @@ -2546,7 +2546,7 @@ msgid "Delete Execution Environment" msgstr "Eliminar entorno de ejecución" #: components/JobList/JobListItem.tsx:366 -#: screens/Job/JobDetail/JobDetail.tsx:413 +#: screens/Job/JobDetail/JobDetail.tsx:412 msgid "Job Slice" msgstr "Fracción de tareas" @@ -2604,7 +2604,7 @@ msgstr "Use un canal de IRC o nombre de usuario por línea. El símbolo\n" msgid "Microsoft Azure Resource Manager" msgstr "Microsoft Azure Resource Manager" -#: screens/Job/JobDetail/JobDetail.tsx:664 +#: screens/Job/JobDetail/JobDetail.tsx:663 #: screens/Job/JobOutput/JobOutput.tsx:1203 #: screens/Job/JobOutput/JobOutput.tsx:1204 #: screens/Job/WorkflowOutput/WorkflowOutput.tsx:134 @@ -2616,7 +2616,7 @@ msgstr "Error en la eliminación de tareas" msgid "On days" msgstr "En los días" -#: screens/Job/JobDetail/JobDetail.tsx:384 +#: screens/Job/JobDetail/JobDetail.tsx:383 msgid "Execution Node" msgstr "Nodo de ejecución" @@ -2812,7 +2812,7 @@ msgid "Question" msgstr "Pregunta" #: components/PromptDetail/PromptProjectDetail.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:312 +#: screens/Job/JobDetail/JobDetail.tsx:311 #: screens/Project/ProjectDetail/ProjectDetail.tsx:192 #: screens/Project/shared/ProjectForm.tsx:316 msgid "Source Control Type" @@ -3026,7 +3026,7 @@ msgstr "Configuración de Azure AD" #: components/JobList/JobListItem.tsx:371 #: screens/ExecutionEnvironment/ExecutionEnvironmentDetails/ExecutionEnvironmentDetails.tsx:74 -#: screens/Job/JobDetail/JobDetail.tsx:422 +#: screens/Job/JobDetail/JobDetail.tsx:421 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:263 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:293 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:323 @@ -3324,7 +3324,7 @@ msgstr "Escriba la respuesta y marque la casilla de verificación a la derecha p msgid "Survey Question Order" msgstr "Orden de las preguntas de la encuesta" -#: screens/Job/JobDetail/JobDetail.tsx:248 +#: screens/Job/JobDetail/JobDetail.tsx:247 msgid "Unknown Start Date" msgstr "Fecha de inicio desconocida" @@ -3364,7 +3364,7 @@ msgstr "Menor o igual que la comparación." #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:85 #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:109 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:164 -#: screens/Job/JobDetail/JobDetail.tsx:655 +#: screens/Job/JobDetail/JobDetail.tsx:654 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:493 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:164 #: screens/Project/ProjectDetail/ProjectDetail.tsx:374 @@ -3514,7 +3514,7 @@ msgstr "Equipo GitHub" #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:88 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:337 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:139 -#: screens/Job/JobDetail/JobDetail.tsx:579 +#: screens/Job/JobDetail/JobDetail.tsx:578 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:446 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:98 #: screens/Project/ProjectDetail/ProjectDetail.tsx:326 @@ -3702,11 +3702,11 @@ msgstr "Azure AD Tenant" msgid "Create new Instance" msgstr "Crear nuevo grupo de instancias" -#: screens/Job/JobDetail/JobDetail.tsx:195 +#: screens/Job/JobDetail/JobDetail.tsx:194 msgid "Project Update Status" msgstr "Actualización del proyecto" -#: screens/Job/JobDetail/JobDetail.tsx:390 +#: screens/Job/JobDetail/JobDetail.tsx:389 msgid "Controller Node" msgstr "Nombre del controlador" @@ -3884,8 +3884,8 @@ msgstr "Entorno de ejecución predeterminado" #: components/PromptDetail/PromptJobTemplateDetail.tsx:150 #: components/TemplateList/TemplateListItem.tsx:279 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:256 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:215 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:214 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:222 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:232 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:43 @@ -4120,8 +4120,8 @@ msgstr "Eliminar credencial" #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:112 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:85 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:89 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:139 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:143 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:119 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:123 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:85 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:89 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:96 @@ -4170,7 +4170,7 @@ msgstr "Ver ejemplos de JSON en" msgid "Destination SMS Number(s)" msgstr "Números SMS del destinatario" -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "No timeout specified" msgstr "No se ha especificado el tiempo de espera" @@ -4756,7 +4756,7 @@ msgid "Delete this node" msgstr "Eliminar este nodo" #: components/JobList/JobListItem.tsx:264 -#: screens/Job/JobDetail/JobDetail.tsx:292 +#: screens/Job/JobDetail/JobDetail.tsx:291 msgid "Source Workflow Job" msgstr "Tarea del flujo de trabajo de origen" @@ -4965,7 +4965,7 @@ msgstr "Seleccione una pregunta para eliminar" #: screens/Inventory/shared/InventoryGroupForm.tsx:68 #: screens/Inventory/shared/SmartInventoryForm.tsx:101 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:133 -#: screens/Job/JobDetail/JobDetail.tsx:590 +#: screens/Job/JobDetail/JobDetail.tsx:589 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:484 #: screens/Template/shared/JobTemplateForm.tsx:495 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:261 @@ -5125,7 +5125,7 @@ msgstr "Contraer" #: screens/Inventory/FederatedInventoryDetail/FederatedInventoryDetail.tsx:124 #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:145 #: screens/Inventory/shared/InventoryForm.tsx:89 -#: screens/Job/JobDetail/JobDetail.tsx:492 +#: screens/Job/JobDetail/JobDetail.tsx:491 #: screens/Labels/Labels.tsx:13 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:399 #: screens/Template/shared/JobTemplateForm.tsx:480 @@ -5171,7 +5171,7 @@ msgstr "Mes" #: screens/Credential/CredentialList/CredentialList.tsx:195 #: screens/Credential/Credentials.tsx:16 #: screens/Credential/Credentials.tsx:27 -#: screens/Job/JobDetail/JobDetail.tsx:468 +#: screens/Job/JobDetail/JobDetail.tsx:467 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:372 #: screens/Template/shared/JobTemplateForm.tsx:465 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:54 @@ -5197,7 +5197,7 @@ msgstr "Número mínimo de instancias que se asignarán automáticamente\n" #: components/PromptDetail/PromptDetail.tsx:323 #: components/PromptDetail/PromptJobTemplateDetail.tsx:255 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:590 -#: screens/Job/JobDetail/JobDetail.tsx:517 +#: screens/Job/JobDetail/JobDetail.tsx:516 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:433 #: screens/Template/shared/JobTemplateForm.tsx:625 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:267 @@ -5221,7 +5221,7 @@ msgstr "Selecciona una fila para aprobar" #~ msgid "Unique Hosts" #~ msgstr "Anfitriones únicos" -#: screens/Job/JobDetail/JobDetail.tsx:651 +#: screens/Job/JobDetail/JobDetail.tsx:650 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:247 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:251 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:219 @@ -5838,7 +5838,7 @@ msgstr "Grupos de instancias" #: components/PromptDetail/PromptDetail.tsx:357 #: components/PromptDetail/PromptJobTemplateDetail.tsx:275 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:615 -#: screens/Job/JobDetail/JobDetail.tsx:544 +#: screens/Job/JobDetail/JobDetail.tsx:543 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:459 #: screens/Template/shared/JobTemplateForm.tsx:637 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:279 @@ -5909,7 +5909,7 @@ msgstr "Definición de inventario de grupos anidados:" #~ msgid "Prompt for limit on launch." #~ msgstr "Preguntar por el límite al ejecutar." -#: screens/Job/JobDetail/JobDetail.tsx:247 +#: screens/Job/JobDetail/JobDetail.tsx:246 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalList.tsx:215 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListItem.tsx:84 msgid "Started" @@ -6079,7 +6079,7 @@ msgstr "Salida" msgid "Denied" msgstr "Denegado" -#: screens/Job/JobDetail/JobDetail.tsx:254 +#: screens/Job/JobDetail/JobDetail.tsx:253 msgid "Unknown Finish Date" msgstr "Fecha de finalización desconocida" @@ -6094,7 +6094,7 @@ msgstr "Selección múltiple" #: components/AdHocCommands/AdHocCredentialStep.tsx:111 #: components/AdHocCommands/AdHocCredentialStep.tsx:112 #: components/AdHocCommands/AdHocCredentialStep.tsx:124 -#: screens/Job/JobDetail/JobDetail.tsx:446 +#: screens/Job/JobDetail/JobDetail.tsx:445 msgid "Machine Credential" msgstr "Credenciales de máquina" @@ -6260,7 +6260,7 @@ msgstr "Iniciar mensaje" msgid "Scope for the token's access" msgstr "Especifique un alcance para el acceso al token" -#: screens/Job/JobDetail/JobDetail.tsx:569 +#: screens/Job/JobDetail/JobDetail.tsx:568 msgid "Module Name" msgstr "Nombre del módulo" @@ -7031,7 +7031,7 @@ msgstr "Elegir un directorio de playbook" #: components/TemplateList/TemplateListItem.tsx:169 #: components/Workflow/WorkflowNodeHelp.tsx:45 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:30 -#: screens/Job/JobDetail/JobDetail.tsx:275 +#: screens/Job/JobDetail/JobDetail.tsx:274 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:85 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:224 msgid "Workflow Job Template" @@ -7551,7 +7551,7 @@ msgstr "Se rechazó la carga de archivos. Seleccione un único archivo .json." msgid "Local time zone" msgstr "Huso horario local" -#: screens/Job/JobDetail/JobDetail.tsx:209 +#: screens/Job/JobDetail/JobDetail.tsx:208 msgid "No Status Available" msgstr "No hay estado disponible" @@ -7885,7 +7885,7 @@ msgstr "{0, plural, one {Esta instancia está siendo utilizada actualmente por o #: screens/Setting/LDAP/LDAPDetail/LDAPDetail.tsx:105 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:70 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:44 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:82 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:81 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:44 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:45 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:54 @@ -8039,7 +8039,7 @@ msgstr "Es difícil dar una especificación para\n" " hechos reales diferirán de un sistema a otro." #: components/JobList/JobListItem.tsx:371 -#: screens/Job/JobDetail/JobDetail.tsx:421 +#: screens/Job/JobDetail/JobDetail.tsx:420 msgid "Job Slice Parent" msgstr "Fraccionamiento de los trabajos principales" @@ -8320,7 +8320,7 @@ msgstr "" #: screens/Inventory/ConstructedInventoryDetail/ConstructedInventoryDetail.tsx:234 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:281 #: screens/Inventory/shared/InventorySourceSubForms/SharedFields.tsx:51 -#: screens/Job/JobDetail/JobDetail.tsx:370 +#: screens/Job/JobDetail/JobDetail.tsx:369 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:263 msgid "Verbosity" msgstr "Nivel de detalle" @@ -8330,7 +8330,7 @@ msgstr "Nivel de detalle" msgid "Mattermost" msgstr "Mattermost" -#: screens/Job/JobDetail/JobDetail.tsx:225 +#: screens/Job/JobDetail/JobDetail.tsx:224 msgid "Job ID" msgstr "Identificación del trabajo" @@ -8396,7 +8396,7 @@ msgstr "Sincronización de inventario" #: components/Lookup/ProjectLookup.tsx:165 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:166 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:234 -#: screens/Job/JobDetail/JobDetail.tsx:79 +#: screens/Job/JobDetail/JobDetail.tsx:78 #: screens/Project/ProjectList/ProjectList.tsx:201 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/ProjectsList.tsx:105 msgid "Remote Archive" @@ -8987,7 +8987,7 @@ msgstr "Fuentes" msgid "Textarea" msgstr "Área de texto" -#: screens/Job/JobDetail/JobDetail.tsx:237 +#: screens/Job/JobDetail/JobDetail.tsx:236 msgid "Unknown Status" msgstr "Estado desconocido" @@ -9074,7 +9074,7 @@ msgstr "Actualizar opciones" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:179 #: screens/Inventory/InventoryGroupDetail/InventoryGroupDetail.tsx:56 #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:91 -#: screens/Job/JobDetail/JobDetail.tsx:583 +#: screens/Job/JobDetail/JobDetail.tsx:582 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:451 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:103 #: screens/Project/ProjectDetail/ProjectDetail.tsx:331 @@ -9160,7 +9160,7 @@ msgstr "{0, plural, one {# fuente con fallos de sincronización.} other {# fuent msgid "Back to Instances" msgstr "Volver a las instancias" -#: screens/Job/JobDetail/JobDetail.tsx:321 +#: screens/Job/JobDetail/JobDetail.tsx:320 msgid "Inventory Source" msgstr "Fuente de inventario" @@ -9287,7 +9287,7 @@ msgstr "¿Disociar grupos relacionados?" #: components/PromptDetail/PromptDetail.tsx:415 #: components/PromptDetail/PromptJobTemplateDetail.tsx:158 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:509 -#: screens/Job/JobDetail/JobDetail.tsx:428 +#: screens/Job/JobDetail/JobDetail.tsx:427 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:251 #: screens/Template/shared/JobTemplateForm.tsx:502 #: screens/TopologyView/Tooltip.tsx:268 @@ -9611,7 +9611,7 @@ msgstr "Debe seleccionar un inventario" #: components/PromptDetail/PromptWFJobTemplateDetail.tsx:102 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:501 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:286 -#: screens/Job/JobDetail/JobDetail.tsx:346 +#: screens/Job/JobDetail/JobDetail.tsx:345 #: screens/Project/ProjectDetail/ProjectDetail.tsx:232 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:240 #: screens/Template/shared/JobTemplateForm.tsx:423 @@ -9656,8 +9656,8 @@ msgid "This has already been acted on" msgstr "Ya se ha actuado al respecto" #: screens/Job/JobDetail/JobDetail.tsx:78 -msgid "Red Hat Insights" -msgstr "Red Hat Insights" +#~ msgid "Red Hat Insights" +#~ msgstr "Red Hat Insights" #: screens/Setting/GitHub/GitHub.tsx:59 msgid "View GitHub Settings" @@ -9697,7 +9697,7 @@ msgid "When not checked, a merge will be performed, combining local variables wi msgstr "Si no se marca, se realizará una fusión, combinando las variables locales con las que se encuentran en la fuente externa." #: components/JobList/JobListItem.tsx:144 -#: screens/Job/JobDetail/JobDetail.tsx:642 +#: screens/Job/JobDetail/JobDetail.tsx:641 #: screens/Job/JobOutput/JobOutput.tsx:1214 #: screens/Job/JobOutput/JobOutput.tsx:1215 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:172 @@ -9725,7 +9725,7 @@ msgstr "Fuentes de inventario con fallas" #: screens/Inventory/InventoryList/InventoryListItem.tsx:117 #: screens/Inventory/InventorySources/InventorySourceList.tsx:215 #: screens/Inventory/InventorySources/InventorySourceListItem.tsx:77 -#: screens/Job/JobDetail/JobDetail.tsx:231 +#: screens/Job/JobDetail/JobDetail.tsx:230 #: screens/Job/JobOutput/HostEventModal.tsx:167 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:167 #: screens/NotificationTemplate/NotificationTemplateList/NotificationTemplateList.tsx:178 @@ -9918,7 +9918,7 @@ msgstr "Cancelar búsqueda" #: screens/Setting/Jobs/JobsDetail/JobsDetail.tsx:65 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:77 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:51 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:89 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:88 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:51 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:52 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:61 @@ -10507,8 +10507,8 @@ msgstr "Este campo debe tener al menos {0} caracteres" #: components/PromptDetail/PromptInventorySourceDetail.tsx:81 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:233 #: screens/Inventory/shared/InventorySourceForm.tsx:180 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:333 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:332 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/InventorySourcesList.tsx:99 msgid "Source" msgstr "Fuente" @@ -10632,7 +10632,7 @@ msgstr "Distinto de" msgid "IRC nick" msgstr "NIC de IRC" -#: screens/Job/JobDetail/JobDetail.tsx:575 +#: screens/Job/JobDetail/JobDetail.tsx:574 msgid "Module Arguments" msgstr "Argumentos del módulo" @@ -10724,7 +10724,7 @@ msgstr "Seleccionar un tipo de tarea" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:145 -#: screens/Job/JobDetail/JobDetail.tsx:643 +#: screens/Job/JobDetail/JobDetail.tsx:642 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:173 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:164 msgid "Cancel {0}" @@ -10896,7 +10896,7 @@ msgstr "" msgid "Invalid date format" msgstr "" -#: screens/Job/JobDetail/JobDetail.tsx:397 +#: screens/Job/JobDetail/JobDetail.tsx:396 msgid "Instance Group" msgstr "Grupo de instancias" @@ -11017,7 +11017,7 @@ msgstr "" msgid "Invalid time format" msgstr "Formato de hora no válido" -#: screens/Job/JobDetail/JobDetail.tsx:189 +#: screens/Job/JobDetail/JobDetail.tsx:188 msgid "Unknown Project" msgstr "Proyecto desconocido" @@ -11103,7 +11103,7 @@ msgstr "El patrón utilizado para dirigir los hosts en el inventario. Si se deja #: components/PromptDetail/PromptDetail.tsx:196 #: components/PromptDetail/PromptDetail.tsx:425 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:518 -#: screens/Job/JobDetail/JobDetail.tsx:436 +#: screens/Job/JobDetail/JobDetail.tsx:435 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:223 #: screens/NotificationTemplate/shared/TypeInputsSubForm.tsx:197 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:269 @@ -11458,7 +11458,7 @@ msgstr "Ejecute un trabajo para rellenar esta lista." #: screens/Inventory/shared/ConstructedInventoryHint.tsx:176 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:263 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:334 -#: screens/Job/JobDetail/JobDetail.tsx:364 +#: screens/Job/JobDetail/JobDetail.tsx:363 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:257 #: screens/Template/shared/JobTemplateForm.tsx:522 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:208 @@ -11496,8 +11496,8 @@ msgstr "Asociar" #: components/JobList/JobListItem.tsx:197 #: components/LaunchButton/ReLaunchDropDown.tsx:86 #: components/LaunchButton/WorkflowReLaunchDropDown.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:623 -#: screens/Job/JobDetail/JobDetail.tsx:631 +#: screens/Job/JobDetail/JobDetail.tsx:622 +#: screens/Job/JobDetail/JobDetail.tsx:630 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:204 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:204 msgid "Relaunch" @@ -11570,8 +11570,8 @@ msgstr "Eliminar token de usuario" msgid "encrypted" msgstr "cifrado" -#: screens/Job/JobDetail/JobDetail.tsx:122 -#: screens/Job/JobDetail/JobDetail.tsx:148 +#: screens/Job/JobDetail/JobDetail.tsx:121 +#: screens/Job/JobDetail/JobDetail.tsx:147 msgid "Unknown Inventory" msgstr "Inventario desconocido" @@ -11656,7 +11656,7 @@ msgid "Source Phone Number" msgstr "Número de teléfono de la fuente" #. placeholder {0}: job.timeout -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "{0} seconds" msgstr "{0} segundos" @@ -11771,7 +11771,7 @@ msgstr "Cuerpo del mensaje de error" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:146 -#: screens/Job/JobDetail/JobDetail.tsx:644 +#: screens/Job/JobDetail/JobDetail.tsx:643 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:174 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:165 msgid "Failed to cancel {0}" @@ -11842,7 +11842,7 @@ msgid "Created By (Username)" msgstr "Creado por (nombre de usuario)" #: components/PromptDetail/PromptJobTemplateDetail.tsx:156 -#: screens/Job/JobDetail/JobDetail.tsx:358 +#: screens/Job/JobDetail/JobDetail.tsx:357 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:245 #: screens/Template/shared/JobTemplateForm.tsx:441 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:48 @@ -11954,9 +11954,9 @@ msgstr "Iniciar alternancia de notificaciones" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:107 #: screens/Inventory/InventoryList/InventoryList.tsx:202 #: screens/Inventory/InventoryList/InventoryListItem.tsx:60 -#: screens/Job/JobDetail/JobDetail.tsx:108 -#: screens/Job/JobDetail/JobDetail.tsx:127 -#: screens/Job/JobDetail/JobDetail.tsx:134 +#: screens/Job/JobDetail/JobDetail.tsx:107 +#: screens/Job/JobDetail/JobDetail.tsx:126 +#: screens/Job/JobDetail/JobDetail.tsx:133 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:207 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:217 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:143 diff --git a/ascender/ui/src/locales/fr/messages.po b/ascender/ui/src/locales/fr/messages.po index 3b37e5861..8fd7960a7 100644 --- a/ascender/ui/src/locales/fr/messages.po +++ b/ascender/ui/src/locales/fr/messages.po @@ -1083,7 +1083,7 @@ msgstr "Voir toutes les équipes." msgid "This field must be a regular expression" msgstr "Ce champ doit être une expression régulière" -#: screens/Job/JobDetail/JobDetail.tsx:602 +#: screens/Job/JobDetail/JobDetail.tsx:601 msgid "Artifacts" msgstr "Artefacts" @@ -1152,7 +1152,7 @@ msgid "Controls whether or not this instance is managed by policy. If enabled, t msgstr "Contrôle si cette instance est gérée ou non par la stratégie. Si cette option est activée, l'instance sera disponible pour une affectation et une désaffectation automatiques à des groupes d'instances en fonction des règles de politique." #: components/JobList/JobList.tsx:257 -#: screens/Job/JobDetail/JobDetail.tsx:253 +#: screens/Job/JobDetail/JobDetail.tsx:252 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:246 msgid "Finished" msgstr "Terminé" @@ -1403,7 +1403,7 @@ msgstr "E-mail" #: components/PromptDetail/PromptDetail.tsx:253 #: components/PromptDetail/PromptJobTemplateDetail.tsx:111 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:457 -#: screens/Job/JobDetail/JobDetail.tsx:306 +#: screens/Job/JobDetail/JobDetail.tsx:305 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:185 #: screens/Template/shared/JobTemplateForm.tsx:342 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:140 @@ -1446,7 +1446,7 @@ msgstr "l'option à la" msgid "Failed to delete user." msgstr "Impossible de supprimer l'utilisateur." -#: screens/Job/JobDetail/JobDetail.tsx:405 +#: screens/Job/JobDetail/JobDetail.tsx:404 msgid "Container Group" msgstr "Groupe de conteneurs" @@ -1530,7 +1530,7 @@ msgstr "N'a pas réussi à supprimer la notification." msgid "Show less" msgstr "Afficher moins de détails" -#: screens/Job/JobDetail/JobDetail.tsx:353 +#: screens/Job/JobDetail/JobDetail.tsx:352 #: screens/Project/ProjectList/ProjectList.tsx:224 #: screens/Project/ProjectList/ProjectListItem.tsx:207 msgid "Revision" @@ -2131,7 +2131,7 @@ msgstr "Le résultat du nœud parent est requis avant l'évaluation de la condit #: components/Workflow/WorkflowNodeHelp.tsx:41 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateList.tsx:101 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:29 -#: screens/Job/JobDetail/JobDetail.tsx:260 +#: screens/Job/JobDetail/JobDetail.tsx:259 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:73 msgid "Job Template" msgstr "Modèle de Job" @@ -2545,7 +2545,7 @@ msgid "Delete Execution Environment" msgstr "Supprimer l'environnement d'exécution" #: components/JobList/JobListItem.tsx:366 -#: screens/Job/JobDetail/JobDetail.tsx:413 +#: screens/Job/JobDetail/JobDetail.tsx:412 msgid "Job Slice" msgstr "Tranche de job" @@ -2603,7 +2603,7 @@ msgstr "Utilisez un canal IRC ou un nom d'utilisateur par ligne. Le symbole\n" msgid "Microsoft Azure Resource Manager" msgstr "Microsoft Azure Resource Manager" -#: screens/Job/JobDetail/JobDetail.tsx:664 +#: screens/Job/JobDetail/JobDetail.tsx:663 #: screens/Job/JobOutput/JobOutput.tsx:1203 #: screens/Job/JobOutput/JobOutput.tsx:1204 #: screens/Job/WorkflowOutput/WorkflowOutput.tsx:134 @@ -2615,7 +2615,7 @@ msgstr "Erreur de suppression d’un Job" msgid "On days" msgstr "Tels jours" -#: screens/Job/JobDetail/JobDetail.tsx:384 +#: screens/Job/JobDetail/JobDetail.tsx:383 msgid "Execution Node" msgstr "Nœud d'exécution" @@ -2811,7 +2811,7 @@ msgid "Question" msgstr "Question" #: components/PromptDetail/PromptProjectDetail.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:312 +#: screens/Job/JobDetail/JobDetail.tsx:311 #: screens/Project/ProjectDetail/ProjectDetail.tsx:192 #: screens/Project/shared/ProjectForm.tsx:316 msgid "Source Control Type" @@ -3025,7 +3025,7 @@ msgstr "Paramètres AD Azure" #: components/JobList/JobListItem.tsx:371 #: screens/ExecutionEnvironment/ExecutionEnvironmentDetails/ExecutionEnvironmentDetails.tsx:74 -#: screens/Job/JobDetail/JobDetail.tsx:422 +#: screens/Job/JobDetail/JobDetail.tsx:421 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:263 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:293 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:323 @@ -3323,7 +3323,7 @@ msgstr "Saisir la réponse puis cliquez sur la case à cocher à droite pour sé msgid "Survey Question Order" msgstr "Ordre des questions de l’enquête" -#: screens/Job/JobDetail/JobDetail.tsx:248 +#: screens/Job/JobDetail/JobDetail.tsx:247 msgid "Unknown Start Date" msgstr "Date de début inconnue" @@ -3363,7 +3363,7 @@ msgstr "Moins ou égal à la comparaison." #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:85 #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:109 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:164 -#: screens/Job/JobDetail/JobDetail.tsx:655 +#: screens/Job/JobDetail/JobDetail.tsx:654 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:493 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:164 #: screens/Project/ProjectDetail/ProjectDetail.tsx:374 @@ -3513,7 +3513,7 @@ msgstr "GitHub Team" #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:88 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:337 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:139 -#: screens/Job/JobDetail/JobDetail.tsx:579 +#: screens/Job/JobDetail/JobDetail.tsx:578 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:446 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:98 #: screens/Project/ProjectDetail/ProjectDetail.tsx:326 @@ -3701,11 +3701,11 @@ msgstr "Azure AD Tenant" msgid "Create new Instance" msgstr "Créer une nouvelle instance" -#: screens/Job/JobDetail/JobDetail.tsx:195 +#: screens/Job/JobDetail/JobDetail.tsx:194 msgid "Project Update Status" msgstr "Statut de Mise à jour du projet" -#: screens/Job/JobDetail/JobDetail.tsx:390 +#: screens/Job/JobDetail/JobDetail.tsx:389 msgid "Controller Node" msgstr "Noeud du contrôleur" @@ -3883,8 +3883,8 @@ msgstr "Environnement d'exécution par défaut" #: components/PromptDetail/PromptJobTemplateDetail.tsx:150 #: components/TemplateList/TemplateListItem.tsx:279 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:256 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:215 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:214 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:222 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:232 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:43 @@ -4119,8 +4119,8 @@ msgstr "Supprimer les informations d’identification" #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:112 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:85 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:89 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:139 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:143 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:119 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:123 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:85 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:89 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:96 @@ -4169,7 +4169,7 @@ msgstr "Voir des exemples JSON sur" msgid "Destination SMS Number(s)" msgstr "Numéro(s) de SMS de destination" -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "No timeout specified" msgstr "Aucun délai d'attente spécifié" @@ -4755,7 +4755,7 @@ msgid "Delete this node" msgstr "Supprimer ce nœud" #: components/JobList/JobListItem.tsx:264 -#: screens/Job/JobDetail/JobDetail.tsx:292 +#: screens/Job/JobDetail/JobDetail.tsx:291 msgid "Source Workflow Job" msgstr "Flux de travail Source" @@ -4964,7 +4964,7 @@ msgstr "Sélectionnez une question à supprimer" #: screens/Inventory/shared/InventoryGroupForm.tsx:68 #: screens/Inventory/shared/SmartInventoryForm.tsx:101 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:133 -#: screens/Job/JobDetail/JobDetail.tsx:590 +#: screens/Job/JobDetail/JobDetail.tsx:589 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:484 #: screens/Template/shared/JobTemplateForm.tsx:495 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:261 @@ -5124,7 +5124,7 @@ msgstr "Effondrement" #: screens/Inventory/FederatedInventoryDetail/FederatedInventoryDetail.tsx:124 #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:145 #: screens/Inventory/shared/InventoryForm.tsx:89 -#: screens/Job/JobDetail/JobDetail.tsx:492 +#: screens/Job/JobDetail/JobDetail.tsx:491 #: screens/Labels/Labels.tsx:13 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:399 #: screens/Template/shared/JobTemplateForm.tsx:480 @@ -5170,7 +5170,7 @@ msgstr "Mois" #: screens/Credential/CredentialList/CredentialList.tsx:195 #: screens/Credential/Credentials.tsx:16 #: screens/Credential/Credentials.tsx:27 -#: screens/Job/JobDetail/JobDetail.tsx:468 +#: screens/Job/JobDetail/JobDetail.tsx:467 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:372 #: screens/Template/shared/JobTemplateForm.tsx:465 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:54 @@ -5195,7 +5195,7 @@ msgstr "Nombre minimum d'instances qui seront automatiquement\n" #: components/PromptDetail/PromptDetail.tsx:323 #: components/PromptDetail/PromptJobTemplateDetail.tsx:255 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:590 -#: screens/Job/JobDetail/JobDetail.tsx:517 +#: screens/Job/JobDetail/JobDetail.tsx:516 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:433 #: screens/Template/shared/JobTemplateForm.tsx:625 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:267 @@ -5219,7 +5219,7 @@ msgstr "Sélectionnez une ligne à approuver" #~ msgid "Unique Hosts" #~ msgstr "Hôtes uniques" -#: screens/Job/JobDetail/JobDetail.tsx:651 +#: screens/Job/JobDetail/JobDetail.tsx:650 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:247 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:251 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:219 @@ -5836,7 +5836,7 @@ msgstr "Groupes d'instances" #: components/PromptDetail/PromptDetail.tsx:357 #: components/PromptDetail/PromptJobTemplateDetail.tsx:275 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:615 -#: screens/Job/JobDetail/JobDetail.tsx:544 +#: screens/Job/JobDetail/JobDetail.tsx:543 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:459 #: screens/Template/shared/JobTemplateForm.tsx:637 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:279 @@ -5907,7 +5907,7 @@ msgstr "Définition de l'inventaire des groupes imbriqués :" #~ msgid "Prompt for limit on launch." #~ msgstr "Demander la limite au lancement." -#: screens/Job/JobDetail/JobDetail.tsx:247 +#: screens/Job/JobDetail/JobDetail.tsx:246 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalList.tsx:215 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListItem.tsx:84 msgid "Started" @@ -6077,7 +6077,7 @@ msgstr "Onglet de sortie" msgid "Denied" msgstr "Refusé" -#: screens/Job/JobDetail/JobDetail.tsx:254 +#: screens/Job/JobDetail/JobDetail.tsx:253 msgid "Unknown Finish Date" msgstr "Date de fin inconnue" @@ -6092,7 +6092,7 @@ msgstr "Options à choix multiples." #: components/AdHocCommands/AdHocCredentialStep.tsx:111 #: components/AdHocCommands/AdHocCredentialStep.tsx:112 #: components/AdHocCommands/AdHocCredentialStep.tsx:124 -#: screens/Job/JobDetail/JobDetail.tsx:446 +#: screens/Job/JobDetail/JobDetail.tsx:445 msgid "Machine Credential" msgstr "Informations d’identification de la machine" @@ -6258,7 +6258,7 @@ msgstr "Message de départ" msgid "Scope for the token's access" msgstr "Spécifier le champ d'application du jeton" -#: screens/Job/JobDetail/JobDetail.tsx:569 +#: screens/Job/JobDetail/JobDetail.tsx:568 msgid "Module Name" msgstr "Nom du module" @@ -7029,7 +7029,7 @@ msgstr "Choisissez un répertoire Playbook" #: components/TemplateList/TemplateListItem.tsx:169 #: components/Workflow/WorkflowNodeHelp.tsx:45 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:30 -#: screens/Job/JobDetail/JobDetail.tsx:275 +#: screens/Job/JobDetail/JobDetail.tsx:274 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:85 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:224 msgid "Workflow Job Template" @@ -7549,7 +7549,7 @@ msgstr "Téléchargement de fichier rejeté. Veuillez sélectionner un seul fich msgid "Local time zone" msgstr "Fuseau horaire local" -#: screens/Job/JobDetail/JobDetail.tsx:209 +#: screens/Job/JobDetail/JobDetail.tsx:208 msgid "No Status Available" msgstr "Aucun statut disponible" @@ -7883,7 +7883,7 @@ msgstr "{0, plural, one {Cette instance est actuellement utilisée par d'autres #: screens/Setting/LDAP/LDAPDetail/LDAPDetail.tsx:105 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:70 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:44 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:82 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:81 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:44 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:45 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:54 @@ -8037,7 +8037,7 @@ msgstr "Il est difficile de donner une spécification pour\n" " facts réels différeront d'un système à l'autre." #: components/JobList/JobListItem.tsx:371 -#: screens/Job/JobDetail/JobDetail.tsx:421 +#: screens/Job/JobDetail/JobDetail.tsx:420 msgid "Job Slice Parent" msgstr "Parent de tranche de job" @@ -8318,7 +8318,7 @@ msgstr "" #: screens/Inventory/ConstructedInventoryDetail/ConstructedInventoryDetail.tsx:234 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:281 #: screens/Inventory/shared/InventorySourceSubForms/SharedFields.tsx:51 -#: screens/Job/JobDetail/JobDetail.tsx:370 +#: screens/Job/JobDetail/JobDetail.tsx:369 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:263 msgid "Verbosity" msgstr "Verbosité" @@ -8328,7 +8328,7 @@ msgstr "Verbosité" msgid "Mattermost" msgstr "Mattermost" -#: screens/Job/JobDetail/JobDetail.tsx:225 +#: screens/Job/JobDetail/JobDetail.tsx:224 msgid "Job ID" msgstr "ID Job" @@ -8394,7 +8394,7 @@ msgstr "Synchronisation des inventaires" #: components/Lookup/ProjectLookup.tsx:165 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:166 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:234 -#: screens/Job/JobDetail/JobDetail.tsx:79 +#: screens/Job/JobDetail/JobDetail.tsx:78 #: screens/Project/ProjectList/ProjectList.tsx:201 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/ProjectsList.tsx:105 msgid "Remote Archive" @@ -8985,7 +8985,7 @@ msgstr "Sources" msgid "Textarea" msgstr "Zone de texte" -#: screens/Job/JobDetail/JobDetail.tsx:237 +#: screens/Job/JobDetail/JobDetail.tsx:236 msgid "Unknown Status" msgstr "Statut inconnu" @@ -9072,7 +9072,7 @@ msgstr "Mettre à jour les options" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:179 #: screens/Inventory/InventoryGroupDetail/InventoryGroupDetail.tsx:56 #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:91 -#: screens/Job/JobDetail/JobDetail.tsx:583 +#: screens/Job/JobDetail/JobDetail.tsx:582 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:451 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:103 #: screens/Project/ProjectDetail/ProjectDetail.tsx:331 @@ -9158,7 +9158,7 @@ msgstr "{0, plural, one {# source avec des échecs de synchronisation.} other {# msgid "Back to Instances" msgstr "Retour aux instances" -#: screens/Job/JobDetail/JobDetail.tsx:321 +#: screens/Job/JobDetail/JobDetail.tsx:320 msgid "Inventory Source" msgstr "Sources d'inventaire" @@ -9285,7 +9285,7 @@ msgstr "Dissocier le(s) groupe(s) lié(s) ?" #: components/PromptDetail/PromptDetail.tsx:415 #: components/PromptDetail/PromptJobTemplateDetail.tsx:158 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:509 -#: screens/Job/JobDetail/JobDetail.tsx:428 +#: screens/Job/JobDetail/JobDetail.tsx:427 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:251 #: screens/Template/shared/JobTemplateForm.tsx:502 #: screens/TopologyView/Tooltip.tsx:268 @@ -9609,7 +9609,7 @@ msgstr "Un inventaire doit être sélectionné" #: components/PromptDetail/PromptWFJobTemplateDetail.tsx:102 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:501 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:286 -#: screens/Job/JobDetail/JobDetail.tsx:346 +#: screens/Job/JobDetail/JobDetail.tsx:345 #: screens/Project/ProjectDetail/ProjectDetail.tsx:232 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:240 #: screens/Template/shared/JobTemplateForm.tsx:423 @@ -9654,8 +9654,8 @@ msgid "This has already been acted on" msgstr "Ce point a déjà fait l'objet d'une action" #: screens/Job/JobDetail/JobDetail.tsx:78 -msgid "Red Hat Insights" -msgstr "Red Hat Insights" +#~ msgid "Red Hat Insights" +#~ msgstr "Red Hat Insights" #: screens/Setting/GitHub/GitHub.tsx:59 msgid "View GitHub Settings" @@ -9695,7 +9695,7 @@ msgid "When not checked, a merge will be performed, combining local variables wi msgstr "Lorsqu'elle n'est pas cochée, une fusion sera effectuée, combinant les variables locales avec celles trouvées sur la source externe." #: components/JobList/JobListItem.tsx:144 -#: screens/Job/JobDetail/JobDetail.tsx:642 +#: screens/Job/JobDetail/JobDetail.tsx:641 #: screens/Job/JobOutput/JobOutput.tsx:1214 #: screens/Job/JobOutput/JobOutput.tsx:1215 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:172 @@ -9723,7 +9723,7 @@ msgstr "Sources d'inventaire avec défaillances" #: screens/Inventory/InventoryList/InventoryListItem.tsx:117 #: screens/Inventory/InventorySources/InventorySourceList.tsx:215 #: screens/Inventory/InventorySources/InventorySourceListItem.tsx:77 -#: screens/Job/JobDetail/JobDetail.tsx:231 +#: screens/Job/JobDetail/JobDetail.tsx:230 #: screens/Job/JobOutput/HostEventModal.tsx:167 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:167 #: screens/NotificationTemplate/NotificationTemplateList/NotificationTemplateList.tsx:178 @@ -9916,7 +9916,7 @@ msgstr "Annuler la recherche" #: screens/Setting/Jobs/JobsDetail/JobsDetail.tsx:65 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:77 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:51 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:89 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:88 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:51 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:52 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:61 @@ -10505,8 +10505,8 @@ msgstr "Ce champ doit comporter au moins {0} caractères" #: components/PromptDetail/PromptInventorySourceDetail.tsx:81 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:233 #: screens/Inventory/shared/InventorySourceForm.tsx:180 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:333 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:332 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/InventorySourcesList.tsx:99 msgid "Source" msgstr "Source" @@ -10630,7 +10630,7 @@ msgstr "Différent de" msgid "IRC nick" msgstr "IRC nick" -#: screens/Job/JobDetail/JobDetail.tsx:575 +#: screens/Job/JobDetail/JobDetail.tsx:574 msgid "Module Arguments" msgstr "Arguments du module" @@ -10722,7 +10722,7 @@ msgstr "Choisir un type de job" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:145 -#: screens/Job/JobDetail/JobDetail.tsx:643 +#: screens/Job/JobDetail/JobDetail.tsx:642 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:173 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:164 msgid "Cancel {0}" @@ -10894,7 +10894,7 @@ msgstr "" msgid "Invalid date format" msgstr "" -#: screens/Job/JobDetail/JobDetail.tsx:397 +#: screens/Job/JobDetail/JobDetail.tsx:396 msgid "Instance Group" msgstr "Groupe d'instance" @@ -11015,7 +11015,7 @@ msgstr "" msgid "Invalid time format" msgstr "Format d'heure non valide" -#: screens/Job/JobDetail/JobDetail.tsx:189 +#: screens/Job/JobDetail/JobDetail.tsx:188 msgid "Unknown Project" msgstr "Projet inconnu" @@ -11101,7 +11101,7 @@ msgstr "Le modèle utilisé pour cibler les hôtes dans l'inventaire. En laissan #: components/PromptDetail/PromptDetail.tsx:196 #: components/PromptDetail/PromptDetail.tsx:425 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:518 -#: screens/Job/JobDetail/JobDetail.tsx:436 +#: screens/Job/JobDetail/JobDetail.tsx:435 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:223 #: screens/NotificationTemplate/shared/TypeInputsSubForm.tsx:197 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:269 @@ -11456,7 +11456,7 @@ msgstr "Veuillez ajouter un job pour remplir cette liste" #: screens/Inventory/shared/ConstructedInventoryHint.tsx:176 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:263 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:334 -#: screens/Job/JobDetail/JobDetail.tsx:364 +#: screens/Job/JobDetail/JobDetail.tsx:363 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:257 #: screens/Template/shared/JobTemplateForm.tsx:522 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:208 @@ -11494,8 +11494,8 @@ msgstr "Associé" #: components/JobList/JobListItem.tsx:197 #: components/LaunchButton/ReLaunchDropDown.tsx:86 #: components/LaunchButton/WorkflowReLaunchDropDown.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:623 -#: screens/Job/JobDetail/JobDetail.tsx:631 +#: screens/Job/JobDetail/JobDetail.tsx:622 +#: screens/Job/JobDetail/JobDetail.tsx:630 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:204 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:204 msgid "Relaunch" @@ -11568,8 +11568,8 @@ msgstr "Supprimer un jeton d'utilisateur" msgid "encrypted" msgstr "crypté" -#: screens/Job/JobDetail/JobDetail.tsx:122 -#: screens/Job/JobDetail/JobDetail.tsx:148 +#: screens/Job/JobDetail/JobDetail.tsx:121 +#: screens/Job/JobDetail/JobDetail.tsx:147 msgid "Unknown Inventory" msgstr "Modifier l'inventaire inconnu" @@ -11654,7 +11654,7 @@ msgid "Source Phone Number" msgstr "Numéro de téléphone de la source" #. placeholder {0}: job.timeout -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "{0} seconds" msgstr "{0} secondes" @@ -11769,7 +11769,7 @@ msgstr "Corps du message d'erreur" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:146 -#: screens/Job/JobDetail/JobDetail.tsx:644 +#: screens/Job/JobDetail/JobDetail.tsx:643 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:174 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:165 msgid "Failed to cancel {0}" @@ -11840,7 +11840,7 @@ msgid "Created By (Username)" msgstr "Créé par (nom d'utilisateur)" #: components/PromptDetail/PromptJobTemplateDetail.tsx:156 -#: screens/Job/JobDetail/JobDetail.tsx:358 +#: screens/Job/JobDetail/JobDetail.tsx:357 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:245 #: screens/Template/shared/JobTemplateForm.tsx:441 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:48 @@ -11952,9 +11952,9 @@ msgstr "Début de la notification de basculement" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:107 #: screens/Inventory/InventoryList/InventoryList.tsx:202 #: screens/Inventory/InventoryList/InventoryListItem.tsx:60 -#: screens/Job/JobDetail/JobDetail.tsx:108 -#: screens/Job/JobDetail/JobDetail.tsx:127 -#: screens/Job/JobDetail/JobDetail.tsx:134 +#: screens/Job/JobDetail/JobDetail.tsx:107 +#: screens/Job/JobDetail/JobDetail.tsx:126 +#: screens/Job/JobDetail/JobDetail.tsx:133 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:207 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:217 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:143 diff --git a/ascender/ui/src/locales/hi/messages.po b/ascender/ui/src/locales/hi/messages.po index 571e19905..d5d963704 100644 --- a/ascender/ui/src/locales/hi/messages.po +++ b/ascender/ui/src/locales/hi/messages.po @@ -1085,7 +1085,7 @@ msgstr "सभी टीमें देखें।" msgid "This field must be a regular expression" msgstr "इस फ़ील्ड में एक नियमित अभिव्यक्ति होनी चाहिए" -#: screens/Job/JobDetail/JobDetail.tsx:602 +#: screens/Job/JobDetail/JobDetail.tsx:601 msgid "Artifacts" msgstr "आर्टिफ़ैक्ट्स" @@ -1154,7 +1154,7 @@ msgid "Controls whether or not this instance is managed by policy. If enabled, t msgstr "नियंत्रित करता है कि यह इंस्टेंस नीति द्वारा प्रबंधित है या नहीं। यदि सक्षम है, तो इंस्टेंस नीति नियमों के आधार पर इंस्टेंस समूहों में स्वचालित असाइनमेंट और अनअसाइनमेंट के लिए उपलब्ध होगा।" #: components/JobList/JobList.tsx:257 -#: screens/Job/JobDetail/JobDetail.tsx:253 +#: screens/Job/JobDetail/JobDetail.tsx:252 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:246 msgid "Finished" msgstr "समाप्त" @@ -1405,7 +1405,7 @@ msgstr "ई-मेल" #: components/PromptDetail/PromptDetail.tsx:253 #: components/PromptDetail/PromptJobTemplateDetail.tsx:111 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:457 -#: screens/Job/JobDetail/JobDetail.tsx:306 +#: screens/Job/JobDetail/JobDetail.tsx:305 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:185 #: screens/Template/shared/JobTemplateForm.tsx:342 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:140 @@ -1448,7 +1448,7 @@ msgstr "विकल्प" msgid "Failed to delete user." msgstr "उपयोगकर्ता हटाने में विफल।" -#: screens/Job/JobDetail/JobDetail.tsx:405 +#: screens/Job/JobDetail/JobDetail.tsx:404 msgid "Container Group" msgstr "कंटेनर समूह" @@ -1532,7 +1532,7 @@ msgstr "सूचना हटाने में विफल।" msgid "Show less" msgstr "कम दिखाएं" -#: screens/Job/JobDetail/JobDetail.tsx:353 +#: screens/Job/JobDetail/JobDetail.tsx:352 #: screens/Project/ProjectList/ProjectList.tsx:224 #: screens/Project/ProjectList/ProjectListItem.tsx:207 msgid "Revision" @@ -2133,7 +2133,7 @@ msgstr "स्थिति का मूल्यांकन करने स #: components/Workflow/WorkflowNodeHelp.tsx:41 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateList.tsx:101 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:29 -#: screens/Job/JobDetail/JobDetail.tsx:260 +#: screens/Job/JobDetail/JobDetail.tsx:259 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:73 msgid "Job Template" msgstr "जॉब टेम्पलेट" @@ -2547,7 +2547,7 @@ msgid "Delete Execution Environment" msgstr "निष्पादन वातावरण हटाएं" #: components/JobList/JobListItem.tsx:366 -#: screens/Job/JobDetail/JobDetail.tsx:413 +#: screens/Job/JobDetail/JobDetail.tsx:412 msgid "Job Slice" msgstr "जॉब स्लाइस" @@ -2605,7 +2605,7 @@ msgstr "प्रति पंक्ति एक IRC चैनल या उप msgid "Microsoft Azure Resource Manager" msgstr "Microsoft Azure Resource Manager" -#: screens/Job/JobDetail/JobDetail.tsx:664 +#: screens/Job/JobDetail/JobDetail.tsx:663 #: screens/Job/JobOutput/JobOutput.tsx:1203 #: screens/Job/JobOutput/JobOutput.tsx:1204 #: screens/Job/WorkflowOutput/WorkflowOutput.tsx:134 @@ -2617,7 +2617,7 @@ msgstr "जॉब हटाने में त्रुटि" msgid "On days" msgstr "दिनों पर" -#: screens/Job/JobDetail/JobDetail.tsx:384 +#: screens/Job/JobDetail/JobDetail.tsx:383 msgid "Execution Node" msgstr "निष्पादन नोड" @@ -2813,7 +2813,7 @@ msgid "Question" msgstr "प्रश्न" #: components/PromptDetail/PromptProjectDetail.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:312 +#: screens/Job/JobDetail/JobDetail.tsx:311 #: screens/Project/ProjectDetail/ProjectDetail.tsx:192 #: screens/Project/shared/ProjectForm.tsx:316 msgid "Source Control Type" @@ -3027,7 +3027,7 @@ msgstr "Azure AD सेटिंग्स" #: components/JobList/JobListItem.tsx:371 #: screens/ExecutionEnvironment/ExecutionEnvironmentDetails/ExecutionEnvironmentDetails.tsx:74 -#: screens/Job/JobDetail/JobDetail.tsx:422 +#: screens/Job/JobDetail/JobDetail.tsx:421 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:263 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:293 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:323 @@ -3326,7 +3326,7 @@ msgstr "उत्तर टाइप करें फिर उत्तर क msgid "Survey Question Order" msgstr "सर्वेक्षण प्रश्न क्रम" -#: screens/Job/JobDetail/JobDetail.tsx:248 +#: screens/Job/JobDetail/JobDetail.tsx:247 msgid "Unknown Start Date" msgstr "अज्ञात प्रारंभ तिथि" @@ -3366,7 +3366,7 @@ msgstr "इससे कम या बराबर तुलना।" #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:85 #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:109 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:164 -#: screens/Job/JobDetail/JobDetail.tsx:655 +#: screens/Job/JobDetail/JobDetail.tsx:654 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:493 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:164 #: screens/Project/ProjectDetail/ProjectDetail.tsx:374 @@ -3516,7 +3516,7 @@ msgstr "GitHub Team" #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:88 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:337 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:139 -#: screens/Job/JobDetail/JobDetail.tsx:579 +#: screens/Job/JobDetail/JobDetail.tsx:578 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:446 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:98 #: screens/Project/ProjectDetail/ProjectDetail.tsx:326 @@ -3704,11 +3704,11 @@ msgstr "Azure AD Tenant" msgid "Create new Instance" msgstr "नया इंस्टेंस बनाएं" -#: screens/Job/JobDetail/JobDetail.tsx:195 +#: screens/Job/JobDetail/JobDetail.tsx:194 msgid "Project Update Status" msgstr "प्रोजेक्ट अपडेट स्थिति" -#: screens/Job/JobDetail/JobDetail.tsx:390 +#: screens/Job/JobDetail/JobDetail.tsx:389 msgid "Controller Node" msgstr "Controller नोड" @@ -3886,8 +3886,8 @@ msgstr "डिफ़ॉल्ट निष्पादन वातावरण" #: components/PromptDetail/PromptJobTemplateDetail.tsx:150 #: components/TemplateList/TemplateListItem.tsx:279 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:256 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:215 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:214 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:222 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:232 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:43 @@ -4122,8 +4122,8 @@ msgstr "क्रेडेंशियल हटाएं" #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:112 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:85 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:89 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:139 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:143 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:119 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:123 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:85 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:89 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:96 @@ -4172,7 +4172,7 @@ msgstr "JSON उदाहरण यहां देखें" msgid "Destination SMS Number(s)" msgstr "गंतव्य SMS नंबर" -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "No timeout specified" msgstr "कोई टाइमआउट निर्दिष्ट नहीं" @@ -4758,7 +4758,7 @@ msgid "Delete this node" msgstr "इस नोड को हटाएं" #: components/JobList/JobListItem.tsx:264 -#: screens/Job/JobDetail/JobDetail.tsx:292 +#: screens/Job/JobDetail/JobDetail.tsx:291 msgid "Source Workflow Job" msgstr "स्रोत वर्कफ़्लो जॉब" @@ -4967,7 +4967,7 @@ msgstr "हटाने के लिए एक प्रश्न चुने #: screens/Inventory/shared/InventoryGroupForm.tsx:68 #: screens/Inventory/shared/SmartInventoryForm.tsx:101 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:133 -#: screens/Job/JobDetail/JobDetail.tsx:590 +#: screens/Job/JobDetail/JobDetail.tsx:589 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:484 #: screens/Template/shared/JobTemplateForm.tsx:495 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:261 @@ -5127,7 +5127,7 @@ msgstr "संक्षिप्त करें" #: screens/Inventory/FederatedInventoryDetail/FederatedInventoryDetail.tsx:124 #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:145 #: screens/Inventory/shared/InventoryForm.tsx:89 -#: screens/Job/JobDetail/JobDetail.tsx:492 +#: screens/Job/JobDetail/JobDetail.tsx:491 #: screens/Labels/Labels.tsx:13 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:399 #: screens/Template/shared/JobTemplateForm.tsx:480 @@ -5173,7 +5173,7 @@ msgstr "माह" #: screens/Credential/CredentialList/CredentialList.tsx:195 #: screens/Credential/Credentials.tsx:16 #: screens/Credential/Credentials.tsx:27 -#: screens/Job/JobDetail/JobDetail.tsx:468 +#: screens/Job/JobDetail/JobDetail.tsx:467 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:372 #: screens/Template/shared/JobTemplateForm.tsx:465 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:54 @@ -5198,7 +5198,7 @@ msgstr "नए इंस्टेंस ऑनलाइन आने पर इ #: components/PromptDetail/PromptDetail.tsx:323 #: components/PromptDetail/PromptJobTemplateDetail.tsx:255 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:590 -#: screens/Job/JobDetail/JobDetail.tsx:517 +#: screens/Job/JobDetail/JobDetail.tsx:516 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:433 #: screens/Template/shared/JobTemplateForm.tsx:625 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:267 @@ -5222,7 +5222,7 @@ msgstr "अनुमोदित करने के लिए एक पंक #~ msgid "Unique Hosts" #~ msgstr "अद्वितीय होस्ट्स" -#: screens/Job/JobDetail/JobDetail.tsx:651 +#: screens/Job/JobDetail/JobDetail.tsx:650 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:247 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:251 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:219 @@ -5839,7 +5839,7 @@ msgstr "इंस्टेंस समूह" #: components/PromptDetail/PromptDetail.tsx:357 #: components/PromptDetail/PromptJobTemplateDetail.tsx:275 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:615 -#: screens/Job/JobDetail/JobDetail.tsx:544 +#: screens/Job/JobDetail/JobDetail.tsx:543 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:459 #: screens/Template/shared/JobTemplateForm.tsx:637 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:279 @@ -5910,7 +5910,7 @@ msgstr "नेस्टेड समूह इन्वेंटरी परि #~ msgid "Prompt for limit on launch." #~ msgstr "लॉन्च पर सीमा के लिए संकेत दें।" -#: screens/Job/JobDetail/JobDetail.tsx:247 +#: screens/Job/JobDetail/JobDetail.tsx:246 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalList.tsx:215 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListItem.tsx:84 msgid "Started" @@ -6080,7 +6080,7 @@ msgstr "आउटपुट टैब" msgid "Denied" msgstr "अस्वीकृत" -#: screens/Job/JobDetail/JobDetail.tsx:254 +#: screens/Job/JobDetail/JobDetail.tsx:253 msgid "Unknown Finish Date" msgstr "अज्ञात समाप्ति तिथि" @@ -6095,7 +6095,7 @@ msgstr "बहुविकल्पीय" #: components/AdHocCommands/AdHocCredentialStep.tsx:111 #: components/AdHocCommands/AdHocCredentialStep.tsx:112 #: components/AdHocCommands/AdHocCredentialStep.tsx:124 -#: screens/Job/JobDetail/JobDetail.tsx:446 +#: screens/Job/JobDetail/JobDetail.tsx:445 msgid "Machine Credential" msgstr "मशीन क्रेडेंशियल" @@ -6261,7 +6261,7 @@ msgstr "प्रारंभ संदेश" msgid "Scope for the token's access" msgstr "टोकन की पहुंच के लिए स्कोप" -#: screens/Job/JobDetail/JobDetail.tsx:569 +#: screens/Job/JobDetail/JobDetail.tsx:568 msgid "Module Name" msgstr "मॉड्यूल नाम" @@ -7032,7 +7032,7 @@ msgstr "एक प्लेबुक निर्देशिका चुने #: components/TemplateList/TemplateListItem.tsx:169 #: components/Workflow/WorkflowNodeHelp.tsx:45 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:30 -#: screens/Job/JobDetail/JobDetail.tsx:275 +#: screens/Job/JobDetail/JobDetail.tsx:274 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:85 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:224 msgid "Workflow Job Template" @@ -7552,7 +7552,7 @@ msgstr "फ़ाइल अपलोड अस्वीकृत। कृपय msgid "Local time zone" msgstr "स्थानीय समय क्षेत्र" -#: screens/Job/JobDetail/JobDetail.tsx:209 +#: screens/Job/JobDetail/JobDetail.tsx:208 msgid "No Status Available" msgstr "कोई स्थिति उपलब्ध नहीं" @@ -7886,7 +7886,7 @@ msgstr "{0, plural, one {यह इंस्टेंस वर्तमान #: screens/Setting/LDAP/LDAPDetail/LDAPDetail.tsx:105 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:70 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:44 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:82 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:81 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:44 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:45 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:54 @@ -8040,7 +8040,7 @@ msgstr "Ansible फ़ैक्ट्स के लिए इन्वेंट " फ़ैक्ट्स सिस्टम-से-सिस्टम भिन्न होंगे।" #: components/JobList/JobListItem.tsx:371 -#: screens/Job/JobDetail/JobDetail.tsx:421 +#: screens/Job/JobDetail/JobDetail.tsx:420 msgid "Job Slice Parent" msgstr "जॉब स्लाइस मूल" @@ -8322,7 +8322,7 @@ msgstr "" #: screens/Inventory/ConstructedInventoryDetail/ConstructedInventoryDetail.tsx:234 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:281 #: screens/Inventory/shared/InventorySourceSubForms/SharedFields.tsx:51 -#: screens/Job/JobDetail/JobDetail.tsx:370 +#: screens/Job/JobDetail/JobDetail.tsx:369 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:263 msgid "Verbosity" msgstr "वर्बोसिटी" @@ -8332,7 +8332,7 @@ msgstr "वर्बोसिटी" msgid "Mattermost" msgstr "Mattermost" -#: screens/Job/JobDetail/JobDetail.tsx:225 +#: screens/Job/JobDetail/JobDetail.tsx:224 msgid "Job ID" msgstr "जॉब ID" @@ -8398,7 +8398,7 @@ msgstr "इन्वेंटरी सिंक" #: components/Lookup/ProjectLookup.tsx:165 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:166 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:234 -#: screens/Job/JobDetail/JobDetail.tsx:79 +#: screens/Job/JobDetail/JobDetail.tsx:78 #: screens/Project/ProjectList/ProjectList.tsx:201 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/ProjectsList.tsx:105 msgid "Remote Archive" @@ -8989,7 +8989,7 @@ msgstr "स्रोत" msgid "Textarea" msgstr "टेक्स्ट क्षेत्र" -#: screens/Job/JobDetail/JobDetail.tsx:237 +#: screens/Job/JobDetail/JobDetail.tsx:236 msgid "Unknown Status" msgstr "अज्ञात स्थिति" @@ -9076,7 +9076,7 @@ msgstr "अपडेट विकल्प" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:179 #: screens/Inventory/InventoryGroupDetail/InventoryGroupDetail.tsx:56 #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:91 -#: screens/Job/JobDetail/JobDetail.tsx:583 +#: screens/Job/JobDetail/JobDetail.tsx:582 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:451 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:103 #: screens/Project/ProjectDetail/ProjectDetail.tsx:331 @@ -9162,7 +9162,7 @@ msgstr "{0, plural, one {# स्रोत में समन्वयन व msgid "Back to Instances" msgstr "इंस्टेंस पर वापस" -#: screens/Job/JobDetail/JobDetail.tsx:321 +#: screens/Job/JobDetail/JobDetail.tsx:320 msgid "Inventory Source" msgstr "इन्वेंटरी स्रोत" @@ -9289,7 +9289,7 @@ msgstr "संबंधित समूह को अलग करें?" #: components/PromptDetail/PromptDetail.tsx:415 #: components/PromptDetail/PromptJobTemplateDetail.tsx:158 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:509 -#: screens/Job/JobDetail/JobDetail.tsx:428 +#: screens/Job/JobDetail/JobDetail.tsx:427 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:251 #: screens/Template/shared/JobTemplateForm.tsx:502 #: screens/TopologyView/Tooltip.tsx:268 @@ -9613,7 +9613,7 @@ msgstr "एक इन्वेंटरी चुनी जानी चाह #: components/PromptDetail/PromptWFJobTemplateDetail.tsx:102 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:501 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:286 -#: screens/Job/JobDetail/JobDetail.tsx:346 +#: screens/Job/JobDetail/JobDetail.tsx:345 #: screens/Project/ProjectDetail/ProjectDetail.tsx:232 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:240 #: screens/Template/shared/JobTemplateForm.tsx:423 @@ -9658,8 +9658,8 @@ msgid "This has already been acted on" msgstr "इस पर पहले ही कार्रवाई की जा चुकी है" #: screens/Job/JobDetail/JobDetail.tsx:78 -msgid "Red Hat Insights" -msgstr "Red Hat Insights" +#~ msgid "Red Hat Insights" +#~ msgstr "Red Hat Insights" #: screens/Setting/GitHub/GitHub.tsx:59 msgid "View GitHub Settings" @@ -9699,7 +9699,7 @@ msgid "When not checked, a merge will be performed, combining local variables wi msgstr "जब चेक नहीं किया जाता है, तो एक मर्ज किया जाएगा, स्थानीय वेरिएबल्स को बाहरी स्रोत पर पाए गए वेरिएबल्स के साथ संयोजित किया जाएगा।" #: components/JobList/JobListItem.tsx:144 -#: screens/Job/JobDetail/JobDetail.tsx:642 +#: screens/Job/JobDetail/JobDetail.tsx:641 #: screens/Job/JobOutput/JobOutput.tsx:1214 #: screens/Job/JobOutput/JobOutput.tsx:1215 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:172 @@ -9727,7 +9727,7 @@ msgstr "विफलताओं वाले इन्वेंटरी स् #: screens/Inventory/InventoryList/InventoryListItem.tsx:117 #: screens/Inventory/InventorySources/InventorySourceList.tsx:215 #: screens/Inventory/InventorySources/InventorySourceListItem.tsx:77 -#: screens/Job/JobDetail/JobDetail.tsx:231 +#: screens/Job/JobDetail/JobDetail.tsx:230 #: screens/Job/JobOutput/HostEventModal.tsx:167 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:167 #: screens/NotificationTemplate/NotificationTemplateList/NotificationTemplateList.tsx:178 @@ -9920,7 +9920,7 @@ msgstr "लुकअप रद्द करें" #: screens/Setting/Jobs/JobsDetail/JobsDetail.tsx:65 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:77 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:51 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:89 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:88 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:51 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:52 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:61 @@ -10509,8 +10509,8 @@ msgstr "इस फ़ील्ड में कम से कम {0} वर् #: components/PromptDetail/PromptInventorySourceDetail.tsx:81 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:233 #: screens/Inventory/shared/InventorySourceForm.tsx:180 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:333 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:332 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/InventorySourcesList.tsx:99 msgid "Source" msgstr "स्रोत" @@ -10634,7 +10634,7 @@ msgstr "बराबर नहीं" msgid "IRC nick" msgstr "IRC निक" -#: screens/Job/JobDetail/JobDetail.tsx:575 +#: screens/Job/JobDetail/JobDetail.tsx:574 msgid "Module Arguments" msgstr "मॉड्यूल तर्क" @@ -10726,7 +10726,7 @@ msgstr "एक जॉब प्रकार चुनें" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:145 -#: screens/Job/JobDetail/JobDetail.tsx:643 +#: screens/Job/JobDetail/JobDetail.tsx:642 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:173 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:164 msgid "Cancel {0}" @@ -10898,7 +10898,7 @@ msgstr "" msgid "Invalid date format" msgstr "" -#: screens/Job/JobDetail/JobDetail.tsx:397 +#: screens/Job/JobDetail/JobDetail.tsx:396 msgid "Instance Group" msgstr "इंस्टेंस समूह" @@ -11019,7 +11019,7 @@ msgstr "" msgid "Invalid time format" msgstr "अमान्य समय प्रारूप" -#: screens/Job/JobDetail/JobDetail.tsx:189 +#: screens/Job/JobDetail/JobDetail.tsx:188 msgid "Unknown Project" msgstr "अज्ञात प्रोजेक्ट" @@ -11105,7 +11105,7 @@ msgstr "इन्वेंटरी में होस्ट्स को ल #: components/PromptDetail/PromptDetail.tsx:196 #: components/PromptDetail/PromptDetail.tsx:425 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:518 -#: screens/Job/JobDetail/JobDetail.tsx:436 +#: screens/Job/JobDetail/JobDetail.tsx:435 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:223 #: screens/NotificationTemplate/shared/TypeInputsSubForm.tsx:197 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:269 @@ -11460,7 +11460,7 @@ msgstr "इस सूची को भरने के लिए कृपया #: screens/Inventory/shared/ConstructedInventoryHint.tsx:176 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:263 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:334 -#: screens/Job/JobDetail/JobDetail.tsx:364 +#: screens/Job/JobDetail/JobDetail.tsx:363 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:257 #: screens/Template/shared/JobTemplateForm.tsx:522 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:208 @@ -11498,8 +11498,8 @@ msgstr "संबद्ध करें" #: components/JobList/JobListItem.tsx:197 #: components/LaunchButton/ReLaunchDropDown.tsx:86 #: components/LaunchButton/WorkflowReLaunchDropDown.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:623 -#: screens/Job/JobDetail/JobDetail.tsx:631 +#: screens/Job/JobDetail/JobDetail.tsx:622 +#: screens/Job/JobDetail/JobDetail.tsx:630 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:204 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:204 msgid "Relaunch" @@ -11572,8 +11572,8 @@ msgstr "उपयोगकर्ता टोकन हटाएं" msgid "encrypted" msgstr "एन्क्रिप्टेड" -#: screens/Job/JobDetail/JobDetail.tsx:122 -#: screens/Job/JobDetail/JobDetail.tsx:148 +#: screens/Job/JobDetail/JobDetail.tsx:121 +#: screens/Job/JobDetail/JobDetail.tsx:147 msgid "Unknown Inventory" msgstr "अज्ञात इन्वेंटरी" @@ -11658,7 +11658,7 @@ msgid "Source Phone Number" msgstr "स्रोत फ़ोन नंबर" #. placeholder {0}: job.timeout -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "{0} seconds" msgstr "{0} सेकंड" @@ -11773,7 +11773,7 @@ msgstr "त्रुटि संदेश मुख्य भाग" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:146 -#: screens/Job/JobDetail/JobDetail.tsx:644 +#: screens/Job/JobDetail/JobDetail.tsx:643 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:174 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:165 msgid "Failed to cancel {0}" @@ -11844,7 +11844,7 @@ msgid "Created By (Username)" msgstr "द्वारा बनाया गया (उपयोगकर्ता नाम)" #: components/PromptDetail/PromptJobTemplateDetail.tsx:156 -#: screens/Job/JobDetail/JobDetail.tsx:358 +#: screens/Job/JobDetail/JobDetail.tsx:357 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:245 #: screens/Template/shared/JobTemplateForm.tsx:441 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:48 @@ -11956,9 +11956,9 @@ msgstr "सूचना प्रारंभ टॉगल करें" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:107 #: screens/Inventory/InventoryList/InventoryList.tsx:202 #: screens/Inventory/InventoryList/InventoryListItem.tsx:60 -#: screens/Job/JobDetail/JobDetail.tsx:108 -#: screens/Job/JobDetail/JobDetail.tsx:127 -#: screens/Job/JobDetail/JobDetail.tsx:134 +#: screens/Job/JobDetail/JobDetail.tsx:107 +#: screens/Job/JobDetail/JobDetail.tsx:126 +#: screens/Job/JobDetail/JobDetail.tsx:133 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:207 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:217 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:143 diff --git a/ascender/ui/src/locales/ja/messages.po b/ascender/ui/src/locales/ja/messages.po index 156f809bd..53b3fc32e 100644 --- a/ascender/ui/src/locales/ja/messages.po +++ b/ascender/ui/src/locales/ja/messages.po @@ -1083,7 +1083,7 @@ msgstr "すべてのチームを表示します。" msgid "This field must be a regular expression" msgstr "このフィールドは正規表現でなければなりません" -#: screens/Job/JobDetail/JobDetail.tsx:602 +#: screens/Job/JobDetail/JobDetail.tsx:601 msgid "Artifacts" msgstr "アーティファクト" @@ -1152,7 +1152,7 @@ msgid "Controls whether or not this instance is managed by policy. If enabled, t msgstr "このインスタンスがポリシーによって管理されるかどうかを制御します。有効にすると、ポリシールールに基づいてインスタンスグループへの自動割り当てとインスタンスグループからの割り当て解除が可能になります。" #: components/JobList/JobList.tsx:257 -#: screens/Job/JobDetail/JobDetail.tsx:253 +#: screens/Job/JobDetail/JobDetail.tsx:252 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:246 msgid "Finished" msgstr "終了日時" @@ -1403,7 +1403,7 @@ msgstr "メール" #: components/PromptDetail/PromptDetail.tsx:253 #: components/PromptDetail/PromptJobTemplateDetail.tsx:111 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:457 -#: screens/Job/JobDetail/JobDetail.tsx:306 +#: screens/Job/JobDetail/JobDetail.tsx:305 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:185 #: screens/Template/shared/JobTemplateForm.tsx:342 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:140 @@ -1446,7 +1446,7 @@ msgstr "以下へのオプション:" msgid "Failed to delete user." msgstr "ユーザーを削除できませんでした。" -#: screens/Job/JobDetail/JobDetail.tsx:405 +#: screens/Job/JobDetail/JobDetail.tsx:404 msgid "Container Group" msgstr "コンテナーグループ" @@ -1530,7 +1530,7 @@ msgstr "通知を削除できませんでした。" msgid "Show less" msgstr "簡易表示" -#: screens/Job/JobDetail/JobDetail.tsx:353 +#: screens/Job/JobDetail/JobDetail.tsx:352 #: screens/Project/ProjectList/ProjectList.tsx:224 #: screens/Project/ProjectList/ProjectListItem.tsx:207 msgid "Revision" @@ -2131,7 +2131,7 @@ msgstr "条件が評価される前に、親ノードの結果が必要です。 #: components/Workflow/WorkflowNodeHelp.tsx:41 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateList.tsx:101 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:29 -#: screens/Job/JobDetail/JobDetail.tsx:260 +#: screens/Job/JobDetail/JobDetail.tsx:259 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:73 msgid "Job Template" msgstr "ジョブテンプレート" @@ -2545,7 +2545,7 @@ msgid "Delete Execution Environment" msgstr "実行環境の削除" #: components/JobList/JobListItem.tsx:366 -#: screens/Job/JobDetail/JobDetail.tsx:413 +#: screens/Job/JobDetail/JobDetail.tsx:412 msgid "Job Slice" msgstr "ジョブスライス" @@ -2603,7 +2603,7 @@ msgstr "1 行につき 1 つの IRC チャネルまたはユーザー名を使 msgid "Microsoft Azure Resource Manager" msgstr "Microsoft Azure Resource Manager" -#: screens/Job/JobDetail/JobDetail.tsx:664 +#: screens/Job/JobDetail/JobDetail.tsx:663 #: screens/Job/JobOutput/JobOutput.tsx:1203 #: screens/Job/JobOutput/JobOutput.tsx:1204 #: screens/Job/WorkflowOutput/WorkflowOutput.tsx:134 @@ -2615,7 +2615,7 @@ msgstr "ジョブ削除エラー" msgid "On days" msgstr "曜日" -#: screens/Job/JobDetail/JobDetail.tsx:384 +#: screens/Job/JobDetail/JobDetail.tsx:383 msgid "Execution Node" msgstr "実行ノード" @@ -2811,7 +2811,7 @@ msgid "Question" msgstr "質問" #: components/PromptDetail/PromptProjectDetail.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:312 +#: screens/Job/JobDetail/JobDetail.tsx:311 #: screens/Project/ProjectDetail/ProjectDetail.tsx:192 #: screens/Project/shared/ProjectForm.tsx:316 msgid "Source Control Type" @@ -3025,7 +3025,7 @@ msgstr "Azure AD の設定" #: components/JobList/JobListItem.tsx:371 #: screens/ExecutionEnvironment/ExecutionEnvironmentDetails/ExecutionEnvironmentDetails.tsx:74 -#: screens/Job/JobDetail/JobDetail.tsx:422 +#: screens/Job/JobDetail/JobDetail.tsx:421 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:263 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:293 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:323 @@ -3323,7 +3323,7 @@ msgstr "回答を入力し、右側のチェックボックスをクリックし msgid "Survey Question Order" msgstr "Survey 質問の順序" -#: screens/Job/JobDetail/JobDetail.tsx:248 +#: screens/Job/JobDetail/JobDetail.tsx:247 msgid "Unknown Start Date" msgstr "不明な開始日" @@ -3363,7 +3363,7 @@ msgstr "Less than or equal to の比較条件" #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:85 #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:109 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:164 -#: screens/Job/JobDetail/JobDetail.tsx:655 +#: screens/Job/JobDetail/JobDetail.tsx:654 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:493 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:164 #: screens/Project/ProjectDetail/ProjectDetail.tsx:374 @@ -3513,7 +3513,7 @@ msgstr "GitHub チーム" #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:88 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:337 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:139 -#: screens/Job/JobDetail/JobDetail.tsx:579 +#: screens/Job/JobDetail/JobDetail.tsx:578 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:446 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:98 #: screens/Project/ProjectDetail/ProjectDetail.tsx:326 @@ -3701,11 +3701,11 @@ msgstr "Azure AD Tenant" msgid "Create new Instance" msgstr "新規インスタンスの作成" -#: screens/Job/JobDetail/JobDetail.tsx:195 +#: screens/Job/JobDetail/JobDetail.tsx:194 msgid "Project Update Status" msgstr "プロジェクトステータスの更新" -#: screens/Job/JobDetail/JobDetail.tsx:390 +#: screens/Job/JobDetail/JobDetail.tsx:389 msgid "Controller Node" msgstr "コントローラーノード" @@ -3883,8 +3883,8 @@ msgstr "デフォルトの実行環境" #: components/PromptDetail/PromptJobTemplateDetail.tsx:150 #: components/TemplateList/TemplateListItem.tsx:279 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:256 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:215 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:214 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:222 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:232 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:43 @@ -4119,8 +4119,8 @@ msgstr "認証情報の削除" #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:112 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:85 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:89 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:139 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:143 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:119 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:123 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:85 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:89 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:96 @@ -4169,7 +4169,7 @@ msgstr "次の場所でJSONの例を表示します。" msgid "Destination SMS Number(s)" msgstr "送信先 SMS 番号" -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "No timeout specified" msgstr "タイムアウトが指定されていません" @@ -4755,7 +4755,7 @@ msgid "Delete this node" msgstr "このノードの削除" #: components/JobList/JobListItem.tsx:264 -#: screens/Job/JobDetail/JobDetail.tsx:292 +#: screens/Job/JobDetail/JobDetail.tsx:291 msgid "Source Workflow Job" msgstr "ソースワークフローのジョブ" @@ -4964,7 +4964,7 @@ msgstr "削除する質問の選択" #: screens/Inventory/shared/InventoryGroupForm.tsx:68 #: screens/Inventory/shared/SmartInventoryForm.tsx:101 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:133 -#: screens/Job/JobDetail/JobDetail.tsx:590 +#: screens/Job/JobDetail/JobDetail.tsx:589 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:484 #: screens/Template/shared/JobTemplateForm.tsx:495 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:261 @@ -5124,7 +5124,7 @@ msgstr "折りたたむ" #: screens/Inventory/FederatedInventoryDetail/FederatedInventoryDetail.tsx:124 #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:145 #: screens/Inventory/shared/InventoryForm.tsx:89 -#: screens/Job/JobDetail/JobDetail.tsx:492 +#: screens/Job/JobDetail/JobDetail.tsx:491 #: screens/Labels/Labels.tsx:13 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:399 #: screens/Template/shared/JobTemplateForm.tsx:480 @@ -5170,7 +5170,7 @@ msgstr "月" #: screens/Credential/CredentialList/CredentialList.tsx:195 #: screens/Credential/Credentials.tsx:16 #: screens/Credential/Credentials.tsx:27 -#: screens/Job/JobDetail/JobDetail.tsx:468 +#: screens/Job/JobDetail/JobDetail.tsx:467 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:372 #: screens/Template/shared/JobTemplateForm.tsx:465 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:54 @@ -5195,7 +5195,7 @@ msgstr "新しいインスタンスがオンラインになったときに、こ #: components/PromptDetail/PromptDetail.tsx:323 #: components/PromptDetail/PromptJobTemplateDetail.tsx:255 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:590 -#: screens/Job/JobDetail/JobDetail.tsx:517 +#: screens/Job/JobDetail/JobDetail.tsx:516 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:433 #: screens/Template/shared/JobTemplateForm.tsx:625 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:267 @@ -5219,7 +5219,7 @@ msgstr "承認する行を選択" #~ msgid "Unique Hosts" #~ msgstr "ユニークなホスト" -#: screens/Job/JobDetail/JobDetail.tsx:651 +#: screens/Job/JobDetail/JobDetail.tsx:650 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:247 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:251 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:219 @@ -5836,7 +5836,7 @@ msgstr "インスタンスグループ" #: components/PromptDetail/PromptDetail.tsx:357 #: components/PromptDetail/PromptJobTemplateDetail.tsx:275 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:615 -#: screens/Job/JobDetail/JobDetail.tsx:544 +#: screens/Job/JobDetail/JobDetail.tsx:543 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:459 #: screens/Template/shared/JobTemplateForm.tsx:637 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:279 @@ -5907,7 +5907,7 @@ msgstr "ネストされたグループのインベントリ定義:" #~ msgid "Prompt for limit on launch." #~ msgstr "起動時に制限を要求します。" -#: screens/Job/JobDetail/JobDetail.tsx:247 +#: screens/Job/JobDetail/JobDetail.tsx:246 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalList.tsx:215 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListItem.tsx:84 msgid "Started" @@ -6077,7 +6077,7 @@ msgstr "出力タブ" msgid "Denied" msgstr "拒否済み" -#: screens/Job/JobDetail/JobDetail.tsx:254 +#: screens/Job/JobDetail/JobDetail.tsx:253 msgid "Unknown Finish Date" msgstr "不明な終了日" @@ -6092,7 +6092,7 @@ msgstr "複数選択" #: components/AdHocCommands/AdHocCredentialStep.tsx:111 #: components/AdHocCommands/AdHocCredentialStep.tsx:112 #: components/AdHocCommands/AdHocCredentialStep.tsx:124 -#: screens/Job/JobDetail/JobDetail.tsx:446 +#: screens/Job/JobDetail/JobDetail.tsx:445 msgid "Machine Credential" msgstr "マシンの認証情報" @@ -6258,7 +6258,7 @@ msgstr "開始メッセージ" msgid "Scope for the token's access" msgstr "トークンのアクセスのスコープ" -#: screens/Job/JobDetail/JobDetail.tsx:569 +#: screens/Job/JobDetail/JobDetail.tsx:568 msgid "Module Name" msgstr "モジュール名" @@ -7029,7 +7029,7 @@ msgstr "Playbook ディレクトリーの選択" #: components/TemplateList/TemplateListItem.tsx:169 #: components/Workflow/WorkflowNodeHelp.tsx:45 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:30 -#: screens/Job/JobDetail/JobDetail.tsx:275 +#: screens/Job/JobDetail/JobDetail.tsx:274 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:85 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:224 msgid "Workflow Job Template" @@ -7549,7 +7549,7 @@ msgstr "ファイルのアップロードが拒否されました。単一の .j msgid "Local time zone" msgstr "ローカルタイムゾーン" -#: screens/Job/JobDetail/JobDetail.tsx:209 +#: screens/Job/JobDetail/JobDetail.tsx:208 msgid "No Status Available" msgstr "ステータス情報はありません" @@ -7883,7 +7883,7 @@ msgstr "{0, plural, one {このインスタンスは現在、他のリソース #: screens/Setting/LDAP/LDAPDetail/LDAPDetail.tsx:105 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:70 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:44 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:82 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:81 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:44 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:45 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:54 @@ -8037,7 +8037,7 @@ msgstr "システムのファクトを設定するには、`gather_facts: true`\ " 異なります。" #: components/JobList/JobListItem.tsx:371 -#: screens/Job/JobDetail/JobDetail.tsx:421 +#: screens/Job/JobDetail/JobDetail.tsx:420 msgid "Job Slice Parent" msgstr "ジョブスライスの親" @@ -8318,7 +8318,7 @@ msgstr "" #: screens/Inventory/ConstructedInventoryDetail/ConstructedInventoryDetail.tsx:234 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:281 #: screens/Inventory/shared/InventorySourceSubForms/SharedFields.tsx:51 -#: screens/Job/JobDetail/JobDetail.tsx:370 +#: screens/Job/JobDetail/JobDetail.tsx:369 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:263 msgid "Verbosity" msgstr "詳細" @@ -8328,7 +8328,7 @@ msgstr "詳細" msgid "Mattermost" msgstr "Mattermost" -#: screens/Job/JobDetail/JobDetail.tsx:225 +#: screens/Job/JobDetail/JobDetail.tsx:224 msgid "Job ID" msgstr "ジョブ ID:" @@ -8394,7 +8394,7 @@ msgstr "インベントリーの同期" #: components/Lookup/ProjectLookup.tsx:165 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:166 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:234 -#: screens/Job/JobDetail/JobDetail.tsx:79 +#: screens/Job/JobDetail/JobDetail.tsx:78 #: screens/Project/ProjectList/ProjectList.tsx:201 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/ProjectsList.tsx:105 msgid "Remote Archive" @@ -8985,7 +8985,7 @@ msgstr "ソース" msgid "Textarea" msgstr "テキストエリア" -#: screens/Job/JobDetail/JobDetail.tsx:237 +#: screens/Job/JobDetail/JobDetail.tsx:236 msgid "Unknown Status" msgstr "[ステータス不明]" @@ -9072,7 +9072,7 @@ msgstr "オプションの更新" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:179 #: screens/Inventory/InventoryGroupDetail/InventoryGroupDetail.tsx:56 #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:91 -#: screens/Job/JobDetail/JobDetail.tsx:583 +#: screens/Job/JobDetail/JobDetail.tsx:582 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:451 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:103 #: screens/Project/ProjectDetail/ProjectDetail.tsx:331 @@ -9158,7 +9158,7 @@ msgstr "{0, plural, one {# 個のソースで同期に失敗しました。} oth msgid "Back to Instances" msgstr "インスタンスに戻る" -#: screens/Job/JobDetail/JobDetail.tsx:321 +#: screens/Job/JobDetail/JobDetail.tsx:320 msgid "Inventory Source" msgstr "インベントリーソース" @@ -9285,7 +9285,7 @@ msgstr "関連するグループの関連付けを解除しますか?" #: components/PromptDetail/PromptDetail.tsx:415 #: components/PromptDetail/PromptJobTemplateDetail.tsx:158 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:509 -#: screens/Job/JobDetail/JobDetail.tsx:428 +#: screens/Job/JobDetail/JobDetail.tsx:427 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:251 #: screens/Template/shared/JobTemplateForm.tsx:502 #: screens/TopologyView/Tooltip.tsx:268 @@ -9609,7 +9609,7 @@ msgstr "インベントリーを選択する必要があります" #: components/PromptDetail/PromptWFJobTemplateDetail.tsx:102 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:501 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:286 -#: screens/Job/JobDetail/JobDetail.tsx:346 +#: screens/Job/JobDetail/JobDetail.tsx:345 #: screens/Project/ProjectDetail/ProjectDetail.tsx:232 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:240 #: screens/Template/shared/JobTemplateForm.tsx:423 @@ -9654,8 +9654,8 @@ msgid "This has already been acted on" msgstr "これはすでに処理されています" #: screens/Job/JobDetail/JobDetail.tsx:78 -msgid "Red Hat Insights" -msgstr "Red Hat Insights" +#~ msgid "Red Hat Insights" +#~ msgstr "Red Hat Insights" #: screens/Setting/GitHub/GitHub.tsx:59 msgid "View GitHub Settings" @@ -9695,7 +9695,7 @@ msgid "When not checked, a merge will be performed, combining local variables wi msgstr "チェックされていない場合、ローカル変数と外部ソースで見つかったものを組み合わせてマージが実行されます。" #: components/JobList/JobListItem.tsx:144 -#: screens/Job/JobDetail/JobDetail.tsx:642 +#: screens/Job/JobDetail/JobDetail.tsx:641 #: screens/Job/JobOutput/JobOutput.tsx:1214 #: screens/Job/JobOutput/JobOutput.tsx:1215 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:172 @@ -9723,7 +9723,7 @@ msgstr "障害のある在庫ソース" #: screens/Inventory/InventoryList/InventoryListItem.tsx:117 #: screens/Inventory/InventorySources/InventorySourceList.tsx:215 #: screens/Inventory/InventorySources/InventorySourceListItem.tsx:77 -#: screens/Job/JobDetail/JobDetail.tsx:231 +#: screens/Job/JobDetail/JobDetail.tsx:230 #: screens/Job/JobOutput/HostEventModal.tsx:167 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:167 #: screens/NotificationTemplate/NotificationTemplateList/NotificationTemplateList.tsx:178 @@ -9916,7 +9916,7 @@ msgstr "ルックアップの取り消し" #: screens/Setting/Jobs/JobsDetail/JobsDetail.tsx:65 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:77 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:51 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:89 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:88 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:51 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:52 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:61 @@ -10505,8 +10505,8 @@ msgstr "このフィールドは {0} 文字以上でなければなりません" #: components/PromptDetail/PromptInventorySourceDetail.tsx:81 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:233 #: screens/Inventory/shared/InventorySourceForm.tsx:180 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:333 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:332 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/InventorySourcesList.tsx:99 msgid "Source" msgstr "ソース" @@ -10630,7 +10630,7 @@ msgstr "等しくない" msgid "IRC nick" msgstr "IRC ニック" -#: screens/Job/JobDetail/JobDetail.tsx:575 +#: screens/Job/JobDetail/JobDetail.tsx:574 msgid "Module Arguments" msgstr "モジュール引数" @@ -10722,7 +10722,7 @@ msgstr "ジョブタイプの選択" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:145 -#: screens/Job/JobDetail/JobDetail.tsx:643 +#: screens/Job/JobDetail/JobDetail.tsx:642 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:173 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:164 msgid "Cancel {0}" @@ -10894,7 +10894,7 @@ msgstr "" msgid "Invalid date format" msgstr "" -#: screens/Job/JobDetail/JobDetail.tsx:397 +#: screens/Job/JobDetail/JobDetail.tsx:396 msgid "Instance Group" msgstr "インスタンスグループ" @@ -11015,7 +11015,7 @@ msgstr "" msgid "Invalid time format" msgstr "無効な時間形式です" -#: screens/Job/JobDetail/JobDetail.tsx:189 +#: screens/Job/JobDetail/JobDetail.tsx:188 msgid "Unknown Project" msgstr "不明なプロジェクト" @@ -11101,7 +11101,7 @@ msgstr "インベントリー内のホストをターゲットにするために #: components/PromptDetail/PromptDetail.tsx:196 #: components/PromptDetail/PromptDetail.tsx:425 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:518 -#: screens/Job/JobDetail/JobDetail.tsx:436 +#: screens/Job/JobDetail/JobDetail.tsx:435 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:223 #: screens/NotificationTemplate/shared/TypeInputsSubForm.tsx:197 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:269 @@ -11456,7 +11456,7 @@ msgstr "ジョブを実行してこのリストに入力してください。" #: screens/Inventory/shared/ConstructedInventoryHint.tsx:176 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:263 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:334 -#: screens/Job/JobDetail/JobDetail.tsx:364 +#: screens/Job/JobDetail/JobDetail.tsx:363 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:257 #: screens/Template/shared/JobTemplateForm.tsx:522 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:208 @@ -11494,8 +11494,8 @@ msgstr "関連付け" #: components/JobList/JobListItem.tsx:197 #: components/LaunchButton/ReLaunchDropDown.tsx:86 #: components/LaunchButton/WorkflowReLaunchDropDown.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:623 -#: screens/Job/JobDetail/JobDetail.tsx:631 +#: screens/Job/JobDetail/JobDetail.tsx:622 +#: screens/Job/JobDetail/JobDetail.tsx:630 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:204 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:204 msgid "Relaunch" @@ -11568,8 +11568,8 @@ msgstr "ユーザートークンの削除" msgid "encrypted" msgstr "暗号化" -#: screens/Job/JobDetail/JobDetail.tsx:122 -#: screens/Job/JobDetail/JobDetail.tsx:148 +#: screens/Job/JobDetail/JobDetail.tsx:121 +#: screens/Job/JobDetail/JobDetail.tsx:147 msgid "Unknown Inventory" msgstr "不明なインベントリ" @@ -11654,7 +11654,7 @@ msgid "Source Phone Number" msgstr "発信元の電話番号" #. placeholder {0}: job.timeout -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "{0} seconds" msgstr "{0} 秒" @@ -11769,7 +11769,7 @@ msgstr "エラーメッセージボディー" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:146 -#: screens/Job/JobDetail/JobDetail.tsx:644 +#: screens/Job/JobDetail/JobDetail.tsx:643 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:174 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:165 msgid "Failed to cancel {0}" @@ -11840,7 +11840,7 @@ msgid "Created By (Username)" msgstr "作成者 (ユーザー名)" #: components/PromptDetail/PromptJobTemplateDetail.tsx:156 -#: screens/Job/JobDetail/JobDetail.tsx:358 +#: screens/Job/JobDetail/JobDetail.tsx:357 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:245 #: screens/Template/shared/JobTemplateForm.tsx:441 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:48 @@ -11952,9 +11952,9 @@ msgstr "通知開始の切り替え" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:107 #: screens/Inventory/InventoryList/InventoryList.tsx:202 #: screens/Inventory/InventoryList/InventoryListItem.tsx:60 -#: screens/Job/JobDetail/JobDetail.tsx:108 -#: screens/Job/JobDetail/JobDetail.tsx:127 -#: screens/Job/JobDetail/JobDetail.tsx:134 +#: screens/Job/JobDetail/JobDetail.tsx:107 +#: screens/Job/JobDetail/JobDetail.tsx:126 +#: screens/Job/JobDetail/JobDetail.tsx:133 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:207 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:217 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:143 diff --git a/ascender/ui/src/locales/ko/messages.po b/ascender/ui/src/locales/ko/messages.po index 726f75171..c14ff8f84 100644 --- a/ascender/ui/src/locales/ko/messages.po +++ b/ascender/ui/src/locales/ko/messages.po @@ -1083,7 +1083,7 @@ msgstr "모든 팀 보기." msgid "This field must be a regular expression" msgstr "이 필드는 정규 표현식이어야 합니다" -#: screens/Job/JobDetail/JobDetail.tsx:602 +#: screens/Job/JobDetail/JobDetail.tsx:601 msgid "Artifacts" msgstr "아티팩트" @@ -1152,7 +1152,7 @@ msgid "Controls whether or not this instance is managed by policy. If enabled, t msgstr "이 인스턴스가 정책에 의해 관리되는지 여부를 제어합니다. 활성화된 경우, 인스턴스는 정책 규칙에 따라 인스턴스 그룹에 대한 자동 할당 및 할당 해제에 사용할 수 있습니다." #: components/JobList/JobList.tsx:257 -#: screens/Job/JobDetail/JobDetail.tsx:253 +#: screens/Job/JobDetail/JobDetail.tsx:252 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:246 msgid "Finished" msgstr "완료" @@ -1403,7 +1403,7 @@ msgstr "이메일" #: components/PromptDetail/PromptDetail.tsx:253 #: components/PromptDetail/PromptJobTemplateDetail.tsx:111 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:457 -#: screens/Job/JobDetail/JobDetail.tsx:306 +#: screens/Job/JobDetail/JobDetail.tsx:305 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:185 #: screens/Template/shared/JobTemplateForm.tsx:342 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:140 @@ -1446,7 +1446,7 @@ msgstr "옵션" msgid "Failed to delete user." msgstr "사용자를 삭제하지 못했습니다." -#: screens/Job/JobDetail/JobDetail.tsx:405 +#: screens/Job/JobDetail/JobDetail.tsx:404 msgid "Container Group" msgstr "컨테이너 그룹" @@ -1530,7 +1530,7 @@ msgstr "알림을 삭제하지 못했습니다." msgid "Show less" msgstr "더 적은 수를 표시" -#: screens/Job/JobDetail/JobDetail.tsx:353 +#: screens/Job/JobDetail/JobDetail.tsx:352 #: screens/Project/ProjectList/ProjectList.tsx:224 #: screens/Project/ProjectList/ProjectListItem.tsx:207 msgid "Revision" @@ -2131,7 +2131,7 @@ msgstr "조건이 평가되기 전에 부모 노드 결과가 필요합니다." #: components/Workflow/WorkflowNodeHelp.tsx:41 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateList.tsx:101 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:29 -#: screens/Job/JobDetail/JobDetail.tsx:260 +#: screens/Job/JobDetail/JobDetail.tsx:259 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:73 msgid "Job Template" msgstr "작업 템플릿" @@ -2545,7 +2545,7 @@ msgid "Delete Execution Environment" msgstr "실행 환경 삭제" #: components/JobList/JobListItem.tsx:366 -#: screens/Job/JobDetail/JobDetail.tsx:413 +#: screens/Job/JobDetail/JobDetail.tsx:412 msgid "Job Slice" msgstr "작업 분할" @@ -2603,7 +2603,7 @@ msgstr "한 줄에 하나의 IRC 채널 또는 사용자 이름을 사용합니 msgid "Microsoft Azure Resource Manager" msgstr "Microsoft Azure Resource Manager" -#: screens/Job/JobDetail/JobDetail.tsx:664 +#: screens/Job/JobDetail/JobDetail.tsx:663 #: screens/Job/JobOutput/JobOutput.tsx:1203 #: screens/Job/JobOutput/JobOutput.tsx:1204 #: screens/Job/WorkflowOutput/WorkflowOutput.tsx:134 @@ -2615,7 +2615,7 @@ msgstr "작업 삭제 오류" msgid "On days" msgstr "요일에" -#: screens/Job/JobDetail/JobDetail.tsx:384 +#: screens/Job/JobDetail/JobDetail.tsx:383 msgid "Execution Node" msgstr "실행 노드" @@ -2811,7 +2811,7 @@ msgid "Question" msgstr "질문" #: components/PromptDetail/PromptProjectDetail.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:312 +#: screens/Job/JobDetail/JobDetail.tsx:311 #: screens/Project/ProjectDetail/ProjectDetail.tsx:192 #: screens/Project/shared/ProjectForm.tsx:316 msgid "Source Control Type" @@ -3025,7 +3025,7 @@ msgstr "Azure AD 설정" #: components/JobList/JobListItem.tsx:371 #: screens/ExecutionEnvironment/ExecutionEnvironmentDetails/ExecutionEnvironmentDetails.tsx:74 -#: screens/Job/JobDetail/JobDetail.tsx:422 +#: screens/Job/JobDetail/JobDetail.tsx:421 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:263 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:293 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:323 @@ -3323,7 +3323,7 @@ msgstr "답을 입력한 다음 확인란 오른쪽을 클릭하여 답변을 msgid "Survey Question Order" msgstr "설문 조사 질문 순서" -#: screens/Job/JobDetail/JobDetail.tsx:248 +#: screens/Job/JobDetail/JobDetail.tsx:247 msgid "Unknown Start Date" msgstr "알 수 없는 시작일" @@ -3363,7 +3363,7 @@ msgstr "비교 값보다 적거나 같습니다." #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:85 #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:109 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:164 -#: screens/Job/JobDetail/JobDetail.tsx:655 +#: screens/Job/JobDetail/JobDetail.tsx:654 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:493 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:164 #: screens/Project/ProjectDetail/ProjectDetail.tsx:374 @@ -3513,7 +3513,7 @@ msgstr "GitHub 팀" #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:88 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:337 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:139 -#: screens/Job/JobDetail/JobDetail.tsx:579 +#: screens/Job/JobDetail/JobDetail.tsx:578 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:446 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:98 #: screens/Project/ProjectDetail/ProjectDetail.tsx:326 @@ -3701,11 +3701,11 @@ msgstr "Azure AD Tenant" msgid "Create new Instance" msgstr "새 인스턴스 만들기" -#: screens/Job/JobDetail/JobDetail.tsx:195 +#: screens/Job/JobDetail/JobDetail.tsx:194 msgid "Project Update Status" msgstr "프로젝트 업데이트 상태" -#: screens/Job/JobDetail/JobDetail.tsx:390 +#: screens/Job/JobDetail/JobDetail.tsx:389 msgid "Controller Node" msgstr "컨트롤러 노드" @@ -3883,8 +3883,8 @@ msgstr "기본 실행 환경" #: components/PromptDetail/PromptJobTemplateDetail.tsx:150 #: components/TemplateList/TemplateListItem.tsx:279 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:256 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:215 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:214 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:222 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:232 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:43 @@ -4119,8 +4119,8 @@ msgstr "인증 정보 삭제" #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:112 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:85 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:89 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:139 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:143 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:119 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:123 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:85 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:89 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:96 @@ -4169,7 +4169,7 @@ msgstr "에서 JSON 예제 보기" msgid "Destination SMS Number(s)" msgstr "대상 SMS 번호" -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "No timeout specified" msgstr "시간 초과가 지정되지 않음" @@ -4755,7 +4755,7 @@ msgid "Delete this node" msgstr "이 노드 삭제" #: components/JobList/JobListItem.tsx:264 -#: screens/Job/JobDetail/JobDetail.tsx:292 +#: screens/Job/JobDetail/JobDetail.tsx:291 msgid "Source Workflow Job" msgstr "소스 워크플로 작업" @@ -4964,7 +4964,7 @@ msgstr "삭제할 질문을 선택" #: screens/Inventory/shared/InventoryGroupForm.tsx:68 #: screens/Inventory/shared/SmartInventoryForm.tsx:101 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:133 -#: screens/Job/JobDetail/JobDetail.tsx:590 +#: screens/Job/JobDetail/JobDetail.tsx:589 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:484 #: screens/Template/shared/JobTemplateForm.tsx:495 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:261 @@ -5124,7 +5124,7 @@ msgstr "접기" #: screens/Inventory/FederatedInventoryDetail/FederatedInventoryDetail.tsx:124 #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:145 #: screens/Inventory/shared/InventoryForm.tsx:89 -#: screens/Job/JobDetail/JobDetail.tsx:492 +#: screens/Job/JobDetail/JobDetail.tsx:491 #: screens/Labels/Labels.tsx:13 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:399 #: screens/Template/shared/JobTemplateForm.tsx:480 @@ -5170,7 +5170,7 @@ msgstr "월" #: screens/Credential/CredentialList/CredentialList.tsx:195 #: screens/Credential/Credentials.tsx:16 #: screens/Credential/Credentials.tsx:27 -#: screens/Job/JobDetail/JobDetail.tsx:468 +#: screens/Job/JobDetail/JobDetail.tsx:467 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:372 #: screens/Template/shared/JobTemplateForm.tsx:465 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:54 @@ -5195,7 +5195,7 @@ msgstr "새 인스턴스가 온라인 상태가 될 때 이 그룹에 자동으 #: components/PromptDetail/PromptDetail.tsx:323 #: components/PromptDetail/PromptJobTemplateDetail.tsx:255 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:590 -#: screens/Job/JobDetail/JobDetail.tsx:517 +#: screens/Job/JobDetail/JobDetail.tsx:516 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:433 #: screens/Template/shared/JobTemplateForm.tsx:625 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:267 @@ -5219,7 +5219,7 @@ msgstr "승인할 행 선택" #~ msgid "Unique Hosts" #~ msgstr "독특한 호스트" -#: screens/Job/JobDetail/JobDetail.tsx:651 +#: screens/Job/JobDetail/JobDetail.tsx:650 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:247 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:251 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:219 @@ -5836,7 +5836,7 @@ msgstr "인스턴스 그룹" #: components/PromptDetail/PromptDetail.tsx:357 #: components/PromptDetail/PromptJobTemplateDetail.tsx:275 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:615 -#: screens/Job/JobDetail/JobDetail.tsx:544 +#: screens/Job/JobDetail/JobDetail.tsx:543 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:459 #: screens/Template/shared/JobTemplateForm.tsx:637 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:279 @@ -5907,7 +5907,7 @@ msgstr "중첩된 그룹 인벤토리 정의:" #~ msgid "Prompt for limit on launch." #~ msgstr "시작 시 제한을 입력하라는 메시지를 표시합니다." -#: screens/Job/JobDetail/JobDetail.tsx:247 +#: screens/Job/JobDetail/JobDetail.tsx:246 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalList.tsx:215 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListItem.tsx:84 msgid "Started" @@ -6077,7 +6077,7 @@ msgstr "출력 탭" msgid "Denied" msgstr "거부됨" -#: screens/Job/JobDetail/JobDetail.tsx:254 +#: screens/Job/JobDetail/JobDetail.tsx:253 msgid "Unknown Finish Date" msgstr "알 수 없는 완료일" @@ -6092,7 +6092,7 @@ msgstr "다중 선택 옵션" #: components/AdHocCommands/AdHocCredentialStep.tsx:111 #: components/AdHocCommands/AdHocCredentialStep.tsx:112 #: components/AdHocCommands/AdHocCredentialStep.tsx:124 -#: screens/Job/JobDetail/JobDetail.tsx:446 +#: screens/Job/JobDetail/JobDetail.tsx:445 msgid "Machine Credential" msgstr "시스템 인증 정보" @@ -6258,7 +6258,7 @@ msgstr "시작 메시지" msgid "Scope for the token's access" msgstr "토큰 액세스 범위" -#: screens/Job/JobDetail/JobDetail.tsx:569 +#: screens/Job/JobDetail/JobDetail.tsx:568 msgid "Module Name" msgstr "모듈 이름" @@ -7029,7 +7029,7 @@ msgstr "Playbook 디렉토리 선택" #: components/TemplateList/TemplateListItem.tsx:169 #: components/Workflow/WorkflowNodeHelp.tsx:45 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:30 -#: screens/Job/JobDetail/JobDetail.tsx:275 +#: screens/Job/JobDetail/JobDetail.tsx:274 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:85 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:224 msgid "Workflow Job Template" @@ -7549,7 +7549,7 @@ msgstr "파일 업로드가 거부되었습니다. 단일 .json 파일을 선택 msgid "Local time zone" msgstr "현지 시간대" -#: screens/Job/JobDetail/JobDetail.tsx:209 +#: screens/Job/JobDetail/JobDetail.tsx:208 msgid "No Status Available" msgstr "사용 가능한 상태 없음" @@ -7883,7 +7883,7 @@ msgstr "{0, plural, one {이 인스턴스는 현재 다른 리소스에서 사 #: screens/Setting/LDAP/LDAPDetail/LDAPDetail.tsx:105 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:70 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:44 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:82 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:81 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:44 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:45 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:54 @@ -8037,7 +8037,7 @@ msgstr "시스템 팩트를 채우려면 `gather_facts: true`가\n" " 다릅니다." #: components/JobList/JobListItem.tsx:371 -#: screens/Job/JobDetail/JobDetail.tsx:421 +#: screens/Job/JobDetail/JobDetail.tsx:420 msgid "Job Slice Parent" msgstr "작업 분할 부모" @@ -8318,7 +8318,7 @@ msgstr "" #: screens/Inventory/ConstructedInventoryDetail/ConstructedInventoryDetail.tsx:234 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:281 #: screens/Inventory/shared/InventorySourceSubForms/SharedFields.tsx:51 -#: screens/Job/JobDetail/JobDetail.tsx:370 +#: screens/Job/JobDetail/JobDetail.tsx:369 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:263 msgid "Verbosity" msgstr "상세 정보" @@ -8328,7 +8328,7 @@ msgstr "상세 정보" msgid "Mattermost" msgstr "가장 중요" -#: screens/Job/JobDetail/JobDetail.tsx:225 +#: screens/Job/JobDetail/JobDetail.tsx:224 msgid "Job ID" msgstr "작업 ID" @@ -8394,7 +8394,7 @@ msgstr "인벤토리 동기화" #: components/Lookup/ProjectLookup.tsx:165 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:166 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:234 -#: screens/Job/JobDetail/JobDetail.tsx:79 +#: screens/Job/JobDetail/JobDetail.tsx:78 #: screens/Project/ProjectList/ProjectList.tsx:201 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/ProjectsList.tsx:105 msgid "Remote Archive" @@ -8985,7 +8985,7 @@ msgstr "소스" msgid "Textarea" msgstr "텍스트 영역" -#: screens/Job/JobDetail/JobDetail.tsx:237 +#: screens/Job/JobDetail/JobDetail.tsx:236 msgid "Unknown Status" msgstr "알 수 없는 상태" @@ -9072,7 +9072,7 @@ msgstr "업데이트 옵션" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:179 #: screens/Inventory/InventoryGroupDetail/InventoryGroupDetail.tsx:56 #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:91 -#: screens/Job/JobDetail/JobDetail.tsx:583 +#: screens/Job/JobDetail/JobDetail.tsx:582 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:451 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:103 #: screens/Project/ProjectDetail/ProjectDetail.tsx:331 @@ -9158,7 +9158,7 @@ msgstr "{0, plural, one {# 개 소스에서 동기화 실패.} other {# 개 소 msgid "Back to Instances" msgstr "인스턴스로 돌아가기" -#: screens/Job/JobDetail/JobDetail.tsx:321 +#: screens/Job/JobDetail/JobDetail.tsx:320 msgid "Inventory Source" msgstr "인벤토리 소스" @@ -9285,7 +9285,7 @@ msgstr "관련 그룹을 분리하시겠습니까?" #: components/PromptDetail/PromptDetail.tsx:415 #: components/PromptDetail/PromptJobTemplateDetail.tsx:158 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:509 -#: screens/Job/JobDetail/JobDetail.tsx:428 +#: screens/Job/JobDetail/JobDetail.tsx:427 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:251 #: screens/Template/shared/JobTemplateForm.tsx:502 #: screens/TopologyView/Tooltip.tsx:268 @@ -9609,7 +9609,7 @@ msgstr "인벤토리를 선택해야 함" #: components/PromptDetail/PromptWFJobTemplateDetail.tsx:102 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:501 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:286 -#: screens/Job/JobDetail/JobDetail.tsx:346 +#: screens/Job/JobDetail/JobDetail.tsx:345 #: screens/Project/ProjectDetail/ProjectDetail.tsx:232 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:240 #: screens/Template/shared/JobTemplateForm.tsx:423 @@ -9654,8 +9654,8 @@ msgid "This has already been acted on" msgstr "이 작업은 이미 수행되었습니다." #: screens/Job/JobDetail/JobDetail.tsx:78 -msgid "Red Hat Insights" -msgstr "Red Hat Insights" +#~ msgid "Red Hat Insights" +#~ msgstr "Red Hat Insights" #: screens/Setting/GitHub/GitHub.tsx:59 msgid "View GitHub Settings" @@ -9695,7 +9695,7 @@ msgid "When not checked, a merge will be performed, combining local variables wi msgstr "선택하지 않으면 병합이 수행되어 로컬 변수와 외부 소스에 있는 변수를 결합합니다." #: components/JobList/JobListItem.tsx:144 -#: screens/Job/JobDetail/JobDetail.tsx:642 +#: screens/Job/JobDetail/JobDetail.tsx:641 #: screens/Job/JobOutput/JobOutput.tsx:1214 #: screens/Job/JobOutput/JobOutput.tsx:1215 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:172 @@ -9723,7 +9723,7 @@ msgstr "실패가 있는 재고 소스" #: screens/Inventory/InventoryList/InventoryListItem.tsx:117 #: screens/Inventory/InventorySources/InventorySourceList.tsx:215 #: screens/Inventory/InventorySources/InventorySourceListItem.tsx:77 -#: screens/Job/JobDetail/JobDetail.tsx:231 +#: screens/Job/JobDetail/JobDetail.tsx:230 #: screens/Job/JobOutput/HostEventModal.tsx:167 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:167 #: screens/NotificationTemplate/NotificationTemplateList/NotificationTemplateList.tsx:178 @@ -9916,7 +9916,7 @@ msgstr "검색 취소" #: screens/Setting/Jobs/JobsDetail/JobsDetail.tsx:65 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:77 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:51 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:89 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:88 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:51 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:52 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:61 @@ -10505,8 +10505,8 @@ msgstr "이 필드는 최소 {0}자 이상이어야 합니다" #: components/PromptDetail/PromptInventorySourceDetail.tsx:81 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:233 #: screens/Inventory/shared/InventorySourceForm.tsx:180 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:333 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:332 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/InventorySourcesList.tsx:99 msgid "Source" msgstr "소스" @@ -10630,7 +10630,7 @@ msgstr "같지 않음" msgid "IRC nick" msgstr "IRC 닉네임" -#: screens/Job/JobDetail/JobDetail.tsx:575 +#: screens/Job/JobDetail/JobDetail.tsx:574 msgid "Module Arguments" msgstr "모듈 인수" @@ -10722,7 +10722,7 @@ msgstr "작업 유형 선택" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:145 -#: screens/Job/JobDetail/JobDetail.tsx:643 +#: screens/Job/JobDetail/JobDetail.tsx:642 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:173 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:164 msgid "Cancel {0}" @@ -10894,7 +10894,7 @@ msgstr "" msgid "Invalid date format" msgstr "" -#: screens/Job/JobDetail/JobDetail.tsx:397 +#: screens/Job/JobDetail/JobDetail.tsx:396 msgid "Instance Group" msgstr "인스턴스 그룹" @@ -11015,7 +11015,7 @@ msgstr "" msgid "Invalid time format" msgstr "유효하지 않은 시간 형식입니다" -#: screens/Job/JobDetail/JobDetail.tsx:189 +#: screens/Job/JobDetail/JobDetail.tsx:188 msgid "Unknown Project" msgstr "알 수 없는 프로젝트" @@ -11101,7 +11101,7 @@ msgstr "인벤토리의 호스트를 대상으로 지정하는 데 사용되는 #: components/PromptDetail/PromptDetail.tsx:196 #: components/PromptDetail/PromptDetail.tsx:425 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:518 -#: screens/Job/JobDetail/JobDetail.tsx:436 +#: screens/Job/JobDetail/JobDetail.tsx:435 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:223 #: screens/NotificationTemplate/shared/TypeInputsSubForm.tsx:197 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:269 @@ -11456,7 +11456,7 @@ msgstr "이 목록을 채우려면 작업을 실행하십시오." #: screens/Inventory/shared/ConstructedInventoryHint.tsx:176 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:263 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:334 -#: screens/Job/JobDetail/JobDetail.tsx:364 +#: screens/Job/JobDetail/JobDetail.tsx:363 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:257 #: screens/Template/shared/JobTemplateForm.tsx:522 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:208 @@ -11494,8 +11494,8 @@ msgstr "연결" #: components/JobList/JobListItem.tsx:197 #: components/LaunchButton/ReLaunchDropDown.tsx:86 #: components/LaunchButton/WorkflowReLaunchDropDown.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:623 -#: screens/Job/JobDetail/JobDetail.tsx:631 +#: screens/Job/JobDetail/JobDetail.tsx:622 +#: screens/Job/JobDetail/JobDetail.tsx:630 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:204 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:204 msgid "Relaunch" @@ -11568,8 +11568,8 @@ msgstr "사용자 토큰 삭제" msgid "encrypted" msgstr "암호화" -#: screens/Job/JobDetail/JobDetail.tsx:122 -#: screens/Job/JobDetail/JobDetail.tsx:148 +#: screens/Job/JobDetail/JobDetail.tsx:121 +#: screens/Job/JobDetail/JobDetail.tsx:147 msgid "Unknown Inventory" msgstr "알 수 없는 인벤토리" @@ -11654,7 +11654,7 @@ msgid "Source Phone Number" msgstr "소스 전화 번호" #. placeholder {0}: job.timeout -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "{0} seconds" msgstr "{0} 초" @@ -11769,7 +11769,7 @@ msgstr "오류 메시지 본문" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:146 -#: screens/Job/JobDetail/JobDetail.tsx:644 +#: screens/Job/JobDetail/JobDetail.tsx:643 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:174 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:165 msgid "Failed to cancel {0}" @@ -11840,7 +11840,7 @@ msgid "Created By (Username)" msgstr "(사용자 이름)에 의해 생성됨" #: components/PromptDetail/PromptJobTemplateDetail.tsx:156 -#: screens/Job/JobDetail/JobDetail.tsx:358 +#: screens/Job/JobDetail/JobDetail.tsx:357 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:245 #: screens/Template/shared/JobTemplateForm.tsx:441 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:48 @@ -11952,9 +11952,9 @@ msgstr "알림 시작 전환" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:107 #: screens/Inventory/InventoryList/InventoryList.tsx:202 #: screens/Inventory/InventoryList/InventoryListItem.tsx:60 -#: screens/Job/JobDetail/JobDetail.tsx:108 -#: screens/Job/JobDetail/JobDetail.tsx:127 -#: screens/Job/JobDetail/JobDetail.tsx:134 +#: screens/Job/JobDetail/JobDetail.tsx:107 +#: screens/Job/JobDetail/JobDetail.tsx:126 +#: screens/Job/JobDetail/JobDetail.tsx:133 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:207 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:217 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:143 diff --git a/ascender/ui/src/locales/nl/messages.po b/ascender/ui/src/locales/nl/messages.po index 2026a93b6..74e673de1 100644 --- a/ascender/ui/src/locales/nl/messages.po +++ b/ascender/ui/src/locales/nl/messages.po @@ -1083,7 +1083,7 @@ msgstr "Geef alle teams weer." msgid "This field must be a regular expression" msgstr "Dit veld moet een reguliere expressie zijn" -#: screens/Job/JobDetail/JobDetail.tsx:602 +#: screens/Job/JobDetail/JobDetail.tsx:601 msgid "Artifacts" msgstr "Artefacten" @@ -1152,7 +1152,7 @@ msgid "Controls whether or not this instance is managed by policy. If enabled, t msgstr "Bepaalt of deze instantie al dan niet door beleid wordt beheerd. Indien ingeschakeld, is het exemplaar beschikbaar voor automatische toewijzing aan en verwijdering uit exemplaargroepen op basis van beleidsregels." #: components/JobList/JobList.tsx:257 -#: screens/Job/JobDetail/JobDetail.tsx:253 +#: screens/Job/JobDetail/JobDetail.tsx:252 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:246 msgid "Finished" msgstr "Voltooid" @@ -1403,7 +1403,7 @@ msgstr "E-mail" #: components/PromptDetail/PromptDetail.tsx:253 #: components/PromptDetail/PromptJobTemplateDetail.tsx:111 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:457 -#: screens/Job/JobDetail/JobDetail.tsx:306 +#: screens/Job/JobDetail/JobDetail.tsx:305 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:185 #: screens/Template/shared/JobTemplateForm.tsx:342 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:140 @@ -1446,7 +1446,7 @@ msgstr "optie aan de" msgid "Failed to delete user." msgstr "Kan gebruiker niet verwijderen." -#: screens/Job/JobDetail/JobDetail.tsx:405 +#: screens/Job/JobDetail/JobDetail.tsx:404 msgid "Container Group" msgstr "Containergroep" @@ -1530,7 +1530,7 @@ msgstr "Kan bericht niet verwijderen." msgid "Show less" msgstr "Minder tonen" -#: screens/Job/JobDetail/JobDetail.tsx:353 +#: screens/Job/JobDetail/JobDetail.tsx:352 #: screens/Project/ProjectList/ProjectList.tsx:224 #: screens/Project/ProjectList/ProjectListItem.tsx:207 msgid "Revision" @@ -2131,7 +2131,7 @@ msgstr "Uitkomst van bovenliggend knooppunt vereist voordat de voorwaarde wordt #: components/Workflow/WorkflowNodeHelp.tsx:41 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateList.tsx:101 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:29 -#: screens/Job/JobDetail/JobDetail.tsx:260 +#: screens/Job/JobDetail/JobDetail.tsx:259 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:73 msgid "Job Template" msgstr "Taaksjabloon" @@ -2545,7 +2545,7 @@ msgid "Delete Execution Environment" msgstr "Uitvoeringsomgeving verwijderen" #: components/JobList/JobListItem.tsx:366 -#: screens/Job/JobDetail/JobDetail.tsx:413 +#: screens/Job/JobDetail/JobDetail.tsx:412 msgid "Job Slice" msgstr "Taken verdelen" @@ -2603,7 +2603,7 @@ msgstr "Gebruik één IRC-kanaal of gebruikersnaam per regel. Het hekje-\n" msgid "Microsoft Azure Resource Manager" msgstr "Microsoft Azure Resource Manager" -#: screens/Job/JobDetail/JobDetail.tsx:664 +#: screens/Job/JobDetail/JobDetail.tsx:663 #: screens/Job/JobOutput/JobOutput.tsx:1203 #: screens/Job/JobOutput/JobOutput.tsx:1204 #: screens/Job/WorkflowOutput/WorkflowOutput.tsx:134 @@ -2615,7 +2615,7 @@ msgstr "Fout bij verwijderen taak" msgid "On days" msgstr "Aan-dagen" -#: screens/Job/JobDetail/JobDetail.tsx:384 +#: screens/Job/JobDetail/JobDetail.tsx:383 msgid "Execution Node" msgstr "Uitvoeringsknooppunt" @@ -2811,7 +2811,7 @@ msgid "Question" msgstr "Vraag" #: components/PromptDetail/PromptProjectDetail.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:312 +#: screens/Job/JobDetail/JobDetail.tsx:311 #: screens/Project/ProjectDetail/ProjectDetail.tsx:192 #: screens/Project/shared/ProjectForm.tsx:316 msgid "Source Control Type" @@ -3025,7 +3025,7 @@ msgstr "Azure AD-instellingen" #: components/JobList/JobListItem.tsx:371 #: screens/ExecutionEnvironment/ExecutionEnvironmentDetails/ExecutionEnvironmentDetails.tsx:74 -#: screens/Job/JobDetail/JobDetail.tsx:422 +#: screens/Job/JobDetail/JobDetail.tsx:421 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:263 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:293 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:323 @@ -3323,7 +3323,7 @@ msgstr "Typ het antwoord en klik dan op het selectievakje rechts om het antwoord msgid "Survey Question Order" msgstr "Volgorde vragen enquête" -#: screens/Job/JobDetail/JobDetail.tsx:248 +#: screens/Job/JobDetail/JobDetail.tsx:247 msgid "Unknown Start Date" msgstr "Onbekende startdatum" @@ -3363,7 +3363,7 @@ msgstr "Minder dan of gelijk aan vergelijking." #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:85 #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:109 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:164 -#: screens/Job/JobDetail/JobDetail.tsx:655 +#: screens/Job/JobDetail/JobDetail.tsx:654 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:493 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:164 #: screens/Project/ProjectDetail/ProjectDetail.tsx:374 @@ -3513,7 +3513,7 @@ msgstr "GitHub-team" #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:88 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:337 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:139 -#: screens/Job/JobDetail/JobDetail.tsx:579 +#: screens/Job/JobDetail/JobDetail.tsx:578 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:446 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:98 #: screens/Project/ProjectDetail/ProjectDetail.tsx:326 @@ -3701,11 +3701,11 @@ msgstr "Azure AD Tenant" msgid "Create new Instance" msgstr "Nieuwe instantiegroep maken" -#: screens/Job/JobDetail/JobDetail.tsx:195 +#: screens/Job/JobDetail/JobDetail.tsx:194 msgid "Project Update Status" msgstr "Projectupdate" -#: screens/Job/JobDetail/JobDetail.tsx:390 +#: screens/Job/JobDetail/JobDetail.tsx:389 msgid "Controller Node" msgstr "Naam controller" @@ -3883,8 +3883,8 @@ msgstr "Standaarduitvoeringsomgeving" #: components/PromptDetail/PromptJobTemplateDetail.tsx:150 #: components/TemplateList/TemplateListItem.tsx:279 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:256 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:215 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:214 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:222 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:232 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:43 @@ -4119,8 +4119,8 @@ msgstr "Toegangsgegevens verwijderen" #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:112 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:85 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:89 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:139 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:143 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:119 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:123 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:85 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:89 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:96 @@ -4169,7 +4169,7 @@ msgstr "Bekijk JSON voorbeelden op" msgid "Destination SMS Number(s)" msgstr "Sms-nummer(s) bestemming" -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "No timeout specified" msgstr "Geen time-out gespecificeerd" @@ -4755,7 +4755,7 @@ msgid "Delete this node" msgstr "Dit knooppunt verwijderen" #: components/JobList/JobListItem.tsx:264 -#: screens/Job/JobDetail/JobDetail.tsx:292 +#: screens/Job/JobDetail/JobDetail.tsx:291 msgid "Source Workflow Job" msgstr "Taak bronworkflow" @@ -4964,7 +4964,7 @@ msgstr "Selecteer een vraag om te verwijderen" #: screens/Inventory/shared/InventoryGroupForm.tsx:68 #: screens/Inventory/shared/SmartInventoryForm.tsx:101 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:133 -#: screens/Job/JobDetail/JobDetail.tsx:590 +#: screens/Job/JobDetail/JobDetail.tsx:589 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:484 #: screens/Template/shared/JobTemplateForm.tsx:495 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:261 @@ -5124,7 +5124,7 @@ msgstr "Samenvouwen" #: screens/Inventory/FederatedInventoryDetail/FederatedInventoryDetail.tsx:124 #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:145 #: screens/Inventory/shared/InventoryForm.tsx:89 -#: screens/Job/JobDetail/JobDetail.tsx:492 +#: screens/Job/JobDetail/JobDetail.tsx:491 #: screens/Labels/Labels.tsx:13 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:399 #: screens/Template/shared/JobTemplateForm.tsx:480 @@ -5170,7 +5170,7 @@ msgstr "Maand" #: screens/Credential/CredentialList/CredentialList.tsx:195 #: screens/Credential/Credentials.tsx:16 #: screens/Credential/Credentials.tsx:27 -#: screens/Job/JobDetail/JobDetail.tsx:468 +#: screens/Job/JobDetail/JobDetail.tsx:467 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:372 #: screens/Template/shared/JobTemplateForm.tsx:465 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:54 @@ -5195,7 +5195,7 @@ msgstr "Minimumaantal instanties dat automatisch\n" #: components/PromptDetail/PromptDetail.tsx:323 #: components/PromptDetail/PromptJobTemplateDetail.tsx:255 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:590 -#: screens/Job/JobDetail/JobDetail.tsx:517 +#: screens/Job/JobDetail/JobDetail.tsx:516 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:433 #: screens/Template/shared/JobTemplateForm.tsx:625 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:267 @@ -5219,7 +5219,7 @@ msgstr "Selecteer een rij om goed te keuren" #~ msgid "Unique Hosts" #~ msgstr "Unieke hosts" -#: screens/Job/JobDetail/JobDetail.tsx:651 +#: screens/Job/JobDetail/JobDetail.tsx:650 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:247 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:251 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:219 @@ -5836,7 +5836,7 @@ msgstr "Instantiegroepen" #: components/PromptDetail/PromptDetail.tsx:357 #: components/PromptDetail/PromptJobTemplateDetail.tsx:275 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:615 -#: screens/Job/JobDetail/JobDetail.tsx:544 +#: screens/Job/JobDetail/JobDetail.tsx:543 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:459 #: screens/Template/shared/JobTemplateForm.tsx:637 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:279 @@ -5907,7 +5907,7 @@ msgstr "Voorraaddefinitie geneste groepen:" #~ msgid "Prompt for limit on launch." #~ msgstr "Vraag om limiet bij opstarten." -#: screens/Job/JobDetail/JobDetail.tsx:247 +#: screens/Job/JobDetail/JobDetail.tsx:246 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalList.tsx:215 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListItem.tsx:84 msgid "Started" @@ -6077,7 +6077,7 @@ msgstr "Output" msgid "Denied" msgstr "Geweigerd" -#: screens/Job/JobDetail/JobDetail.tsx:254 +#: screens/Job/JobDetail/JobDetail.tsx:253 msgid "Unknown Finish Date" msgstr "Onbekende einddatum" @@ -6092,7 +6092,7 @@ msgstr "Meerkeuze" #: components/AdHocCommands/AdHocCredentialStep.tsx:111 #: components/AdHocCommands/AdHocCredentialStep.tsx:112 #: components/AdHocCommands/AdHocCredentialStep.tsx:124 -#: screens/Job/JobDetail/JobDetail.tsx:446 +#: screens/Job/JobDetail/JobDetail.tsx:445 msgid "Machine Credential" msgstr "Toegangsgegevens machine" @@ -6258,7 +6258,7 @@ msgstr "Startbericht" msgid "Scope for the token's access" msgstr "Geef een bereik op voor de toegang van de token" -#: screens/Job/JobDetail/JobDetail.tsx:569 +#: screens/Job/JobDetail/JobDetail.tsx:568 msgid "Module Name" msgstr "Naam van de module" @@ -7029,7 +7029,7 @@ msgstr "Kies een draaiboekmap" #: components/TemplateList/TemplateListItem.tsx:169 #: components/Workflow/WorkflowNodeHelp.tsx:45 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:30 -#: screens/Job/JobDetail/JobDetail.tsx:275 +#: screens/Job/JobDetail/JobDetail.tsx:274 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:85 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:224 msgid "Workflow Job Template" @@ -7549,7 +7549,7 @@ msgstr "Bestand uploaden geweigerd. Selecteer één .json-bestand." msgid "Local time zone" msgstr "Lokale tijdzone" -#: screens/Job/JobDetail/JobDetail.tsx:209 +#: screens/Job/JobDetail/JobDetail.tsx:208 msgid "No Status Available" msgstr "Geen schijfstatus beschikbaar" @@ -7883,7 +7883,7 @@ msgstr "{0, plural, one {Deze instantie wordt momenteel gebruikt door andere res #: screens/Setting/LDAP/LDAPDetail/LDAPDetail.tsx:105 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:70 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:44 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:82 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:81 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:44 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:45 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:54 @@ -8037,7 +8037,7 @@ msgstr "Het is moeilijk om een specificatie te geven voor\n" " werkelijke facts verschillen van systeem tot systeem." #: components/JobList/JobListItem.tsx:371 -#: screens/Job/JobDetail/JobDetail.tsx:421 +#: screens/Job/JobDetail/JobDetail.tsx:420 msgid "Job Slice Parent" msgstr "Ouder taken verdelen" @@ -8318,7 +8318,7 @@ msgstr "" #: screens/Inventory/ConstructedInventoryDetail/ConstructedInventoryDetail.tsx:234 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:281 #: screens/Inventory/shared/InventorySourceSubForms/SharedFields.tsx:51 -#: screens/Job/JobDetail/JobDetail.tsx:370 +#: screens/Job/JobDetail/JobDetail.tsx:369 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:263 msgid "Verbosity" msgstr "Verbositeit" @@ -8328,7 +8328,7 @@ msgstr "Verbositeit" msgid "Mattermost" msgstr "Mattermost" -#: screens/Job/JobDetail/JobDetail.tsx:225 +#: screens/Job/JobDetail/JobDetail.tsx:224 msgid "Job ID" msgstr "Taak-id" @@ -8394,7 +8394,7 @@ msgstr "Inventarissynchronisatie" #: components/Lookup/ProjectLookup.tsx:165 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:166 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:234 -#: screens/Job/JobDetail/JobDetail.tsx:79 +#: screens/Job/JobDetail/JobDetail.tsx:78 #: screens/Project/ProjectList/ProjectList.tsx:201 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/ProjectsList.tsx:105 msgid "Remote Archive" @@ -8985,7 +8985,7 @@ msgstr "Bronnen" msgid "Textarea" msgstr "Tekstgebied" -#: screens/Job/JobDetail/JobDetail.tsx:237 +#: screens/Job/JobDetail/JobDetail.tsx:236 msgid "Unknown Status" msgstr "Onbekende status" @@ -9072,7 +9072,7 @@ msgstr "Update-opties" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:179 #: screens/Inventory/InventoryGroupDetail/InventoryGroupDetail.tsx:56 #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:91 -#: screens/Job/JobDetail/JobDetail.tsx:583 +#: screens/Job/JobDetail/JobDetail.tsx:582 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:451 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:103 #: screens/Project/ProjectDetail/ProjectDetail.tsx:331 @@ -9158,7 +9158,7 @@ msgstr "{0, plural, one {# bron met synchronisatiefouten.} other {# bronnen met msgid "Back to Instances" msgstr "Terug naar instanties" -#: screens/Job/JobDetail/JobDetail.tsx:321 +#: screens/Job/JobDetail/JobDetail.tsx:320 msgid "Inventory Source" msgstr "Inventarisbron" @@ -9285,7 +9285,7 @@ msgstr "Verwante groep(en) loskoppelen?" #: components/PromptDetail/PromptDetail.tsx:415 #: components/PromptDetail/PromptJobTemplateDetail.tsx:158 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:509 -#: screens/Job/JobDetail/JobDetail.tsx:428 +#: screens/Job/JobDetail/JobDetail.tsx:427 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:251 #: screens/Template/shared/JobTemplateForm.tsx:502 #: screens/TopologyView/Tooltip.tsx:268 @@ -9609,7 +9609,7 @@ msgstr "Er moet een inventaris worden gekozen" #: components/PromptDetail/PromptWFJobTemplateDetail.tsx:102 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:501 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:286 -#: screens/Job/JobDetail/JobDetail.tsx:346 +#: screens/Job/JobDetail/JobDetail.tsx:345 #: screens/Project/ProjectDetail/ProjectDetail.tsx:232 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:240 #: screens/Template/shared/JobTemplateForm.tsx:423 @@ -9654,8 +9654,8 @@ msgid "This has already been acted on" msgstr "Hieraan is reeds gevolg gegeven" #: screens/Job/JobDetail/JobDetail.tsx:78 -msgid "Red Hat Insights" -msgstr "Red Hat Insights" +#~ msgid "Red Hat Insights" +#~ msgstr "Red Hat Insights" #: screens/Setting/GitHub/GitHub.tsx:59 msgid "View GitHub Settings" @@ -9695,7 +9695,7 @@ msgid "When not checked, a merge will be performed, combining local variables wi msgstr "Indien niet aangevinkt, wordt een samenvoeging uitgevoerd, waarbij lokale variabelen worden gecombineerd met die op de externe bron." #: components/JobList/JobListItem.tsx:144 -#: screens/Job/JobDetail/JobDetail.tsx:642 +#: screens/Job/JobDetail/JobDetail.tsx:641 #: screens/Job/JobOutput/JobOutput.tsx:1214 #: screens/Job/JobOutput/JobOutput.tsx:1215 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:172 @@ -9723,7 +9723,7 @@ msgstr "Inventarisbronnen met fouten" #: screens/Inventory/InventoryList/InventoryListItem.tsx:117 #: screens/Inventory/InventorySources/InventorySourceList.tsx:215 #: screens/Inventory/InventorySources/InventorySourceListItem.tsx:77 -#: screens/Job/JobDetail/JobDetail.tsx:231 +#: screens/Job/JobDetail/JobDetail.tsx:230 #: screens/Job/JobOutput/HostEventModal.tsx:167 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:167 #: screens/NotificationTemplate/NotificationTemplateList/NotificationTemplateList.tsx:178 @@ -9916,7 +9916,7 @@ msgstr "Opzoeken annuleren" #: screens/Setting/Jobs/JobsDetail/JobsDetail.tsx:65 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:77 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:51 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:89 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:88 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:51 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:52 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:61 @@ -10505,8 +10505,8 @@ msgstr "Dit veld moet minimaal {0} tekens bevatten" #: components/PromptDetail/PromptInventorySourceDetail.tsx:81 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:233 #: screens/Inventory/shared/InventorySourceForm.tsx:180 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:333 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:332 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/InventorySourcesList.tsx:99 msgid "Source" msgstr "Bron" @@ -10630,7 +10630,7 @@ msgstr "Niet gelijk aan" msgid "IRC nick" msgstr "IRC-bijnaam" -#: screens/Job/JobDetail/JobDetail.tsx:575 +#: screens/Job/JobDetail/JobDetail.tsx:574 msgid "Module Arguments" msgstr "Module-argumenten" @@ -10722,7 +10722,7 @@ msgstr "Kies een soort taak" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:145 -#: screens/Job/JobDetail/JobDetail.tsx:643 +#: screens/Job/JobDetail/JobDetail.tsx:642 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:173 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:164 msgid "Cancel {0}" @@ -10894,7 +10894,7 @@ msgstr "" msgid "Invalid date format" msgstr "" -#: screens/Job/JobDetail/JobDetail.tsx:397 +#: screens/Job/JobDetail/JobDetail.tsx:396 msgid "Instance Group" msgstr "Instantiegroep" @@ -11015,7 +11015,7 @@ msgstr "" msgid "Invalid time format" msgstr "Ongeldige tijdnotatie" -#: screens/Job/JobDetail/JobDetail.tsx:189 +#: screens/Job/JobDetail/JobDetail.tsx:188 msgid "Unknown Project" msgstr "Onbekend project" @@ -11101,7 +11101,7 @@ msgstr "Het patroon dat gebruikt wordt om hosts in de inventaris te targeten. Do #: components/PromptDetail/PromptDetail.tsx:196 #: components/PromptDetail/PromptDetail.tsx:425 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:518 -#: screens/Job/JobDetail/JobDetail.tsx:436 +#: screens/Job/JobDetail/JobDetail.tsx:435 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:223 #: screens/NotificationTemplate/shared/TypeInputsSubForm.tsx:197 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:269 @@ -11456,7 +11456,7 @@ msgstr "Voer een taak uit om deze lijst te vullen." #: screens/Inventory/shared/ConstructedInventoryHint.tsx:176 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:263 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:334 -#: screens/Job/JobDetail/JobDetail.tsx:364 +#: screens/Job/JobDetail/JobDetail.tsx:363 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:257 #: screens/Template/shared/JobTemplateForm.tsx:522 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:208 @@ -11494,8 +11494,8 @@ msgstr "Associëren" #: components/JobList/JobListItem.tsx:197 #: components/LaunchButton/ReLaunchDropDown.tsx:86 #: components/LaunchButton/WorkflowReLaunchDropDown.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:623 -#: screens/Job/JobDetail/JobDetail.tsx:631 +#: screens/Job/JobDetail/JobDetail.tsx:622 +#: screens/Job/JobDetail/JobDetail.tsx:630 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:204 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:204 msgid "Relaunch" @@ -11568,8 +11568,8 @@ msgstr "Gebruikerstoken verwijderen" msgid "encrypted" msgstr "versleuteld" -#: screens/Job/JobDetail/JobDetail.tsx:122 -#: screens/Job/JobDetail/JobDetail.tsx:148 +#: screens/Job/JobDetail/JobDetail.tsx:121 +#: screens/Job/JobDetail/JobDetail.tsx:147 msgid "Unknown Inventory" msgstr "Onbekende inventaris" @@ -11654,7 +11654,7 @@ msgid "Source Phone Number" msgstr "Brontelefoonnummer" #. placeholder {0}: job.timeout -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "{0} seconds" msgstr "{0} seconden" @@ -11769,7 +11769,7 @@ msgstr "Foutbericht body" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:146 -#: screens/Job/JobDetail/JobDetail.tsx:644 +#: screens/Job/JobDetail/JobDetail.tsx:643 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:174 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:165 msgid "Failed to cancel {0}" @@ -11840,7 +11840,7 @@ msgid "Created By (Username)" msgstr "Gemaakt door (Gebruikersnaam)" #: components/PromptDetail/PromptJobTemplateDetail.tsx:156 -#: screens/Job/JobDetail/JobDetail.tsx:358 +#: screens/Job/JobDetail/JobDetail.tsx:357 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:245 #: screens/Template/shared/JobTemplateForm.tsx:441 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:48 @@ -11952,9 +11952,9 @@ msgstr "Berichtstart wisselen" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:107 #: screens/Inventory/InventoryList/InventoryList.tsx:202 #: screens/Inventory/InventoryList/InventoryListItem.tsx:60 -#: screens/Job/JobDetail/JobDetail.tsx:108 -#: screens/Job/JobDetail/JobDetail.tsx:127 -#: screens/Job/JobDetail/JobDetail.tsx:134 +#: screens/Job/JobDetail/JobDetail.tsx:107 +#: screens/Job/JobDetail/JobDetail.tsx:126 +#: screens/Job/JobDetail/JobDetail.tsx:133 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:207 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:217 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:143 diff --git a/ascender/ui/src/locales/zh/messages.po b/ascender/ui/src/locales/zh/messages.po index d4934a34e..e969a2c79 100644 --- a/ascender/ui/src/locales/zh/messages.po +++ b/ascender/ui/src/locales/zh/messages.po @@ -1083,7 +1083,7 @@ msgstr "查看所有团队。" msgid "This field must be a regular expression" msgstr "此字段必须是正则表达式" -#: screens/Job/JobDetail/JobDetail.tsx:602 +#: screens/Job/JobDetail/JobDetail.tsx:601 msgid "Artifacts" msgstr "工件" @@ -1152,7 +1152,7 @@ msgid "Controls whether or not this instance is managed by policy. If enabled, t msgstr "控制此实例是否由策略管理。如果启用,实例将可用于根据策略规则自动分配给实例组和取消分配实例组。" #: components/JobList/JobList.tsx:257 -#: screens/Job/JobDetail/JobDetail.tsx:253 +#: screens/Job/JobDetail/JobDetail.tsx:252 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:246 msgid "Finished" msgstr "完成" @@ -1403,7 +1403,7 @@ msgstr "电子邮件" #: components/PromptDetail/PromptDetail.tsx:253 #: components/PromptDetail/PromptJobTemplateDetail.tsx:111 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:457 -#: screens/Job/JobDetail/JobDetail.tsx:306 +#: screens/Job/JobDetail/JobDetail.tsx:305 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:185 #: screens/Template/shared/JobTemplateForm.tsx:342 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:140 @@ -1446,7 +1446,7 @@ msgstr "选项" msgid "Failed to delete user." msgstr "删除用户失败。" -#: screens/Job/JobDetail/JobDetail.tsx:405 +#: screens/Job/JobDetail/JobDetail.tsx:404 msgid "Container Group" msgstr "容器组" @@ -1530,7 +1530,7 @@ msgstr "删除通知失败。" msgid "Show less" msgstr "显示更少" -#: screens/Job/JobDetail/JobDetail.tsx:353 +#: screens/Job/JobDetail/JobDetail.tsx:352 #: screens/Project/ProjectList/ProjectList.tsx:224 #: screens/Project/ProjectList/ProjectListItem.tsx:207 msgid "Revision" @@ -2131,7 +2131,7 @@ msgstr "在评估条件之前需要父节点的结果。" #: components/Workflow/WorkflowNodeHelp.tsx:41 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateList.tsx:101 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:29 -#: screens/Job/JobDetail/JobDetail.tsx:260 +#: screens/Job/JobDetail/JobDetail.tsx:259 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:73 msgid "Job Template" msgstr "任务模板" @@ -2545,7 +2545,7 @@ msgid "Delete Execution Environment" msgstr "删除执行环境" #: components/JobList/JobListItem.tsx:366 -#: screens/Job/JobDetail/JobDetail.tsx:413 +#: screens/Job/JobDetail/JobDetail.tsx:412 msgid "Job Slice" msgstr "作业分片" @@ -2603,7 +2603,7 @@ msgstr "每行使用一个 IRC 频道或用户名。频道的\n" msgid "Microsoft Azure Resource Manager" msgstr "Microsoft Azure Resource Manager" -#: screens/Job/JobDetail/JobDetail.tsx:664 +#: screens/Job/JobDetail/JobDetail.tsx:663 #: screens/Job/JobOutput/JobOutput.tsx:1203 #: screens/Job/JobOutput/JobOutput.tsx:1204 #: screens/Job/WorkflowOutput/WorkflowOutput.tsx:134 @@ -2615,7 +2615,7 @@ msgstr "作业删除错误" msgid "On days" msgstr "于日" -#: screens/Job/JobDetail/JobDetail.tsx:384 +#: screens/Job/JobDetail/JobDetail.tsx:383 msgid "Execution Node" msgstr "执行节点" @@ -2811,7 +2811,7 @@ msgid "Question" msgstr "问题" #: components/PromptDetail/PromptProjectDetail.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:312 +#: screens/Job/JobDetail/JobDetail.tsx:311 #: screens/Project/ProjectDetail/ProjectDetail.tsx:192 #: screens/Project/shared/ProjectForm.tsx:316 msgid "Source Control Type" @@ -3025,7 +3025,7 @@ msgstr "Azure AD 设置" #: components/JobList/JobListItem.tsx:371 #: screens/ExecutionEnvironment/ExecutionEnvironmentDetails/ExecutionEnvironmentDetails.tsx:74 -#: screens/Job/JobDetail/JobDetail.tsx:422 +#: screens/Job/JobDetail/JobDetail.tsx:421 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:263 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:293 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:323 @@ -3323,7 +3323,7 @@ msgstr "键入回答,然后点右侧选择回答作为默认选项。" msgid "Survey Question Order" msgstr "问卷调查问题顺序" -#: screens/Job/JobDetail/JobDetail.tsx:248 +#: screens/Job/JobDetail/JobDetail.tsx:247 msgid "Unknown Start Date" msgstr "未知开始日期" @@ -3363,7 +3363,7 @@ msgstr "小于或等于比较。" #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:85 #: screens/Inventory/shared/InventoryGroupsDeleteModal.tsx:109 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:164 -#: screens/Job/JobDetail/JobDetail.tsx:655 +#: screens/Job/JobDetail/JobDetail.tsx:654 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:493 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:164 #: screens/Project/ProjectDetail/ProjectDetail.tsx:374 @@ -3513,7 +3513,7 @@ msgstr "GitHub Team" #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:88 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:337 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:139 -#: screens/Job/JobDetail/JobDetail.tsx:579 +#: screens/Job/JobDetail/JobDetail.tsx:578 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:446 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:98 #: screens/Project/ProjectDetail/ProjectDetail.tsx:326 @@ -3701,11 +3701,11 @@ msgstr "Azure AD Tenant" msgid "Create new Instance" msgstr "创建新实例" -#: screens/Job/JobDetail/JobDetail.tsx:195 +#: screens/Job/JobDetail/JobDetail.tsx:194 msgid "Project Update Status" msgstr "项目更新状态" -#: screens/Job/JobDetail/JobDetail.tsx:390 +#: screens/Job/JobDetail/JobDetail.tsx:389 msgid "Controller Node" msgstr "控制器节点" @@ -3883,8 +3883,8 @@ msgstr "默认执行环境" #: components/PromptDetail/PromptJobTemplateDetail.tsx:150 #: components/TemplateList/TemplateListItem.tsx:279 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:256 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:215 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:214 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:222 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:232 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:43 @@ -4119,8 +4119,8 @@ msgstr "删除凭证" #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:112 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:85 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:89 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:139 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:143 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:119 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:123 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:85 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:89 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:96 @@ -4169,7 +4169,7 @@ msgstr "在查看JSON示例" msgid "Destination SMS Number(s)" msgstr "目标 SMS 号码" -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "No timeout specified" msgstr "未指定超时" @@ -4755,7 +4755,7 @@ msgid "Delete this node" msgstr "删除此节点" #: components/JobList/JobListItem.tsx:264 -#: screens/Job/JobDetail/JobDetail.tsx:292 +#: screens/Job/JobDetail/JobDetail.tsx:291 msgid "Source Workflow Job" msgstr "源工作流作业" @@ -4964,7 +4964,7 @@ msgstr "选择要删除的问题" #: screens/Inventory/shared/InventoryGroupForm.tsx:68 #: screens/Inventory/shared/SmartInventoryForm.tsx:101 #: screens/Inventory/SmartInventoryDetail/SmartInventoryDetail.tsx:133 -#: screens/Job/JobDetail/JobDetail.tsx:590 +#: screens/Job/JobDetail/JobDetail.tsx:589 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:484 #: screens/Template/shared/JobTemplateForm.tsx:495 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:261 @@ -5124,7 +5124,7 @@ msgstr "折叠" #: screens/Inventory/FederatedInventoryDetail/FederatedInventoryDetail.tsx:124 #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:145 #: screens/Inventory/shared/InventoryForm.tsx:89 -#: screens/Job/JobDetail/JobDetail.tsx:492 +#: screens/Job/JobDetail/JobDetail.tsx:491 #: screens/Labels/Labels.tsx:13 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:399 #: screens/Template/shared/JobTemplateForm.tsx:480 @@ -5170,7 +5170,7 @@ msgstr "月" #: screens/Credential/CredentialList/CredentialList.tsx:195 #: screens/Credential/Credentials.tsx:16 #: screens/Credential/Credentials.tsx:27 -#: screens/Job/JobDetail/JobDetail.tsx:468 +#: screens/Job/JobDetail/JobDetail.tsx:467 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:372 #: screens/Template/shared/JobTemplateForm.tsx:465 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:54 @@ -5195,7 +5195,7 @@ msgstr "当新实例上线时将自动分配给此组的\n" #: components/PromptDetail/PromptDetail.tsx:323 #: components/PromptDetail/PromptJobTemplateDetail.tsx:255 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:590 -#: screens/Job/JobDetail/JobDetail.tsx:517 +#: screens/Job/JobDetail/JobDetail.tsx:516 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:433 #: screens/Template/shared/JobTemplateForm.tsx:625 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:267 @@ -5219,7 +5219,7 @@ msgstr "选择要批准的行" #~ msgid "Unique Hosts" #~ msgstr "独一无二的房东" -#: screens/Job/JobDetail/JobDetail.tsx:651 +#: screens/Job/JobDetail/JobDetail.tsx:650 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:247 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:251 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:219 @@ -5836,7 +5836,7 @@ msgstr "实例组" #: components/PromptDetail/PromptDetail.tsx:357 #: components/PromptDetail/PromptJobTemplateDetail.tsx:275 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:615 -#: screens/Job/JobDetail/JobDetail.tsx:544 +#: screens/Job/JobDetail/JobDetail.tsx:543 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:459 #: screens/Template/shared/JobTemplateForm.tsx:637 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:279 @@ -5907,7 +5907,7 @@ msgstr "嵌套组清单定义:" #~ msgid "Prompt for limit on launch." #~ msgstr "启动时提示输入限制。" -#: screens/Job/JobDetail/JobDetail.tsx:247 +#: screens/Job/JobDetail/JobDetail.tsx:246 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalList.tsx:215 #: screens/WorkflowApproval/WorkflowApprovalList/WorkflowApprovalListItem.tsx:84 msgid "Started" @@ -6077,7 +6077,7 @@ msgstr "输出标签页" msgid "Denied" msgstr "已拒绝" -#: screens/Job/JobDetail/JobDetail.tsx:254 +#: screens/Job/JobDetail/JobDetail.tsx:253 msgid "Unknown Finish Date" msgstr "未知完成日期" @@ -6092,7 +6092,7 @@ msgstr "多选" #: components/AdHocCommands/AdHocCredentialStep.tsx:111 #: components/AdHocCommands/AdHocCredentialStep.tsx:112 #: components/AdHocCommands/AdHocCredentialStep.tsx:124 -#: screens/Job/JobDetail/JobDetail.tsx:446 +#: screens/Job/JobDetail/JobDetail.tsx:445 msgid "Machine Credential" msgstr "机器凭证" @@ -6258,7 +6258,7 @@ msgstr "开始消息" msgid "Scope for the token's access" msgstr "令牌访问的范围" -#: screens/Job/JobDetail/JobDetail.tsx:569 +#: screens/Job/JobDetail/JobDetail.tsx:568 msgid "Module Name" msgstr "模块名称" @@ -7029,7 +7029,7 @@ msgstr "选择 Playbook 目录" #: components/TemplateList/TemplateListItem.tsx:169 #: components/Workflow/WorkflowNodeHelp.tsx:45 #: screens/ExecutionEnvironment/ExecutionEnvironmentTemplate/ExecutionEnvironmentTemplateListItem.tsx:30 -#: screens/Job/JobDetail/JobDetail.tsx:275 +#: screens/Job/JobDetail/JobDetail.tsx:274 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/NodeTypeStep.tsx:85 #: screens/WorkflowApproval/WorkflowApprovalDetail/WorkflowApprovalDetail.tsx:224 msgid "Workflow Job Template" @@ -7549,7 +7549,7 @@ msgstr "上传文件被拒绝。请选择单个 .json 文件。" msgid "Local time zone" msgstr "本地时区" -#: screens/Job/JobDetail/JobDetail.tsx:209 +#: screens/Job/JobDetail/JobDetail.tsx:208 msgid "No Status Available" msgstr "没有状态" @@ -7883,7 +7883,7 @@ msgstr "{0, plural, one {此实例当前正被其他资源使用。确定要删 #: screens/Setting/LDAP/LDAPDetail/LDAPDetail.tsx:105 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:70 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:44 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:82 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:81 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:44 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:45 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:54 @@ -8037,7 +8037,7 @@ msgstr "很难为 Ansible 事实的清单提供\n" " 会因系统而异。" #: components/JobList/JobListItem.tsx:371 -#: screens/Job/JobDetail/JobDetail.tsx:421 +#: screens/Job/JobDetail/JobDetail.tsx:420 msgid "Job Slice Parent" msgstr "任务分片父级" @@ -8318,7 +8318,7 @@ msgstr "" #: screens/Inventory/ConstructedInventoryDetail/ConstructedInventoryDetail.tsx:234 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:281 #: screens/Inventory/shared/InventorySourceSubForms/SharedFields.tsx:51 -#: screens/Job/JobDetail/JobDetail.tsx:370 +#: screens/Job/JobDetail/JobDetail.tsx:369 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:263 msgid "Verbosity" msgstr "详细程度" @@ -8328,7 +8328,7 @@ msgstr "详细程度" msgid "Mattermost" msgstr "Mattermost" -#: screens/Job/JobDetail/JobDetail.tsx:225 +#: screens/Job/JobDetail/JobDetail.tsx:224 msgid "Job ID" msgstr "作业 ID" @@ -8394,7 +8394,7 @@ msgstr "清单同步" #: components/Lookup/ProjectLookup.tsx:165 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:166 #: components/UserAndTeamAccessAdd/UserAndTeamAccessAdd.tsx:234 -#: screens/Job/JobDetail/JobDetail.tsx:79 +#: screens/Job/JobDetail/JobDetail.tsx:78 #: screens/Project/ProjectList/ProjectList.tsx:201 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/ProjectsList.tsx:105 msgid "Remote Archive" @@ -8985,7 +8985,7 @@ msgstr "源" msgid "Textarea" msgstr "文本区" -#: screens/Job/JobDetail/JobDetail.tsx:237 +#: screens/Job/JobDetail/JobDetail.tsx:236 msgid "Unknown Status" msgstr "未知状态" @@ -9072,7 +9072,7 @@ msgstr "更新选项" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:179 #: screens/Inventory/InventoryGroupDetail/InventoryGroupDetail.tsx:56 #: screens/Inventory/InventoryHostDetail/InventoryHostDetail.tsx:91 -#: screens/Job/JobDetail/JobDetail.tsx:583 +#: screens/Job/JobDetail/JobDetail.tsx:582 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:451 #: screens/Organization/OrganizationDetail/OrganizationDetail.tsx:103 #: screens/Project/ProjectDetail/ProjectDetail.tsx:331 @@ -9158,7 +9158,7 @@ msgstr "{0, plural, one {# 个源存在同步失败。} other {# 个源存在同 msgid "Back to Instances" msgstr "返回到实例" -#: screens/Job/JobDetail/JobDetail.tsx:321 +#: screens/Job/JobDetail/JobDetail.tsx:320 msgid "Inventory Source" msgstr "清单源" @@ -9285,7 +9285,7 @@ msgstr "解除关联相关的组?" #: components/PromptDetail/PromptDetail.tsx:415 #: components/PromptDetail/PromptJobTemplateDetail.tsx:158 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:509 -#: screens/Job/JobDetail/JobDetail.tsx:428 +#: screens/Job/JobDetail/JobDetail.tsx:427 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:251 #: screens/Template/shared/JobTemplateForm.tsx:502 #: screens/TopologyView/Tooltip.tsx:268 @@ -9609,7 +9609,7 @@ msgstr "必须选择一个清单" #: components/PromptDetail/PromptWFJobTemplateDetail.tsx:102 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:501 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:286 -#: screens/Job/JobDetail/JobDetail.tsx:346 +#: screens/Job/JobDetail/JobDetail.tsx:345 #: screens/Project/ProjectDetail/ProjectDetail.tsx:232 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:240 #: screens/Template/shared/JobTemplateForm.tsx:423 @@ -9654,8 +9654,8 @@ msgid "This has already been acted on" msgstr "此已操作" #: screens/Job/JobDetail/JobDetail.tsx:78 -msgid "Red Hat Insights" -msgstr "Red Hat Insights" +#~ msgid "Red Hat Insights" +#~ msgstr "Red Hat Insights" #: screens/Setting/GitHub/GitHub.tsx:59 msgid "View GitHub Settings" @@ -9695,7 +9695,7 @@ msgid "When not checked, a merge will be performed, combining local variables wi msgstr "未选中时,将执行合并,将局部变量与外部源上的局部变量相结合。" #: components/JobList/JobListItem.tsx:144 -#: screens/Job/JobDetail/JobDetail.tsx:642 +#: screens/Job/JobDetail/JobDetail.tsx:641 #: screens/Job/JobOutput/JobOutput.tsx:1214 #: screens/Job/JobOutput/JobOutput.tsx:1215 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:172 @@ -9723,7 +9723,7 @@ msgstr "出现故障的库存源" #: screens/Inventory/InventoryList/InventoryListItem.tsx:117 #: screens/Inventory/InventorySources/InventorySourceList.tsx:215 #: screens/Inventory/InventorySources/InventorySourceListItem.tsx:77 -#: screens/Job/JobDetail/JobDetail.tsx:231 +#: screens/Job/JobDetail/JobDetail.tsx:230 #: screens/Job/JobOutput/HostEventModal.tsx:167 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:167 #: screens/NotificationTemplate/NotificationTemplateList/NotificationTemplateList.tsx:178 @@ -9916,7 +9916,7 @@ msgstr "取消查找" #: screens/Setting/Jobs/JobsDetail/JobsDetail.tsx:65 #: screens/Setting/Logging/LoggingDetail/LoggingDetail.tsx:77 #: screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.tsx:51 -#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:89 +#: screens/Setting/MiscSystem/MiscSystemDetail/MiscSystemDetail.tsx:88 #: screens/Setting/OIDC/OIDCDetail/OIDCDetail.tsx:51 #: screens/Setting/RADIUS/RADIUSDetail/RADIUSDetail.tsx:52 #: screens/Setting/SAML/SAMLDetail/SAMLDetail.tsx:61 @@ -10505,8 +10505,8 @@ msgstr "此字段必须至少包含 {0} 个字符" #: components/PromptDetail/PromptInventorySourceDetail.tsx:81 #: screens/Inventory/InventorySourceDetail/InventorySourceDetail.tsx:233 #: screens/Inventory/shared/InventorySourceForm.tsx:180 -#: screens/Job/JobDetail/JobDetail.tsx:181 -#: screens/Job/JobDetail/JobDetail.tsx:333 +#: screens/Job/JobDetail/JobDetail.tsx:180 +#: screens/Job/JobDetail/JobDetail.tsx:332 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/InventorySourcesList.tsx:99 msgid "Source" msgstr "源" @@ -10630,7 +10630,7 @@ msgstr "不等于" msgid "IRC nick" msgstr "IRC Nick" -#: screens/Job/JobDetail/JobDetail.tsx:575 +#: screens/Job/JobDetail/JobDetail.tsx:574 msgid "Module Arguments" msgstr "模块参数" @@ -10722,7 +10722,7 @@ msgstr "选择作业类型" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:145 -#: screens/Job/JobDetail/JobDetail.tsx:643 +#: screens/Job/JobDetail/JobDetail.tsx:642 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:173 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:164 msgid "Cancel {0}" @@ -10894,7 +10894,7 @@ msgstr "" msgid "Invalid date format" msgstr "" -#: screens/Job/JobDetail/JobDetail.tsx:397 +#: screens/Job/JobDetail/JobDetail.tsx:396 msgid "Instance Group" msgstr "实例组" @@ -11015,7 +11015,7 @@ msgstr "" msgid "Invalid time format" msgstr "时间格式无效" -#: screens/Job/JobDetail/JobDetail.tsx:189 +#: screens/Job/JobDetail/JobDetail.tsx:188 msgid "Unknown Project" msgstr "未知的工程ID" @@ -11101,7 +11101,7 @@ msgstr "用于将字段保留为清单中的目标主机的模式。留空、所 #: components/PromptDetail/PromptDetail.tsx:196 #: components/PromptDetail/PromptDetail.tsx:425 #: components/Schedule/ScheduleDetail/ScheduleDetail.tsx:518 -#: screens/Job/JobDetail/JobDetail.tsx:436 +#: screens/Job/JobDetail/JobDetail.tsx:435 #: screens/NotificationTemplate/NotificationTemplateDetail/NotificationTemplateDetail.tsx:223 #: screens/NotificationTemplate/shared/TypeInputsSubForm.tsx:197 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:269 @@ -11456,7 +11456,7 @@ msgstr "请运行一个作业来填充此列表。" #: screens/Inventory/shared/ConstructedInventoryHint.tsx:176 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:263 #: screens/Inventory/shared/ConstructedInventoryHint.tsx:334 -#: screens/Job/JobDetail/JobDetail.tsx:364 +#: screens/Job/JobDetail/JobDetail.tsx:363 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:257 #: screens/Template/shared/JobTemplateForm.tsx:522 #: screens/Template/shared/WorkflowJobTemplateForm.tsx:208 @@ -11494,8 +11494,8 @@ msgstr "关联" #: components/JobList/JobListItem.tsx:197 #: components/LaunchButton/ReLaunchDropDown.tsx:86 #: components/LaunchButton/WorkflowReLaunchDropDown.tsx:96 -#: screens/Job/JobDetail/JobDetail.tsx:623 -#: screens/Job/JobDetail/JobDetail.tsx:631 +#: screens/Job/JobDetail/JobDetail.tsx:622 +#: screens/Job/JobDetail/JobDetail.tsx:630 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:204 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:204 msgid "Relaunch" @@ -11568,8 +11568,8 @@ msgstr "删除用户令牌" msgid "encrypted" msgstr "加密" -#: screens/Job/JobDetail/JobDetail.tsx:122 -#: screens/Job/JobDetail/JobDetail.tsx:148 +#: screens/Job/JobDetail/JobDetail.tsx:121 +#: screens/Job/JobDetail/JobDetail.tsx:147 msgid "Unknown Inventory" msgstr "未知库存" @@ -11654,7 +11654,7 @@ msgid "Source Phone Number" msgstr "源电话号码" #. placeholder {0}: job.timeout -#: screens/Job/JobDetail/JobDetail.tsx:438 +#: screens/Job/JobDetail/JobDetail.tsx:437 msgid "{0} seconds" msgstr "{0} 秒" @@ -11769,7 +11769,7 @@ msgstr "错误消息正文" #. placeholder {0}: job.name #: components/JobList/JobListItem.tsx:146 -#: screens/Job/JobDetail/JobDetail.tsx:644 +#: screens/Job/JobDetail/JobDetail.tsx:643 #: screens/Job/JobOutput/shared/OutputToolbar.tsx:174 #: screens/Job/WorkflowOutput/WorkflowOutputToolbar.tsx:165 msgid "Failed to cancel {0}" @@ -11840,7 +11840,7 @@ msgid "Created By (Username)" msgstr "创建者(用户名)" #: components/PromptDetail/PromptJobTemplateDetail.tsx:156 -#: screens/Job/JobDetail/JobDetail.tsx:358 +#: screens/Job/JobDetail/JobDetail.tsx:357 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:245 #: screens/Template/shared/JobTemplateForm.tsx:441 #: screens/Template/WorkflowJobTemplateVisualizer/Modals/NodeModals/NodeTypeStep/JobTemplatesList.tsx:48 @@ -11952,9 +11952,9 @@ msgstr "切换通知开始" #: screens/Inventory/InventoryDetail/InventoryDetail.tsx:107 #: screens/Inventory/InventoryList/InventoryList.tsx:202 #: screens/Inventory/InventoryList/InventoryListItem.tsx:60 -#: screens/Job/JobDetail/JobDetail.tsx:108 -#: screens/Job/JobDetail/JobDetail.tsx:127 -#: screens/Job/JobDetail/JobDetail.tsx:134 +#: screens/Job/JobDetail/JobDetail.tsx:107 +#: screens/Job/JobDetail/JobDetail.tsx:126 +#: screens/Job/JobDetail/JobDetail.tsx:133 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:207 #: screens/Template/JobTemplateDetail/JobTemplateDetail.tsx:217 #: screens/Template/WorkflowJobTemplateDetail/WorkflowJobTemplateDetail.tsx:143 diff --git a/ascender/ui/src/screens/Job/JobDetail/JobDetail.tsx b/ascender/ui/src/screens/Job/JobDetail/JobDetail.tsx index 51ba7b72b..6c8561681 100644 --- a/ascender/ui/src/screens/Job/JobDetail/JobDetail.tsx +++ b/ascender/ui/src/screens/Job/JobDetail/JobDetail.tsx @@ -75,7 +75,6 @@ function JobDetail({ job, inventorySourceLabels = [] }: JobDetailProps) { '': t`Manual`, git: t`Git`, svn: t`Subversion`, - insights: t`Red Hat Insights`, archive: t`Remote Archive`, }; From c6fe0f056b622dca880dbe0a3352299fdfb84cef Mon Sep 17 00:00:00 2001 From: Blai Peidro Date: Wed, 16 Sep 2026 01:17:59 +0200 Subject: [PATCH 4/7] refactor: stop naming a licence in comments and one dead extra var Seven comments still described one. defaults.py kept "Enables Insights data collection" after the setting it introduced was unregistered, so it sat above an unrelated line. generate_setting_types cited LICENSE as an example of a setting, managers.active_count said it counted hosts "for licensing" when it feeds host metrics, and inventory_import called PermissionDenied the class that distinguishes licence exceptions, which it no longer does. awx_license_type went with them. project_update.yml documented it and never read it, and since #1005 it was the constant 'open' passed to a playbook that ignores it. --- ascender/conf/management/commands/generate_setting_types.py | 2 +- ascender/main/management/commands/inventory_import.py | 2 +- ascender/main/managers.py | 2 +- ascender/main/tasks/jobs.py | 1 - ascender/main/tests/functional/api/test_survey_spec.py | 1 - .../main/tests/functional/commands/test_inventory_import.py | 1 - ascender/playbooks/project_update.yml | 1 - ascender/settings/defaults.py | 2 -- 8 files changed, 3 insertions(+), 9 deletions(-) diff --git a/ascender/conf/management/commands/generate_setting_types.py b/ascender/conf/management/commands/generate_setting_types.py index 4aa361582..f6eb5b91a 100644 --- a/ascender/conf/management/commands/generate_setting_types.py +++ b/ascender/conf/management/commands/generate_setting_types.py @@ -71,7 +71,7 @@ def setting_names(): Every setting name the settings object answers to. dir() is not enough on its own: a setting that only the conf registry - provides, CUSTOM_LOGO and LICENSE among them, answers to getattr without + provides, CUSTOM_LOGO among them, answers to getattr without appearing there, so the registry is unioned in. Leaving them out is how the first version of this file missed eight settings that views read. """ diff --git a/ascender/main/management/commands/inventory_import.py b/ascender/main/management/commands/inventory_import.py index 60bc27850..1f1f7d0a9 100644 --- a/ascender/main/management/commands/inventory_import.py +++ b/ascender/main/management/commands/inventory_import.py @@ -18,7 +18,7 @@ from django.db import connection, transaction from django.utils.encoding import smart_str -# DRF error class to distinguish license exceptions +# DRF error class, raised when the import is refused # Ascender inventory imports from ascender.main.models.inventory import Inventory, InventorySource, InventoryUpdate diff --git a/ascender/main/managers.py b/ascender/main/managers.py index 8479b07d0..f108f51b3 100644 --- a/ascender/main/managers.py +++ b/ascender/main/managers.py @@ -84,7 +84,7 @@ class HostManager(models.Manager.from_queryset(HostLatestSummaryQuerySet)): """Custom manager class for Hosts model.""" def active_count(self): - """Return count of active, unique hosts for licensing. + """Return count of active, unique hosts, which host metrics reports. Construction of query involves: - remove any ordering specified in model's Meta - Exclude hosts sourced from another Ascender diff --git a/ascender/main/tasks/jobs.py b/ascender/main/tasks/jobs.py index 1652446cb..2a691f3c8 100644 --- a/ascender/main/tasks/jobs.py +++ b/ascender/main/tasks/jobs.py @@ -1350,7 +1350,6 @@ def build_extra_vars_file(self, project_update, private_data_dir): 'projects_root': settings.PROJECTS_ROOT.rstrip('/'), 'local_path': os.path.basename(project_update.project.local_path), 'project_path': project_update.get_project_path(check_if_exists=False), # deprecated - 'awx_license_type': 'open', 'awx_version': get_ascender_version(), 'scm_url': scm_url, 'scm_branch': scm_branch, diff --git a/ascender/main/tests/functional/api/test_survey_spec.py b/ascender/main/tests/functional/api/test_survey_spec.py index cc1421a78..49829a56b 100644 --- a/ascender/main/tests/functional/api/test_survey_spec.py +++ b/ascender/main/tests/functional/api/test_survey_spec.py @@ -32,7 +32,6 @@ def test_survey_edit_access(job_template, workflow_job_template, survey_spec_fac ) -# Test normal operations with survey license work @pytest.mark.django_db @pytest.mark.survey def test_survey_spec_view_allowed(deploy_jobtemplate, get, admin_user): diff --git a/ascender/main/tests/functional/commands/test_inventory_import.py b/ascender/main/tests/functional/commands/test_inventory_import.py index 1b430a877..e20b5f94c 100644 --- a/ascender/main/tests/functional/commands/test_inventory_import.py +++ b/ascender/main/tests/functional/commands/test_inventory_import.py @@ -10,7 +10,6 @@ # Django from django.core.management.base import CommandError -# for license errors # Ascender from ascender.main.management.commands import inventory_import diff --git a/ascender/playbooks/project_update.yml b/ascender/playbooks/project_update.yml index 17262385e..cf41d0678 100644 --- a/ascender/playbooks/project_update.yml +++ b/ascender/playbooks/project_update.yml @@ -16,7 +16,6 @@ # collections_enabled: Value of the global setting to enable collections downloading # galaxy_task_env: environment variables to use specifically for ansible-galaxy commands # awx_version: Current running version of the awx or tower as a string -# awx_license_type: "open" for Ascender; else presume Tower # gpg_pubkey: the GPG public key to use for validation, when enabled - hosts: localhost diff --git a/ascender/settings/defaults.py b/ascender/settings/defaults.py index a79f5e967..34a1705fb 100644 --- a/ascender/settings/defaults.py +++ b/ascender/settings/defaults.py @@ -823,8 +823,6 @@ # Note: This setting may be overridden by database settings. PENDO_TRACKING_STATE = "off" -# Enables Insights data collection. -# Note: This setting may be overridden by database settings. # Last gather date for Analytics # Last gathered entries for expensive Analytics From d864ef12d5e04735930a52ba9070b146463ba41e Mon Sep 17 00:00:00 2001 From: Blai Peidro Date: Wed, 16 Sep 2026 02:14:44 +0200 Subject: [PATCH 5/7] feat: drop the licence accounting from host metrics license_capacity and license_consumed were the compliance layer: capacity was the entitlement and consumed the running total against it. #1005 already left capacity always zero, since its only source was the licence's instance_count, and consumed measures a headroom that no longer exists. Both columns go, with migration 0217. What stays is the part that was never about a subscription: hosts_added and hosts_deleted, the per-month record of which hosts an install first automated and which it deleted, and HostMetric itself with its automation counts. That removes the running total from the summary task, so _update_summary just records the two monthly figures and _get_license_consumed_before goes with it. The three help texts that named a licence now describe what the columns hold. Verified by rolling the migration back on a database holding license_consumed=42 and license_capacity=99, then forward again: the columns drop and the row keeps its hosts_added and hosts_deleted. --- ascender/api/serializers/host.py | 2 +- .../main/management/commands/host_metric.py | 2 - .../0217_drop_host_metric_licence_columns.py | 44 +++++++++++++++ ascender/main/models/inventory.py | 10 ++-- ascender/main/tasks/host_metrics.py | 38 ++----------- ascender/main/tests/factories/fixtures.py | 4 +- .../test_host_metric_summary_monthly.py | 54 ++++++++----------- 7 files changed, 77 insertions(+), 77 deletions(-) create mode 100644 ascender/main/migrations/0217_drop_host_metric_licence_columns.py diff --git a/ascender/api/serializers/host.py b/ascender/api/serializers/host.py index ea83a4b22..f9c22c1c2 100644 --- a/ascender/api/serializers/host.py +++ b/ascender/api/serializers/host.py @@ -301,5 +301,5 @@ class Meta: class HostMetricSummaryMonthlySerializer(BaseSerializer): class Meta: model = HostMetricSummaryMonthly - read_only_fields = ("id", "date", "license_consumed", "license_capacity", "hosts_added", "hosts_deleted", "indirectly_managed_hosts") + read_only_fields = ("id", "date", "hosts_added", "hosts_deleted", "indirectly_managed_hosts") fields = read_only_fields diff --git a/ascender/main/management/commands/host_metric.py b/ascender/main/management/commands/host_metric.py index 63ff416b9..f4ab03beb 100644 --- a/ascender/main/management/commands/host_metric.py +++ b/ascender/main/management/commands/host_metric.py @@ -38,8 +38,6 @@ def host_metric_summary_monthly_queryset(self, result, offset=0, limit=BATCHED_F result.values( 'id', 'date', - 'license_consumed', - 'license_capacity', 'hosts_added', 'hosts_deleted', 'indirectly_managed_hosts', diff --git a/ascender/main/migrations/0217_drop_host_metric_licence_columns.py b/ascender/main/migrations/0217_drop_host_metric_licence_columns.py new file mode 100644 index 000000000..17c4fc0ba --- /dev/null +++ b/ascender/main/migrations/0217_drop_host_metric_licence_columns.py @@ -0,0 +1,44 @@ +# Generated by Django 6.1.1 on 2026-09-15 23:27 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("main", "0216_rename_towerschedulestate"), + ] + + operations = [ + migrations.RemoveField( + model_name="hostmetricsummarymonthly", + name="license_capacity", + ), + migrations.RemoveField( + model_name="hostmetricsummarymonthly", + name="license_consumed", + ), + migrations.AlterField( + model_name="hostmetric", + name="deleted", + field=models.BooleanField( + default=False, + help_text="Boolean flag saying whether the host is deleted and therefore no longer counted as automated", + ), + ), + migrations.AlterField( + model_name="hostmetricsummarymonthly", + name="hosts_added", + field=models.IntegerField( + default=0, + help_text="How many hosts were first automated in the associated month", + ), + ), + migrations.AlterField( + model_name="hostmetricsummarymonthly", + name="hosts_deleted", + field=models.IntegerField( + default=0, + help_text="How many hosts were deleted in the associated month", + ), + ), + ] diff --git a/ascender/main/models/inventory.py b/ascender/main/models/inventory.py index d418a6dc3..14c2b47e2 100644 --- a/ascender/main/models/inventory.py +++ b/ascender/main/models/inventory.py @@ -900,9 +900,7 @@ class HostMetric(models.Model): last_deleted = models.DateTimeField(null=True, db_index=True, help_text=_('When the host was last deleted')) automated_counter = models.BigIntegerField(default=0, help_text=_('How many times was the host automated')) deleted_counter = models.IntegerField(default=0, help_text=_('How many times was the host deleted')) - deleted = models.BooleanField( - default=False, help_text=_('Boolean flag saying whether the host is deleted and therefore not counted into the subscription consumption') - ) + deleted = models.BooleanField(default=False, help_text=_('Boolean flag saying whether the host is deleted and therefore no longer counted as automated')) used_in_inventories = models.IntegerField(null=True, help_text=_('How many inventories contain this host')) objects = models.Manager() @@ -930,10 +928,8 @@ class HostMetricSummaryMonthly(models.Model): """ date = models.DateField(unique=True) - license_consumed = models.BigIntegerField(default=0, help_text=_("How many unique hosts are consumed from the license")) - license_capacity = models.BigIntegerField(default=0, help_text=_("'License capacity as max. number of unique hosts")) - hosts_added = models.IntegerField(default=0, help_text=_("How many hosts were added in the associated month, consuming more license capacity")) - hosts_deleted = models.IntegerField(default=0, help_text=_("How many hosts were deleted in the associated month, freeing the license capacity")) + hosts_added = models.IntegerField(default=0, help_text=_("How many hosts were first automated in the associated month")) + hosts_deleted = models.IntegerField(default=0, help_text=_("How many hosts were deleted in the associated month")) indirectly_managed_hosts = models.IntegerField(default=0, help_text=("Manually entered number indirectly managed hosts for a certain month")) diff --git a/ascender/main/tasks/host_metrics.py b/ascender/main/tasks/host_metrics.py index f01c38734..ced11a424 100644 --- a/ascender/main/tasks/host_metrics.py +++ b/ascender/main/tasks/host_metrics.py @@ -99,10 +99,6 @@ class HostMetricSummaryMonthlyTask: - hosts_added are HostMetric records with first_automation in given month - hosts_deleted are HostMetric records with deleted=True and last_deleted in given month - - HostMetrics soft-deleted before also increases hosts_deleted in their last_deleted month - - license_consumed is license_consumed(previous month) + hosts_added - hosts_deleted - - - license_consumed for HostMetricSummaryMonthly.date < [threshold] is computed also from - all HostMetrics.first_automation < [threshold] - - license_capacity is set only for current month, and it's never updated (value taken from current subscription) """ def __init__(self): @@ -119,38 +115,20 @@ def execute(self): self._load_hosts_added() self._load_hosts_deleted() - # Get first month after last hard delete - month = self._get_first_month() - license_consumed = self._get_license_consumed_before(month) - # Fill record for each month + month = self._get_first_month() while month <= datetime.date.today().replace(day=1): - summary = self._find_or_create_summary(month) - # Update summary and update license_consumed by hosts added/removed this month - self._update_summary(summary, month, license_consumed) - license_consumed = summary.license_consumed - + self._update_summary(self._find_or_create_summary(month), month) month = month + relativedelta(months=1) # Create/Update stats HostMetricSummaryMonthly.objects.bulk_create(self.records_to_create) - bulk_update_sorted_by_id(HostMetricSummaryMonthly, self.records_to_update, ['license_consumed', 'hosts_added', 'hosts_deleted']) + bulk_update_sorted_by_id(HostMetricSummaryMonthly, self.records_to_update, ['hosts_added', 'hosts_deleted']) # Set timestamp of last run settings.HOST_METRIC_SUMMARY_TASK_LAST_TS = now() - def _get_license_consumed_before(self, month): - license_consumed = 0 - for metric_month, metric in self.host_metrics.items(): - if metric_month < month: - hosts_added = metric.get('hosts_added', 0) - hosts_deleted = metric.get('hosts_deleted', 0) - license_consumed = license_consumed + hosts_added - hosts_deleted - else: - break - return license_consumed - def _load_existing_summaries(self): """Find all summaries newer than host metrics delete threshold""" self.existing_summaries = HostMetricSummaryMonthly.objects.filter(date__gte=self._get_first_month()).order_by('date') @@ -238,22 +216,16 @@ def _find_summary(self, month): break return summary - def _update_summary(self, summary, month, license_consumed): - """Updates the metric with hosts added and deleted and set license info for current month""" + def _update_summary(self, summary, month): + """Record how many hosts were first automated and deleted in the month""" # Get month counts from host metrics, zero if not found hosts_added, hosts_deleted = 0, 0 if metric := self.host_metrics.get(month, None): hosts_added = metric.get('hosts_added', 0) hosts_deleted = metric.get('hosts_deleted', 0) - summary.license_consumed = license_consumed + hosts_added - hosts_deleted summary.hosts_added = hosts_added summary.hosts_deleted = hosts_deleted - - # license_capacity counted against a subscription. There is none, so the - # column keeps the zero the subscription branch already produced. - if month == datetime.date.today().replace(day=1): - summary.license_capacity = 0 return summary @staticmethod diff --git a/ascender/main/tests/factories/fixtures.py b/ascender/main/tests/factories/fixtures.py index 9efd9fb29..870618367 100644 --- a/ascender/main/tests/factories/fixtures.py +++ b/ascender/main/tests/factories/fixtures.py @@ -279,11 +279,9 @@ def mk_host_metric(hostname, first_automation, last_automation=None, last_delete raise e -def mk_host_metric_summary(date, license_consumed=0, license_capacity=0, hosts_added=0, hosts_deleted=0, indirectly_managed_hosts=0, persisted=True): +def mk_host_metric_summary(date, hosts_added=0, hosts_deleted=0, indirectly_managed_hosts=0, persisted=True): summary = HostMetricSummaryMonthly( date=date, - license_consumed=license_consumed, - license_capacity=license_capacity, hosts_added=hosts_added, hosts_deleted=hosts_deleted, indirectly_managed_hosts=indirectly_managed_hosts, diff --git a/ascender/main/tests/functional/commands/test_host_metric_summary_monthly.py b/ascender/main/tests/functional/commands/test_host_metric_summary_monthly.py index adb47d40f..999cf6b7e 100644 --- a/ascender/main/tests/functional/commands/test_host_metric_summary_monthly.py +++ b/ascender/main/tests/functional/commands/test_host_metric_summary_monthly.py @@ -70,15 +70,15 @@ def __init__(self, threshold, ignore_asserts=False): def add_old_summaries(self): """These records don't correspond with Host metrics""" - mk_host_metric_summary(self.below(4), license_consumed=100, hosts_added=10, hosts_deleted=5) - mk_host_metric_summary(self.below(3), license_consumed=105, hosts_added=20, hosts_deleted=10) - mk_host_metric_summary(self.below(2), license_consumed=115, hosts_added=60, hosts_deleted=75) + mk_host_metric_summary(self.below(4), hosts_added=10, hosts_deleted=5) + mk_host_metric_summary(self.below(3), hosts_added=20, hosts_deleted=10) + mk_host_metric_summary(self.below(2), hosts_added=60, hosts_deleted=75) def assert_add_old_summaries(self): """Old summary records should be untouched""" - self.expected_summaries[self.below(4)] = {"date": self.below(4), "license_consumed": 100, "hosts_added": 10, "hosts_deleted": 5} - self.expected_summaries[self.below(3)] = {"date": self.below(3), "license_consumed": 105, "hosts_added": 20, "hosts_deleted": 10} - self.expected_summaries[self.below(2)] = {"date": self.below(2), "license_consumed": 115, "hosts_added": 60, "hosts_deleted": 75} + self.expected_summaries[self.below(4)] = {"date": self.below(4), "hosts_added": 10, "hosts_deleted": 5} + self.expected_summaries[self.below(3)] = {"date": self.below(3), "hosts_added": 20, "hosts_deleted": 10} + self.expected_summaries[self.below(2)] = {"date": self.below(2), "hosts_added": 60, "hosts_deleted": 75} self.assert_host_metric_summaries() @@ -92,7 +92,6 @@ def assert_host_metric_summaries(self): assert self.expected_summaries[summary.date] == { "date": summary.date, - "license_consumed": summary.license_consumed, "hosts_added": summary.hosts_added, "hosts_deleted": summary.hosts_deleted, } @@ -132,14 +131,14 @@ def assert_create_metrics(self): Other months are unchanged (same as month 2) """ self.expected_summaries = { - self.above(1): {"date": self.above(1), "license_consumed": 6, "hosts_added": 0, "hosts_deleted": 0}, - self.above(2): {"date": self.above(2), "license_consumed": 5, "hosts_added": 0, "hosts_deleted": 1}, + self.above(1): {"date": self.above(1), "hosts_added": 0, "hosts_deleted": 0}, + self.above(2): {"date": self.above(2), "hosts_added": 0, "hosts_deleted": 1}, } # no change in months 3+ idx = 3 month = self.above(idx) while month <= beginning_of_the_month(): - self.expected_summaries[self.above(idx)] = {"date": self.above(idx), "license_consumed": 5, "hosts_added": 0, "hosts_deleted": 0} + self.expected_summaries[self.above(idx)] = {"date": self.above(idx), "hosts_added": 0, "hosts_deleted": 0} month += relativedelta(months=1) idx += 1 @@ -165,8 +164,8 @@ def assert_change_metrics(self): """ self.expected_summaries[self.above(2)] |= {'hosts_deleted': 0} for idx in range(2, self.threshold): - self.expected_summaries[self.above(idx)] |= {'license_consumed': 6} - self.expected_summaries[beginning_of_the_month()] |= {'license_consumed': 4, 'hosts_deleted': 2} + self.expected_summaries[self.above(idx)] |= {} + self.expected_summaries[beginning_of_the_month()] |= {'hosts_deleted': 2} self.assert_host_metric_summaries() @@ -187,7 +186,6 @@ def add_metrics(): def assert_add_metrics(self): """Summary in current month is updated""" - self.expected_summaries[beginning_of_the_month()]['license_consumed'] = 6 self.expected_summaries[beginning_of_the_month()]['hosts_added'] = 2 self.assert_host_metric_summaries() @@ -216,17 +214,17 @@ def create_metrics(self): def assert_create_metrics(self): self.expected_summaries = { - self.above(1): {"date": self.above(1), "license_consumed": 4, "hosts_added": 5, "hosts_deleted": 1}, - self.above(2): {"date": self.above(2), "license_consumed": 7, "hosts_added": 5, "hosts_deleted": 2}, - self.above(3): {"date": self.above(3), "license_consumed": 6, "hosts_added": 0, "hosts_deleted": 1}, - self.above(4): {"date": self.above(4), "license_consumed": 11, "hosts_added": 6, "hosts_deleted": 1}, - self.above(5): {"date": self.above(5), "license_consumed": 10, "hosts_added": 0, "hosts_deleted": 1}, + self.above(1): {"date": self.above(1), "hosts_added": 5, "hosts_deleted": 1}, + self.above(2): {"date": self.above(2), "hosts_added": 5, "hosts_deleted": 2}, + self.above(3): {"date": self.above(3), "hosts_added": 0, "hosts_deleted": 1}, + self.above(4): {"date": self.above(4), "hosts_added": 6, "hosts_deleted": 1}, + self.above(5): {"date": self.above(5), "hosts_added": 0, "hosts_deleted": 1}, } # no change in months 6+ idx = 6 month = self.above(idx) while month <= beginning_of_the_month(): - self.expected_summaries[self.above(idx)] = {"date": self.above(idx), "license_consumed": 10, "hosts_added": 0, "hosts_deleted": 0} + self.expected_summaries[self.above(idx)] = {"date": self.above(idx), "hosts_added": 0, "hosts_deleted": 0} month += relativedelta(months=1) idx += 1 @@ -256,14 +254,11 @@ def assert_change_metrics(self): Summaries since month 2 were changed Current month has 2 deletions (host_16, host_17) """ - self.expected_summaries[self.above(2)] |= {'license_consumed': 8, 'hosts_deleted': 1} - self.expected_summaries[self.above(3)] |= {'license_consumed': 8, 'hosts_deleted': 0} - self.expected_summaries[self.above(4)] |= {'license_consumed': 14, 'hosts_deleted': 0} + self.expected_summaries[self.above(2)] |= {'hosts_deleted': 1} + self.expected_summaries[self.above(3)] |= {'hosts_deleted': 0} + self.expected_summaries[self.above(4)] |= {'hosts_deleted': 0} - # month 5 had hosts_deleted 1 => license_consumed == 14 - 1 - for idx in range(5, self.threshold): - self.expected_summaries[self.above(idx)] |= {'license_consumed': 13} - self.expected_summaries[beginning_of_the_month()] |= {'license_consumed': 11, 'hosts_deleted': 2} + self.expected_summaries[beginning_of_the_month()] |= {'hosts_deleted': 2} self.assert_host_metric_summaries() @@ -285,9 +280,8 @@ def assert_add_metrics(self): """ Two metrics were deleted in current month by change_metrics() Two metrics are added now - => license_consumed is equal to the previous month (13 - 2 + 2) """ - self.expected_summaries[beginning_of_the_month()] |= {'license_consumed': 13, 'hosts_added': 2} + self.expected_summaries[beginning_of_the_month()] |= {'hosts_added': 2} self.assert_host_metric_summaries() @@ -358,14 +352,12 @@ def _combine_expected_summaries(self): """ for date, summary in self.old_data.expected_summaries.items(): if date <= months_ago(self.threshold): - license_consumed = summary['license_consumed'] hosts_added = summary['hosts_added'] hosts_deleted = summary['hosts_deleted'] else: - license_consumed = summary['license_consumed'] + self.actual_data.expected_summaries[date]['license_consumed'] hosts_added = summary['hosts_added'] + self.actual_data.expected_summaries[date]['hosts_added'] hosts_deleted = summary['hosts_deleted'] + self.actual_data.expected_summaries[date]['hosts_deleted'] - self.expected_summaries[date] = {'date': date, 'license_consumed': license_consumed, 'hosts_added': hosts_added, 'hosts_deleted': hosts_deleted} + self.expected_summaries[date] = {'date': date, 'hosts_added': hosts_added, 'hosts_deleted': hosts_deleted} def months_ago(num, fmt="date"): From 0f1a3ffa4d69e9311d93693c514761927096d03e Mon Sep 17 00:00:00 2001 From: Blai Peidro Date: Wed, 16 Sep 2026 02:14:50 +0200 Subject: [PATCH 6/7] feat: remove SUBSCRIPTION_USAGE_MODEL, and stop hiding Host Metrics The setting did one thing: when it did not read unique_managed_hosts, the UI deleted the host_metrics route. Its label and choices were the last subscription wording left in Settings, offering a choice between "no subscription" and a usage model, on a product that has neither. With the licence accounting gone from host metrics, what the page shows is which hosts this install has automated and when. There is nothing left for a subscription concept to gate, so the setting goes and the route stays. The admin check on the line below is untouched, so it remains superusers and system auditors rather than everyone. Conf migration 0015 deletes the stored row. This is the direction cigamit suggested on the forum thread, that Host Metrics is useful enough to open up. --- .../0015_remove_subscription_usage_model.py | 13 +++++++ ascender/main/conf.py | 18 ---------- ascender/main/constants.py | 3 -- ascender/settings/defaults.py | 5 --- ascender/settings/typed.py | 1 - ascender/ui/src/routeConfig.test.ts | 1 - ascender/ui/src/routeConfig.tsx | 6 ---- .../shared/data.allSettingOptions.json | 35 ------------------- .../Setting/shared/data.allSettings.json | 1 - 9 files changed, 13 insertions(+), 70 deletions(-) create mode 100644 ascender/conf/migrations/0015_remove_subscription_usage_model.py diff --git a/ascender/conf/migrations/0015_remove_subscription_usage_model.py b/ascender/conf/migrations/0015_remove_subscription_usage_model.py new file mode 100644 index 000000000..ddc2d709f --- /dev/null +++ b/ascender/conf/migrations/0015_remove_subscription_usage_model.py @@ -0,0 +1,13 @@ +from django.db import migrations + + +def remove_subscription_usage_model(apps, schema_editor): + """Its only effect was hiding Host Metrics behind a subscription concept.""" + Setting = apps.get_model('conf', 'Setting') + Setting.objects.filter(key='SUBSCRIPTION_USAGE_MODEL').delete() + + +class Migration(migrations.Migration): + dependencies = [('conf', '0014_remove_subscription_settings')] + + operations = [migrations.RunPython(remove_subscription_usage_model, migrations.RunPython.noop)] diff --git a/ascender/main/conf.py b/ascender/main/conf.py index c2f856be4..85025bc21 100644 --- a/ascender/main/conf.py +++ b/ascender/main/conf.py @@ -11,7 +11,6 @@ # Ascender from ascender.conf import fields, register, register_validate from ascender.main.models import ExecutionEnvironment -from ascender.main.constants import SUBSCRIPTION_USAGE_MODEL_UNIQUE_HOSTS logger = logging.getLogger('awx.main.conf') @@ -757,23 +756,6 @@ category_slug='bulk', ) -register( - 'SUBSCRIPTION_USAGE_MODEL', - field_class=fields.ChoiceField, - choices=[ - ('', _('Default model for Ascender - no subscription. Deletion of host_metrics will not be considered for purposes of managed host counting')), - ( - SUBSCRIPTION_USAGE_MODEL_UNIQUE_HOSTS, - _('Usage based on unique managed nodes in a large historical time frame and delete functionality for no longer used managed nodes'), - ), - ], - default='', - allow_blank=True, - label=_('Defines subscription usage model and shows Host Metrics'), - category=_('System'), - category_slug='system', -) - register( 'CLEANUP_HOST_METRICS_LAST_TS', field_class=fields.DateTimeField, diff --git a/ascender/main/constants.py b/ascender/main/constants.py index 845ee6c5d..bff88de67 100644 --- a/ascender/main/constants.py +++ b/ascender/main/constants.py @@ -138,8 +138,5 @@ '\u001b[31m \u001b[1m This can be caused if the version of ansible-runner in your execution environment is out of date.\u001b[0m' ) -# Values for setting SUBSCRIPTION_USAGE_MODEL -SUBSCRIPTION_USAGE_MODEL_UNIQUE_HOSTS = 'unique_managed_hosts' - # Shared prefetch to use for creating a queryset for the purpose of writing or saving facts HOST_FACTS_FIELDS = ('name', 'ansible_facts', 'ansible_facts_modified', 'modified', 'inventory_id') diff --git a/ascender/settings/defaults.py b/ascender/settings/defaults.py index 34a1705fb..697c5a6e5 100644 --- a/ascender/settings/defaults.py +++ b/ascender/settings/defaults.py @@ -1253,11 +1253,6 @@ # This is overridden downstream via /etc/ascender/conf.d/cluster_host_id.py CLUSTER_HOST_ID = socket.gethostname() -# License compliance for total host count. Possible values: -# - '': No model - Subscription not counted from Host Metrics -# - 'unique_managed_hosts': Compliant = automated - deleted hosts (using /api/v2/host_metrics/) -SUBSCRIPTION_USAGE_MODEL = '' - # Host metrics cleanup - last time of the task/command run CLEANUP_HOST_METRICS_LAST_TS = None # Host metrics cleanup - minimal interval between two cleanups in days diff --git a/ascender/settings/typed.py b/ascender/settings/typed.py index e5b0530a1..2177f7cd7 100644 --- a/ascender/settings/typed.py +++ b/ascender/settings/typed.py @@ -580,7 +580,6 @@ class AscenderSettings(Protocol): STATIC_URL: str STDOUT_MAX_BYTES_DISPLAY: int STORAGES: dict[str, Any] - SUBSCRIPTION_USAGE_MODEL: str SUBSYSTEM_METRICS_BATCH_INSERT_BUCKETS: list[Any] SUBSYSTEM_METRICS_INTERVAL_SAVE_TO_VALKEY: int SUBSYSTEM_METRICS_INTERVAL_SEND_METRICS: int diff --git a/ascender/ui/src/routeConfig.test.ts b/ascender/ui/src/routeConfig.test.ts index e34ad30f4..525053c34 100644 --- a/ascender/ui/src/routeConfig.test.ts +++ b/ascender/ui/src/routeConfig.test.ts @@ -9,7 +9,6 @@ const userProfile = { isOrgAdmin: 0, isNotificationAdmin: 0, isExecEnvAdmin: 0, - systemConfig: { SUBSCRIPTION_USAGE_MODEL: 'unique_managed_hosts' }, }; const filterPaths = (sidebar: AppRouteGroup[]) => { diff --git a/ascender/ui/src/routeConfig.tsx b/ascender/ui/src/routeConfig.tsx index a64ce4526..dc1f9ccc5 100644 --- a/ascender/ui/src/routeConfig.tsx +++ b/ascender/ui/src/routeConfig.tsx @@ -214,12 +214,6 @@ function getRouteConfig(userProfile: Partial = {}) { const deleteRouteGroup = (name: string) => { routeConfig = routeConfig.filter(({ groupId }) => !groupId.includes(name)); }; - if ( - userProfile?.systemConfig?.SUBSCRIPTION_USAGE_MODEL !== - 'unique_managed_hosts' - ) { - deleteRoute('host_metrics'); - } if (userProfile?.isSuperUser || userProfile?.isSystemAuditor) return routeConfig; deleteRoute('host_metrics'); diff --git a/ascender/ui/src/screens/Setting/shared/data.allSettingOptions.json b/ascender/ui/src/screens/Setting/shared/data.allSettingOptions.json index 5d619b471..1731d5250 100644 --- a/ascender/ui/src/screens/Setting/shared/data.allSettingOptions.json +++ b/ascender/ui/src/screens/Setting/shared/data.allSettingOptions.json @@ -677,24 +677,6 @@ "category_slug": "bulk", "default": 100 }, - "SUBSCRIPTION_USAGE_MODEL": { - "type": "choice", - "required": false, - "label": "Defines subscription usage model and shows Host Metrics", - "category": "System", - "category_slug": "system", - "default": "", - "choices": [ - [ - "", - "Default model for Ascender - no subscription. Deletion of host_metrics will not be considered for purposes of managed host counting" - ], - [ - "unique_managed_hosts", - "Usage based on unique managed nodes in a large historical time frame and delete functionality for no longer used managed nodes" - ] - ] - }, "CLEANUP_HOST_METRICS_LAST_TS": { "type": "datetime", "required": true, @@ -5059,23 +5041,6 @@ "category_slug": "bulk", "defined_in_file": false }, - "SUBSCRIPTION_USAGE_MODEL": { - "type": "choice", - "label": "Defines subscription usage model and shows Host Metrics", - "category": "System", - "category_slug": "system", - "defined_in_file": false, - "choices": [ - [ - "", - "Default model for Ascender - no subscription. Deletion of host_metrics will not be considered for purposes of managed host counting" - ], - [ - "unique_managed_hosts", - "Usage based on unique managed nodes in a large historical time frame and delete functionality for no longer used managed nodes" - ] - ] - }, "CLEANUP_HOST_METRICS_LAST_TS": { "type": "datetime", "label": "Last cleanup date for HostMetrics", diff --git a/ascender/ui/src/screens/Setting/shared/data.allSettings.json b/ascender/ui/src/screens/Setting/shared/data.allSettings.json index f8e71a0c0..f8ed445ea 100644 --- a/ascender/ui/src/screens/Setting/shared/data.allSettings.json +++ b/ascender/ui/src/screens/Setting/shared/data.allSettings.json @@ -71,7 +71,6 @@ "IS_K8S": false, "BULK_JOB_MAX_LAUNCH": 100, "BULK_HOST_MAX_CREATE": 100, - "SUBSCRIPTION_USAGE_MODEL": "", "CLEANUP_HOST_METRICS_LAST_TS": null, "ASCENDER_CLEANUP_PATHS": true, "ASCENDER_REQUEST_PROFILE": false, From 9e9e8a1ae6c0423b7ab5a639131ec99a2c4aa17d Mon Sep 17 00:00:00 2001 From: Blai Peidro Date: Wed, 16 Sep 2026 02:14:50 +0200 Subject: [PATCH 7/7] fix: count existing hosts in the organization being written to BulkHostCreateSerializer subtracted existing names belonging to organization 1 whatever organization the request was for, sitting next to an org_active_count that scopes correctly. On any other organization a host that already existed counted as new, so the limit could refuse a request that was inside it. The test covers a non-1 organization and fails without the fix. Raised by Copilot on this pull request, along with two others: the comment above the imports in inventory_import named a DRF error class the file no longer imports, and the organization host limit page described Max Hosts as a control to set, when #1005 removed that field from the web interface and left max_hosts writable only through the API. --- ascender/api/serializers/bulk.py | 2 +- .../management/commands/inventory_import.py | 2 - ascender/main/tests/functional/test_bulk.py | 30 +++++++++++++++ ascender/ui/src/types/api.generated.ts | 37 ++----------------- docs/docsite/rst/userguide/overview.rst | 2 +- 5 files changed, 35 insertions(+), 38 deletions(-) diff --git a/ascender/api/serializers/bulk.py b/ascender/api/serializers/bulk.py index e0b45723e..2af4582b2 100644 --- a/ascender/api/serializers/bulk.py +++ b/ascender/api/serializers/bulk.py @@ -77,7 +77,7 @@ def raise_if_host_counts_violated(self, attrs): if org: org_active_count = Host.objects.org_active_count(org.id) new_hosts = [h['name'] for h in attrs['hosts']] - org_net_new_host_count = len(new_hosts) - Host.objects.filter(inventory__organization=1, name__in=new_hosts).values('name').distinct().count() + org_net_new_host_count = len(new_hosts) - Host.objects.filter(inventory__organization=org.id, name__in=new_hosts).values('name').distinct().count() if org.max_hosts > 0 and org_active_count + org_net_new_host_count > org.max_hosts: raise PermissionDenied( _( diff --git a/ascender/main/management/commands/inventory_import.py b/ascender/main/management/commands/inventory_import.py index 1f1f7d0a9..368a7c982 100644 --- a/ascender/main/management/commands/inventory_import.py +++ b/ascender/main/management/commands/inventory_import.py @@ -18,8 +18,6 @@ from django.db import connection, transaction from django.utils.encoding import smart_str -# DRF error class, raised when the import is refused - # Ascender inventory imports from ascender.main.models.inventory import Inventory, InventorySource, InventoryUpdate from ascender.main.models.jobs import JobHostSummary diff --git a/ascender/main/tests/functional/test_bulk.py b/ascender/main/tests/functional/test_bulk.py index 7cfc747a9..3696b4ee8 100644 --- a/ascender/main/tests/functional/test_bulk.py +++ b/ascender/main/tests/functional/test_bulk.py @@ -39,6 +39,36 @@ def test_bulk_host_create_num_queries(organization, inventory, post, get, user, assert len(bulk_host_create_response['hosts']) == len(hosts), f"unexpected number of hosts created for user {u}" +@pytest.mark.django_db +def test_bulk_host_create_counts_existing_hosts_in_the_right_organization(post, user): + """max_hosts is measured against the organization being written to. + + The net-new count subtracted existing names belonging to organization 1 + whatever organization was being written to, so anywhere else a host that + already existed counted as new and the limit could refuse a request that + was inside it. + """ + # organization 1 exists and is not the one under test + Organization.objects.create(name='other') + + org = Organization.objects.create(name='under-test', max_hosts=2) + assert org.id != 1 + existing_inv = Inventory.objects.create(name='existing', organization=org) + target_inv = Inventory.objects.create(name='target', organization=org) + + # the organization already knows host-1, in another of its inventories + Host.objects.create(name='host-1', inventory=existing_inv) + + # so this adds one name the organization has not seen, against a limit of two + admin = user('org-admin', True) + post( + reverse('api:bulk_host_create'), + {'inventory': target_inv.id, 'hosts': [{'name': 'host-1'}, {'name': 'host-2'}]}, + admin, + expect=201, + ) + + @pytest.mark.django_db def test_bulk_host_create_rbac(organization, inventory, post, get, user): ''' diff --git a/ascender/ui/src/types/api.generated.ts b/ascender/ui/src/types/api.generated.ts index 1c0d7b9f7..91f1126cc 100644 --- a/ascender/ui/src/types/api.generated.ts +++ b/ascender/ui/src/types/api.generated.ts @@ -7478,7 +7478,7 @@ export interface components { */ deleted_counter: number; /** - * @description Boolean flag saying whether the host is deleted and therefore not counted into the subscription consumption + * @description Boolean flag saying whether the host is deleted and therefore no longer counted as automated * @default false */ deleted: boolean | null; @@ -7489,13 +7489,9 @@ export interface components { readonly id: number; /** Format: date */ readonly date: string; - /** @description How many unique hosts are consumed from the license */ - readonly license_consumed: number; - /** @description 'License capacity as max. number of unique hosts */ - readonly license_capacity: number; - /** @description How many hosts were added in the associated month, consuming more license capacity */ + /** @description How many hosts were first automated in the associated month */ readonly hosts_added: number; - /** @description How many hosts were deleted in the associated month, freeing the license capacity */ + /** @description How many hosts were deleted in the associated month */ readonly hosts_deleted: number; /** @description Manually entered number indirectly managed hosts for a certain month */ readonly indirectly_managed_hosts: number; @@ -11577,13 +11573,6 @@ export interface components { * @default 250 */ BULK_HOST_MAX_DELETE: number; - /** - * Defines subscription usage model and shows Host Metrics - * @default - */ - SUBSCRIPTION_USAGE_MODEL: - | components['schemas']['SUBSCRIPTIONUSAGEMODELEnum'] - | components['schemas']['BlankEnum']; /** * Last cleanup date for HostMetrics * Format: date-time @@ -14036,12 +14025,6 @@ export interface components { readonly name: string; readonly description: string; }; - /** - * @description * `` - Default model for Ascender - no subscription. Deletion of host_metrics will not be considered for purposes of managed host counting - * * `unique_managed_hosts` - Usage based on unique managed nodes in a large historical time frame and delete functionality for no longer used managed nodes - * @enum {string} - */ - SUBSCRIPTIONUSAGEMODELEnum: 'unique_managed_hosts'; Schedule: { /** @description A value representing the schedules iCal recurrence rule. */ rrule: string | null; @@ -14600,13 +14583,6 @@ export interface components { * @default 250 */ BULK_HOST_MAX_DELETE: number; - /** - * Defines subscription usage model and shows Host Metrics - * @default - */ - SUBSCRIPTION_USAGE_MODEL: - | components['schemas']['SUBSCRIPTIONUSAGEMODELEnum'] - | components['schemas']['BlankEnum']; /** * Last cleanup date for HostMetrics * Format: date-time @@ -16626,13 +16602,6 @@ export interface components { * @default 250 */ BULK_HOST_MAX_DELETE: number; - /** - * Defines subscription usage model and shows Host Metrics - * @default - */ - SUBSCRIPTION_USAGE_MODEL: - | components['schemas']['SUBSCRIPTIONUSAGEMODELEnum'] - | components['schemas']['BlankEnum']; /** * Last cleanup date for HostMetrics * Format: date-time diff --git a/docs/docsite/rst/userguide/overview.rst b/docs/docsite/rst/userguide/overview.rst index 00c2dc4f1..f121a3c85 100644 --- a/docs/docsite/rst/userguide/overview.rst +++ b/docs/docsite/rst/userguide/overview.rst @@ -252,7 +252,7 @@ Limit the number of hosts per organization .. index:: pair: features; limiting, hosts -Lots of large organizations have instances shared among many organizations, and do not want any one organization using all the hosts. A superuser can set an upper limit on each organization through its **Max Hosts**, and bulk host creation refuses to take an organization past it. +Lots of large organizations have instances shared among many organizations, and do not want any one organization using all the hosts. A superuser can set an upper limit on an organization by writing ``max_hosts`` through the API, at ``/api/v2/organizations/N/``; there is no field for it in the web interface. Bulk host creation refuses to take an organization past that limit. Inventory Plugins