Member of a group - approvers

  • 16 January 2017
  • 9 replies
  • 5 views

Badge +6

I have a workflow with approval and which are sent to a calculated group that must approve.

Now, the fact that if one stands as the creator of the task you have no right to approve the following workflow.

This means that I need to test the ordering is a member of a group and determine if this is the case then he / she could not be allows to approve?

How do I do this.

Nintex 2013 on-prem.


9 replies

Userlevel 4
Badge +12

Hi,

I'm not sure if I understood everything right.

First, not the creator of your task is able to approve. Instead everyone in "assignees" is able to approve.

Can you post a screenshot of your approval action configuration? You should be able to assign the task to a group of people. If you check the checkbox below the assignees action, each member of the group gets an individual task if needed.

197663_pastedImage_1.png

Badge +16

sounds like you will need to get members of the group into a collection, check if the creator of the item is in the collection, and if so remove them, then assign the task to the collection?  I had a quick search on the community for ldap ad group members and this might help

https://community.nintex.com/message/33804

Badge +6

I am using a calculation to find the Group - and are sending a mail to the master approver - but it is a Group WHO can approve.

197620_pastedImage_1.png

And in this AD-Group the creater can be a member

Userlevel 5
Badge +12

That's an interesting scenario, because what I'm hearing is that the task is assigned to a group that could actually contain the initiator of the workflow (who himself is unable to approve his own workflow).

You could add a rule to your task form (if you are using Nintex) to disable their ability to approve the task at the form level by comparing Current User to the initiator of the workflow.   Could someone get around this? It's possible (its easy enough to find out if someone breaks the rules if they did).  

A harder way would be to do it within the workflow.  You'd have to check the user against the group and then extract a subset of users (minus the iniator) and assign the task to that subset dynamically.   Doable - but is it worth the extra effort?   Depends on your reqs.  I think in most situations my first suggestion works well.

Mike

Badge +6

I think Mike's first suggestion is the best, but I would recommend to also disable the "Quick Edit" function on the task list, so that the initiator definitely cannot modify the task by using an alternative way.

Userlevel 3
Badge +9

Bente Bang Gormsen I think this will get you what you're looking for.  If the initiator is part of the AD Group, it will remove them before assigning the tasks.

  1. Set a text variable to the name of the AD Group.
  2. Use the Query LDAP to query for the list of members part of the AD Group.  The results are stored in a collection variable.  You may have to adjust some of the query elements depending on your environment.  For example DC=domain, you need to replace domain with your actual domain. The value I'm returning is samaccountname.
  3. Next I need to get the Initiators ID to check if it's in the group.  I used a RegEx to replace the text matching the pattern ^(.*[\/]).  I left the replacement blank.  If you have Profile services in your environment, you could use the Query User Profile instead.
  4. Here I use a RegEx with Replace Text.  In the pattern I put the InitiatorsID from step 3 to check if the Initiators ID is in the list of group members.  If it is, it will replace the initiator with blank text.  The output has to be stored in a text variable.
  5. I use a RegEx Split to takes the string of group members from the last action and converts it back into a collection.  The pattern is a semi-colon.
  6. For assigning the flexi-task, I enter the group member collection variables in Assignees field.  The action will be able to resolve the names.

Workflow

Step 2

Query LDAP

Step 4

RegEx

Userlevel 5
Badge +12

Hi there,


Checking to see if any of these solutions worked for you?

Thanks

Badge +6

Hi,

I have got enough to inspiration to create a solution for my problem.

Badge +6

It was not a special one - but a Collection of some of them

Reply