diff --git a/public/locales/de-DE/translation.json b/public/locales/de-DE/translation.json index 5f7d6a9..f3531a1 100644 --- a/public/locales/de-DE/translation.json +++ b/public/locales/de-DE/translation.json @@ -345,7 +345,12 @@ "jobs": { "overriding-job-priority": "Überschriebene Job-Priorität", "suspend": "Anhalten", - "change-priority": "Job-Priorität ändern" + "change-priority": "Job-Priorität ändern", + "retries": "Retries", + "due-date": "Fälligkeitsdatum", + "due-time": "Fälligkeitszeit", + "set-retries": "Retries setzen", + "retries-success": "Job-Retries aktualisiert." }, "sort": { "name": "Name", diff --git a/public/locales/en-US/translation.json b/public/locales/en-US/translation.json index ac20fbe..87918ae 100644 --- a/public/locales/en-US/translation.json +++ b/public/locales/en-US/translation.json @@ -345,7 +345,12 @@ "jobs": { "overriding-job-priority": "Overriding Job Priority", "suspend": "Suspend", - "change-priority": "Change Overriding Job Priority" + "change-priority": "Change Overriding Job Priority", + "retries": "Retries", + "due-date": "Due Date", + "due-time": "Due Time", + "set-retries": "Set Retries", + "retries-success": "Job retries updated." }, "sort": { "name": "Name", diff --git a/src/api/resources/job_definition.js b/src/api/resources/job_definition.js index 52c2e87..6a10bf7 100644 --- a/src/api/resources/job_definition.js +++ b/src/api/resources/job_definition.js @@ -1,12 +1,21 @@ -import { GET } from '../helper.jsx' +import { GET, PUT } from '../helper.jsx' const get_job_definitions = (state, definition_id) => GET(`/job-definition?processDefinitionId=${definition_id}`, state, state.api.job_definition.all.by_process_definition) +const set_retries = (state, id, retries, due_date = null) => + PUT( + `/job-definition/${id}/retries`, + { retries, ...(due_date ? { dueDate: due_date } : {}) }, + state, + state.api.job_definition.retries + ) + const job_definition = { all: { by_process_definition: get_job_definitions - } + }, + set_retries } -export default job_definition \ No newline at end of file +export default job_definition diff --git a/src/api/resources/job_definition.test.js b/src/api/resources/job_definition.test.js index dde29f3..6fd7480 100644 --- a/src/api/resources/job_definition.test.js +++ b/src/api/resources/job_definition.test.js @@ -2,9 +2,10 @@ import { describe, it, vi, beforeEach } from "vitest"; vi.mock("../helper.jsx", () => ({ GET: vi.fn(), + PUT: vi.fn(), })); -import { GET } from "../helper.jsx"; +import { GET, PUT } from "../helper.jsx"; import { create_mock_state, expect_api_call } from "../../test/helpers.js"; import job_definition from "./job_definition.js"; @@ -22,4 +23,29 @@ describe("api/resources/job_definition", () => { signal: state.api.job_definition.all.by_process_definition, }); }); + + it("set_retries() PUTs retries to the job definition", () => { + job_definition.set_retries(state, "job-def-1", 3); + expect_api_call(PUT, { + url: "/job-definition/job-def-1/retries", + body: { retries: 3 }, + state, + signal: state.api.job_definition.retries, + }); + }); + + it("set_retries() can include a due date", () => { + job_definition.set_retries( + state, + "job-def-1", + 3, + "2017-04-06T13:57:45.000+0200", + ); + expect_api_call(PUT, { + url: "/job-definition/job-def-1/retries", + body: { retries: 3, dueDate: "2017-04-06T13:57:45.000+0200" }, + state, + signal: state.api.job_definition.retries, + }); + }); }); diff --git a/src/pages/Processes.jsx b/src/pages/Processes.jsx index d6ac79e..8792b0e 100644 --- a/src/pages/Processes.jsx +++ b/src/pages/Processes.jsx @@ -686,7 +686,7 @@ const DefinitionsEmpty = () => { {t("processes.empty.how-to")} @@ -928,8 +928,7 @@ const InstanceDetails = () => { params: { selection_id, definition_id, panel }, query, } = useRoute(), - history_mode = query.history === "true", - [t] = useTranslation(); + history_mode = query.history === "true"; if (selection_id) { if ( @@ -1044,9 +1043,8 @@ const InstanceVariables = () => { ? Object.entries( state.api.process.instance.variables.value.data, ).map( - // eslint-disable-next-line react/jsx-key ([name, { type, value }]) => ( -
{t("processes.jobs.retries-success")}
+ )} + /> + ) : null}| - {definition.suspended - ? t("common.suspended") - : t("common.active")} - | -? | - {/*{definition.calledFromActivityIds.map(a => `${a}, `)} | */} -{definition.jobType} | -{definition.jobConfiguration} | -{definition.overridingJobPriority ?? "-"} | -- - - | -
| + {definition.suspended + ? t("common.suspended") + : t("common.active")} + | +{definition.activityId ?? "—"} | +{definition.jobType} | +{definition.jobConfiguration} | +{definition.overridingJobPriority ?? "-"} | ++ + | +