Questions & Answers

SOLVED
aVogt
Returning Creator

Pflichteingaben im Workflowdialog

Jump to solution

Hallo bei einem 4-Augen-WF macht es Sinn, im nachfolgenden (automatischen รถffnenden) Dialog etas einzugeben:

wf_dialog.jpg

Nun sind manchmal die Redakteure im Stress und klicken auf Anfordern ohne etwas einzugeben. Kann man irgendwo einstellen, dass der Kommentar z.B. eine Pflichteingabe erfordert?

andere Mรถglichkeit:

Im nรคchten Schritt (zusรคtzlichen Schritt), kรถnnte ich in einem Script die Felder abfragen. Wenn die nicht eingegeben sind, kรถnnte ich den Dialog wieder anzeigen lassen?

0 Kudos
1 Solution

Accepted Solutions
gockel
Crownpeak employee

Ich wรผrde eine Aktivitรคt machen, an der ein Skript hรคngt, das dann den normalen ActionDialog รถffnet und prรผft ob der Kommentar eingegeben wรผrde.

Auf die Schnelle.

transition = context#showActionDialog()

// check comment

comment = context#getTransitionParameters()#getComment()

if (comment != null && comment.length > 0) {

     context.doTransition(transition);

} else {

     // once again sam

}

View solution in original post

0 Kudos
13 Replies
hoebbel
Crownpeak employee

Die andere Mรถglichkeit wรผrde ich als Weg der Wahl sehen.

Einfach eine zusรคtzliche (automatische) Aktivitรคt erzeugen und in dieser prรผfen, ob die entsprechenden Pflichtfelder gefรผllt sind oder nicht.

Dann in dem Skript ein entsprechendes Popup erscheinen lassen (z.B. รผber die Skript GUI), in das der Redakteur die entsprechenden Felder "nachpflegen" kann. (oder nur den Hinweis aufpoppen lassen, dass die Pflichtfelder nicht gefรผllt sind und deshalb nicht weitergeschaltet wurde)

0 Kudos
aVogt
Returning Creator

So wollte ich es auch machen. Meine zusรคtzliche Frage lautete, ob man den oben abgebildeten "Arbeitsablauf Aktion (Freigabe anfordern)"  irgendwie automatisch einblenden kann, oder ob der Redakteur den Arbeitsablauf erneut starten muss.

Und da gleich noch eine Frage hinterher:

Ist es mรถglich die Felder zu fรผllen?

Bsp.

Der Nutzer hat einen Kommentar eingegeben. und die Prio "sehr hoch" ausgewรคhlt und kein Fรคlligkeitsdatum angegeben. Nun wรผrde ich die Eingaben รผberprรผfen und nicht weiterschalten, da bei Prio="sehr hoch" das Fรคlligkeitsdatum mit eingegeben werden muss. Beim erneuten Aufruf des Dialogs (egal ob manuell oder automatisch) sollte auf jeden Fall der Kommentar schon im Dialog stehen. Ist das mรถglich?

(etwas konstruiert das Bsp. aber ich glaub es verdeutlicht mein Anliegen)

0 Kudos
gockel
Crownpeak employee

Ich wรผrde eine Aktivitรคt machen, an der ein Skript hรคngt, das dann den normalen ActionDialog รถffnet und prรผft ob der Kommentar eingegeben wรผrde.

Auf die Schnelle.

transition = context#showActionDialog()

// check comment

comment = context#getTransitionParameters()#getComment()

if (comment != null && comment.length > 0) {

     context.doTransition(transition);

} else {

     // once again sam

}

0 Kudos
aVogt
Returning Creator

vielen Dank!!

nachfolgend meine Umsetzung (falls es jemand braucht) ...

..

transition = context.showActionDialog();
if(transition == null) {
  return;
}
comment = context.getTransitionParameters().getComment();
while (comment == null || comment.length() == 0) {
  CMSDialog.showInfoDialog("Bitte geben Sie einen Kommentar an!.");
  transition = context.showActionDialog();
  comment = context.getTransitionParameters().getComment();
  if(transition == null) {
   return;
  }
}
context.doTransition(transition);

...

Hinweis: transition==null ist der "Abbrechen-Button" sonst kommt man nicht raus wenn man nichts eingeben will..

0 Kudos
gockel
Crownpeak employee

nur ein kurzer Hinweis:

das ist keine API und damit auch nicht stabil. Benutzung auf eigene Gefahr.

CMSDialog.showInfoDialog("Bitte geben Sie einen Kommentar an!.");


0 Kudos
aVogt
Returning Creator

Gibts eine "stabile", also รผber API?

0 Kudos
aVogt
Returning Creator

Ich muss mich doch noch mal melden.

Das

if(transition == null) {
   return;
  }
(also wenn ich auf abbrechen klicke) innerhalb der while-schleife, fรผhrt zum abbruch, aber der Arbeitsablauf wird trotzdem weitergeleitet. Vor der While-Schleife fรผhrt die Anweisung zum "stoppen" des Arbeitsablaufes.

Gibt es eine Mรถglichkeit, ohne einen zusรคtzlichen Statusรผbergang (da dieser dann wieder im Dialog angezeigt wird), in der Aktivitรคt zu verbleiben (also in der, wo der Dialog aufgeht und ich einen Kommentar eingeben soll)?

0 Kudos
aVogt
Returning Creator

Habs was durch Zufall in der Doku gefunden, mit

     JOptionPane.showMessageDialog (...)

gehts.

Sollte dann nicht in der Doku auf CMSDialog verzichtet werden? Steht ja nicht รผberall dabei, dass es nicht verwendet werden soll!

0 Kudos
gockel
Crownpeak employee

Kรถnnen Sie das Problem bitte noch ein wenig nรคher beschreiben.

Mir ist an dieser Stelle nicht klar, was Sie mit "wird trotzdem weitergeleitet" meinen und schon gar nicht รผber welche Transitionskante. Ein kleiner Screenshot des Workflow-Modells mit Beschreibungen wo sie sich in dem Modell befinden und was sie erreichen wollen, wรผrde vielleicht helfen.

0 Kudos

Type a product name