diff --git a/AxonIvyPortal/portal/cms/cms_de.yaml b/AxonIvyPortal/portal/cms/cms_de.yaml index ad6e7ba2dc7..4daa133f422 100644 --- a/AxonIvyPortal/portal/cms/cms_de.yaml +++ b/AxonIvyPortal/portal/cms/cms_de.yaml @@ -1562,6 +1562,9 @@ Dialogs: expressNoItemDescription: Hier werden die Ergebnisse der abgeschlossenen Aufgaben angezeigt expressWorkflowName: 'Business Details des Vorgangs: #{0}' portal: + component: + ProcessInformation: + ProcessUnavailableTooltip: Dieser Prozess ist nicht verfügbar oder du hast keine Berechtigung, ihn zu starten. generic: dashboard: component: diff --git a/AxonIvyPortal/portal/cms/cms_en.yaml b/AxonIvyPortal/portal/cms/cms_en.yaml index dbda607855c..12ce6d227fb 100644 --- a/AxonIvyPortal/portal/cms/cms_en.yaml +++ b/AxonIvyPortal/portal/cms/cms_en.yaml @@ -1565,6 +1565,9 @@ Dialogs: expressNoItemDescription: The results of completed tasks are displayed here expressWorkflowName: 'Business Details of Case #{0}' portal: + component: + ProcessInformation: + ProcessUnavailableTooltip: This process is unavailable or you don't have the permission to start it. generic: dashboard: component: diff --git a/AxonIvyPortal/portal/cms/cms_es.yaml b/AxonIvyPortal/portal/cms/cms_es.yaml index 591235ed467..9b709b52d82 100644 --- a/AxonIvyPortal/portal/cms/cms_es.yaml +++ b/AxonIvyPortal/portal/cms/cms_es.yaml @@ -1566,6 +1566,9 @@ Dialogs: expressNoItemDescription: Aquí se mostrarán los resultados de las tareas completadas expressWorkflowName: 'Detalles de negocio del caso #{0}' portal: + component: + ProcessInformation: + ProcessUnavailableTooltip: Este proceso no está disponible o no tienes permiso para iniciarlo. generic: dashboard: component: diff --git a/AxonIvyPortal/portal/cms/cms_fr.yaml b/AxonIvyPortal/portal/cms/cms_fr.yaml index 422d0141e82..d83dbc4b059 100644 --- a/AxonIvyPortal/portal/cms/cms_fr.yaml +++ b/AxonIvyPortal/portal/cms/cms_fr.yaml @@ -1563,6 +1563,9 @@ Dialogs: expressNoItemDescription: Les résultats des tâches terminées sont affichés ici expressWorkflowName: 'Détails de cas #{0}' portal: + component: + ProcessInformation: + ProcessUnavailableTooltip: Ce processus est indisponible ou vous n'avez pas la permission de le démarrer. generic: dashboard: component: diff --git a/AxonIvyPortal/portal/src/ch/ivy/addon/portalkit/bean/CompactProcessWidgetBean.java b/AxonIvyPortal/portal/src/ch/ivy/addon/portalkit/bean/CompactProcessWidgetBean.java index 2c57fc87dc9..4e7bbd22fa0 100644 --- a/AxonIvyPortal/portal/src/ch/ivy/addon/portalkit/bean/CompactProcessWidgetBean.java +++ b/AxonIvyPortal/portal/src/ch/ivy/addon/portalkit/bean/CompactProcessWidgetBean.java @@ -334,6 +334,11 @@ public void startProcess(UserProcess userProcess) throws IOException { FacesContext.getCurrentInstance().getExternalContext().redirect(link + "embedInFrame"); } + public boolean canStartProcess(UserProcess userProcess) { + return StringUtils.isNotBlank( + Optional.ofNullable(userProcess).map(UserProcess::getLink).orElse("")); + } + private boolean isUserProcess(UserProcess processToAdd) { return userProcesses.stream().anyMatch(userProcess -> !isExternalLink(processToAdd) && StringUtils.equalsIgnoreCase(userProcess.getLink(), processToAdd.getLink())); diff --git a/AxonIvyPortal/portal/src_hd/ch/ivy/addon/portal/component/ProcessInformation/ProcessInformation.xhtml b/AxonIvyPortal/portal/src_hd/ch/ivy/addon/portal/component/ProcessInformation/ProcessInformation.xhtml index 6e9645736b0..8ef9e34009a 100644 --- a/AxonIvyPortal/portal/src_hd/ch/ivy/addon/portal/component/ProcessInformation/ProcessInformation.xhtml +++ b/AxonIvyPortal/portal/src_hd/ch/ivy/addon/portal/component/ProcessInformation/ProcessInformation.xhtml @@ -28,11 +28,19 @@ +
- + + + +
+