Forum Discussion
Hi Mikael
You can use below piece of code to achieve this.
Step 1: Open Workflow of ECO
Step 2: Click on path "Fast Track Approve"
Step 3: Add below method as Pre Methods event
//Method Type : Server Side (C#)
Innovator inn = getInnovator();
//Allowed Identities (CM and Adminstrators Identity ID)
string allowedIdentity = "F6624E9AE5504958A84E4B6A5831298B,2618D6F5A90949BAA7E920D1B04C7EE1";
string path = this.getProperty("name");
string userID = inn.getUserID();
Item alias = inn.newItem("Alias", "get");
alias.setProperty("source_id", userID);
alias.setAttribute("select", "related_id(id)");
alias = alias.apply();
if (alias.isError()) {
return alias;
}
string aliasId = alias.getProperty("related_id");
string whereCondition = "[Member].related_id=\'" + aliasId + "\'";
Item IdentityCheck = inn.newItem("Member", "get");
IdentityCheck.setAttribute("where", whereCondition);
IdentityCheck.setAttribute("select", "id");
IdentityCheck.setProperty("source_id", allowedIdentity);
IdentityCheck.setPropertyCondition("source_id", "in");
IdentityCheck = IdentityCheck.apply();
if (IdentityCheck.isError()) {
return inn.newError("Only Members of CM and Administrators Identity can select this Path. Please reselect the Path");
}
return this;
Thank You
Gopikrishnan R
- mkalla6 years agoIdeator I
Thanks Gopikrishnan, I will test it
//Mikael
- mkalla6 years agoIdeator I
Hi,
Sorry, but didn't work for me
In the Stage for Fast Track Approve I have two identity groups assigned
"Group1" with User A and User B"Group2" with UserC
UserA, just a standard user, not CM or Admin,
UserA claims the stage and when UserA selects "Fast Track approve",
It works for him and ECO is forwardedIt should have according to the method being stopped
Any idea why UserA was able to forward though fast track approve?
- Gopikrishnan6 years agoIdeator I
Hi Mikael
I tested your scenario and able to block user from vote. Can you check below case
1. Is this user member of CM / Administrator identity ?
2. Is this user member of any identity which is member of CM / Administrator identity ?
Example : user is member Group A and Group A is member of Administrator
3. Is the ID configured for CM and Administrator identity correct ?
4. If so, then can you debug this method and check ?
if (System.Diagnostics.Debugger.Launch()) System.Diagnostics.Debugger.Break();
Innovator inn = getInnovator();
//Allowed Identities (CM and Adminstrators Identity ID)
string allowedIdentity = "F6624E9AE5504958A84E4B6A5831298B,2618D6F5A90949BAA7E920D1B04C7EE1";
string userID = inn.getUserID();
Item alias = inn.newItem("Alias", "get");
alias.setProperty("source_id", userID);
alias.setAttribute("select", "related_id(id)");
alias = alias.apply();
if (alias.isError()) {
return alias;
}
string aliasId = alias.getProperty("related_id");
string whereCondition = "[Member].related_id=\'" + aliasId + "\'";
Item IdentityCheck = inn.newItem("Member", "get");
IdentityCheck.setAttribute("where", whereCondition);
IdentityCheck.setAttribute("select", "id");
IdentityCheck.setProperty("source_id", allowedIdentity);
IdentityCheck.setPropertyCondition("source_id", "in");
IdentityCheck = IdentityCheck.apply();
if (IdentityCheck.isError()) {
return inn.newError("Only Members of CM and Administrators Identity can select this Path. Please reselect the Path");
}
return this;- mkalla6 years agoIdeator I
Hi Gopikrishnan,
Still not working for the specific stage, in my case this stage is dynamically assigned, so on create ECO user selects from a drop down list the Groups (identities) to be assigned, then a method checks that and set these identities as assigned (this assign method works really good).
However, if I on another stage add a "fast track approve", have assignee's directly in that stage (no method to add them), then your code blocks the user to go that path if not correct identity
So your code works, it is somehow related to the dynamically assigned identities.
My workflow and Dynamically assigned Stage when it has become activated looks like this
//Mikael