Advanced Techniques - Groovy conditions in a process
In the
Processes
module, conditions can be formulated in Groovy which can be used to respond
to, among others, request values. In the example application, which you can
download
here and
import into your portal
with the included process as usual, the release process should be triggered
when a button is clicked on. The button saves the current data record at the
same time. To only save the current state, the
Save
button can be used. When the user clicks on the
Release
button, it also transfers the request parameter
rq_customMyParam with the value
release.
In the process, a Groovy condition should be used to react to this parameter.
The Data group event handler responds to the adding or modifying (Record events:
Insert and
Change) of a
data record.
Using Groovy script, the request parameter defined in the
Release button is read in the condition. Here is the code example:
def strReleased = g_request.get('rq_customMyParam')
if("release" == strReleased)
return releasePressed
return releaseNotPressed
If the request parameter contains the value
release,
the connection ID
releasePressed will be generated
using the return command. Otherwise the connection ID
releaseNotPressed will be generated.
The connection ID is entered in the
properties dialog of the respective branch.
The branch
releasePressed is followed when the release
has been given. The branch
releaseNotPressed
corresponds to the classic ELSE branch and is performed when the
Save button is clicked on - a request parameter
isn't transferred in this case. The label for a connection ID can be chosen
freely but has to start with a small letter, as in our label example
releasePressed.
In the subsequent process step, a Data group action is used to set the released status.
|
All of the connection IDs defined in the Groovy condition must
be included in the process as outcomes of the condition, otherwise
this can lead to an error in the process execution.
|