Hi, I'm looking for a way, if it is possible at all in Bonita 7.10, to choose a path on a gateway based on the role in my organization of the initiator of the process.
Example:
- Initiator is a Sales Assistant i need to follow path A
- Initiator is Sales Manager i need to follow path B
Thanks
hello,
On the branch of the gateway, i imagine you can use a condition expression close to this one:
import org.bonitasoft.engine.identity.User
import org.bonitasoft.engine.identity.UserSearchDescriptor
import org.bonitasoft.engine.search.SearchOptionsBuilder
User Initiator = BonitaUsers.getProcessInstanceInitiator(apiAccessor,processInstanceId);
Long roleId = apiAccessor.getIdentityAPI().getRoleByName(“Sales Assistant”).getId();
final SearchOptionsBuilder builder = new SearchOptionsBuilder(0, 1);
builder.filter(UserSearchDescriptor.ROLE_ID, roleId);
builder.filter(UserSearchDescriptor.USER_NAME, Initiator.getUserName());
return apiAccessor.getIdentityAPI().searchUsers(builder.done()).getCount() == 1 ;
Need to be careful, if the user has both role, you will need a default path.
hope this helps,
Julien.