Community Tip - Learn all about the Community Ranking System, a fun gamification element of the PTC Community. X
I am trying to get the user that completes a specific task in the ECR, assign them to a Role and propogate that to the ECN. Here is what I have thus far:
wt.inf.container.WTContainer cont = ((wt.inf.container.WTContained)primaryBusinessObject).getContainer();
wt.inf.team.ContainerTeam contTeam = wt.inf.team.ContainerTeamHelper.service.getContainerTeam( (wt.inf.team.ContainerTeamManaged)cont);
wt.org.WTPrincipal wtprincipal1 = wt.session.SessionMgr.getPrincipal();
chgmgmtldr = (wt.org.WTUser)wt.session.SessionMgr.getPrincipal();
wt.inf.team.ContainerTeamHelper.service.addMember(contTeam,crLeader,wtprincipal1);
Printing the values for these looks correct:
Container= Test Product
contTeam= Product Test Product
wtprincipal1= User
name = Administrator
inflated = true......etc
However, what gets assigned to Role crLeader is a value of ASSIGNEE. Not what I wanted. I would expect it would be the wtprincipal as shown. How can I get this assigned correctly and am I going down the correct path to get this user/role from the ECR to the ECN?
Thanks,
James
Wanted to follow-up and show the results for any future reference. I have a task assigned to a Role that has multiple users. I want to know who actually completes the task so I add this code to the Complete Transaction for that task:
chgmgmtldr = (wt.org.WTUser)wt.session.SessionMgr.getPrincipal();
wt.change2.WTChangeRequest2 request = ((wt.change2.WTChangeRequest2)primaryBusinessObject);
wt.team.Team team=(wt.team.Team)request.getTeamId().getObject();
java.util.Vector roles=team.getRoles();
for (int i=0;i<roles.size();i++) {<br="/> wt.project.Role role=(wt.project.Role)roles.get(i);
if (role.getStringValue().equalsIgnoreCase("wt.project.role.CHANGE MANAGER")) {
team.addPrincipal(role,chgmgmtldr);
}
This adds the user that completes the task to the "CHANGE MANAGER" Role for the Change Request.
I then need this user in the Change Notice. so I added this to a robot where several other attributes get populated:
String role2=new String("wt.project.role.CHANGE MANAGER");
com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setRoleToECN((wt.change2.WTChangeOrder2)primaryBusinessObject,role2);
The problem this solves is I have tasks in the Change Notice that have to be assigned to a particular user that completes a task in the Change Request. Problem solved.
Regards,
I am trying to get the user that completes a specific task in the ECR, assign them to a Role and propogate that to the ECN. Here is what I have thus far:
wt.inf.container.WTContainer cont = ((wt.inf.container.WTContained)primaryBusinessObject).getContainer();
wt.inf.team.ContainerTeam contTeam = wt.inf.team.ContainerTeamHelper.service.getContainerTeam( (wt.inf.team.ContainerTeamManaged)cont);
wt.org.WTPrincipal wtprincipal1 = wt.session.SessionMgr.getPrincipal();
chgmgmtldr = (wt.org.WTUser)wt.session.SessionMgr.getPrincipal();
wt.inf.team.ContainerTeamHelper.service.addMember(contTeam,crLeader,wtprincipal1);Printing the values for these looks correct:
Container= Test Product
contTeam= Product Test Product
wtprincipal1= User
name = Administrator
inflated = true......etcHowever, what gets assigned to Role crLeader is a value of ASSIGNEE. Not what I wanted. I would expect it would be the wtprincipal as shown. How can I get this assigned correctly and am I going down the correct path to get this user/role from the ECR to the ECN?
Thanks,
James
We are currently on 9.1 M060 and are in the process of going to 10.0 M040.
In Reply to Steve Vinyard:
Side note: What version of Windchill did your perform this on?
[cid:image001.gif@01CDB815.25915D40]
Steve Vinyard
Application Engineer