How to retrieve the calling User in a custom function without passing it as a parameter ?

Certified Associate Developer


Could you please tell me how can i retrieve the caller of a custom function inside this function (in java) ?  I would like to check at least if he has the sysadmin rights.

Thanks in advance 


  Discussion posts and replies are publicly visible

  • 0
    Certified Associate Developer

    After exploring different plugins, it appears that the only context injectable in custom functions is

    Since then, it's possible to retrieve the caller like shown in the next reply.


  • 0
    Certified Associate Developer

    	public TypedValue sysInfo(ServiceContext
    			  sc,UserProfileService ups_) throws AppianException {
    		HashMap<TypedValue, TypedValue> ret = new HashMap<TypedValue, TypedValue>();
    		try {
    			UserProfile profile = ups_.getUser(sc.getName());
    			if (!profile.getUserTypeId().equals(UserProfile.USER_TYPE_SYS_ADMIN)) {
    				String errorText = "User " + profile.getUsername()
    						+ " is not a System Administrator.  You must run sysInfo as an administrator.";
    				throw new Exception(errorText);