Esempio n. 1
0
  /**
   * Gets details for a given user. These details include first names, last name, email, prefix,
   * last login date, and created on date.
   *
   * @param loggedInUser The current user
   * @param login The login for the user you want the details for
   * @return Returns a Map containing the details for the given user.
   * @throws FaultException A FaultException is thrown if the user doesn't have access to lookup the
   *     user corresponding to login or if the user does not exist.
   * @xmlrpc.doc Returns the details about a given user.
   * @xmlrpc.param #param("string", "sessionKey")
   * @xmlrpc.param #param_desc("string", "login", "User's login name.")
   * @xmlrpc.returntype #struct("user details") #prop_desc("string", "first_names", "deprecated, use
   *     first_name") #prop("string", "first_name") #prop("string", "last_name") #prop("string",
   *     "email") #prop("int", "org_id") #prop("string", "org_name") #prop("string", "prefix")
   *     #prop("string", "last_login_date") #prop("string", "created_date") #prop_desc("boolean",
   *     "enabled", "true if user is enabled, false if the user is disabled") #prop_desc("boolean",
   *     "use_pam", "true if user is configured to use PAM authentication") #struct_end()
   */
  public Map getDetails(User loggedInUser, String login) throws FaultException {
    User target = XmlRpcUserHelper.getInstance().lookupTargetUser(loggedInUser, login);
    LocalizationService ls = LocalizationService.getInstance();

    Map ret = new HashMap();
    ret.put("first_names", StringUtils.defaultString(target.getFirstNames()));
    ret.put("first_name", StringUtils.defaultString(target.getFirstNames()));
    ret.put("last_name", StringUtils.defaultString(target.getLastName()));
    ret.put("email", StringUtils.defaultString(target.getEmail()));
    ret.put("prefix", StringUtils.defaultString(target.getPrefix()));

    // Last login date
    String lastLoggedIn =
        target.getLastLoggedIn() == null ? "" : ls.formatDate(target.getLastLoggedIn());
    ret.put("last_login_date", lastLoggedIn);

    // Created date
    String created = target.getCreated() == null ? "" : ls.formatDate(target.getCreated());
    ret.put("created_date", created);
    ret.put("org_id", loggedInUser.getOrg().getId());
    ret.put("org_name", loggedInUser.getOrg().getName());

    if (target.isDisabled()) {
      ret.put("enabled", Boolean.FALSE);
    } else {
      ret.put("enabled", Boolean.TRUE);
    }
    ret.put("use_pam", target.getUsePamAuthentication());

    return ret;
  }
Esempio n. 2
0
  /**
   * Returns the last logged in time of the given user.
   *
   * @param loggedInUser The current user in user.
   * @param login The login of the user.
   * @return last logged in time
   * @throws UserNeverLoggedInException if the given user has never logged in.
   * @xmlrpc.doc Returns the time user last logged in.
   * @xmlrpc.param #param("string", "sessionKey")
   * @xmlrpc.param #param_desc("string", "login", "User's login name.")
   * @xmlrpc.returntype dateTime.iso8601
   */
  public Date getLoggedInTime(User loggedInUser, String login) throws UserNeverLoggedInException {

    User target = XmlRpcUserHelper.getInstance().lookupTargetUser(loggedInUser, login);
    Date d = target.getLastLoggedIn();
    if (d != null) {
      return d;
    }
    throw new UserNeverLoggedInException();
  }