Package evolaris.platform.um.web.form

Examples of evolaris.platform.um.web.form.UserSetAssignmentListForm


   * This method is used to fetch a list of users and forward them to the view component
   *
   * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
   */
  public ActionForward list(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse resp) {
    UserSetAssignmentListForm f = (UserSetAssignmentListForm) form; 
    if (req.getParameter("id") != null) { // coming from userset list
      f.setUserSetId(Long.parseLong(req.getParameter("id")));
    }
    prepareContentForUserSetList(form, req, session,f.getFilterString());
    return mapping.findForward("list");
  }
View Full Code Here


    prepareContentForUserSetList(form, req, session,f.getFilterString());
    return mapping.findForward("list");
  }

  private void prepareContentForUserSetList(ActionForm form, HttpServletRequest req, Session session,String filter) {
    UserSetAssignmentListForm userSetAssignmentListForm = (UserSetAssignmentListForm) form;

    UserSetManager userSetManager = new UserSetManager(locale, session);

    UserSet userSet = userSetManager.getUserSet(userSetAssignmentListForm.getUserSetId());
    if (userSet == null) {
      String msg = getResources(req).getMessage("um.userSetNotFound", req.getParameter("id"));
      LOGGER.error(msg);
      throw new InputException(msg);
    }
    if (!userSet.getGroup().equals(getCurrentGroup(req))) {
      // due to global group selection, userset should be in current group
      throw new InputException(getResources(req).getMessage("um.userSetNotInCurrentGroup"));
    }
    checkAccessRights(req, userSet.getGroup());
    Group currentGroup = getCurrentGroup(req);
   
    // fetch the list of users
    int pageNumber = 1; // default page size
    if(req.getParameter("page") != null){
      pageNumber = Integer.parseInt(req.getParameter("page"));
    }
   
    String sortCriterion = "username"; // default sort criterion
    if(req.getParameter("sort") != null){
      sortCriterion = req.getParameter("sort");
    }
   
    SortOrderEnum sortOrderDisplayTag = SortOrderEnum.ASCENDING; // default
    evolaris.framework.database.util.SortOrderEnum sortOrderDb = evolaris.framework.database.util.SortOrderEnum.asc;
    if(req.getParameter("dir") != null){
      String order = req.getParameter("dir");
      if("asc".equals(order)){
        sortOrderDisplayTag = SortOrderEnum.ASCENDING;
        sortOrderDb = evolaris.framework.database.util.SortOrderEnum.asc;
      } else {
        sortOrderDisplayTag = SortOrderEnum.DESCENDING;
        sortOrderDb = evolaris.framework.database.util.SortOrderEnum.desc;
      }
    }
   
    User[] users = null;
    int listFullSize = 0; // the size of the complete result list used for paging

    Hibernate.initialize(userSet); // used to fetch the data from db
    userSetAssignmentListForm.setUserSetName(userSet.getName());
    userSetAssignmentListForm.setUserSetId(userSet.getId());
 
     
    String[] choosenUsers = null;
    if(userSetAssignmentListForm.getDisplayAll() != null && userSetAssignmentListForm.getDisplayAll()){
      GroupManager groupMgm = new GroupManager(locale,session);
      users = groupMgm.getUsers(currentGroup, pageNumber, PAGE_SIZE, sortCriterion, sortOrderDb,true,filter);
      listFullSize = groupMgm.getUsers(currentGroup,true,filter).length;
      // create a list containing all users for which the check box should be selected
      choosenUsers = new String[users.length];
      for(int i=0;i<users.length;i++){
        if(userSetManager.isUserInUserset(userSet, users[i])){
          choosenUsers[i]= String.valueOf(users[i].getId());
        }
      }
    } else {
      users = userSetManager.getUsers(userSet, pageNumber, PAGE_SIZE, sortCriterion, sortOrderDb,filter);
      listFullSize = userSetManager.getUsers(userSet,filter).length;
      // create a list containing all users for which the check box should be selected
      choosenUsers = new String[users.length];
      for(int i=0;i<users.length;i++){
        choosenUsers[i]= String.valueOf(users[i].getId());
      }
    }
    userSetAssignmentListForm.setChoosen(choosenUsers);
 
    ArrayList<User> list = new ArrayList<User>();
    for(int i=0;i<users.length;i++){
      list.add(users[i]);
    }
View Full Code Here

   * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
   */
  public ActionForward modify(ActionMapping mapping, ActionForm form,
      HttpServletRequest req, HttpServletResponse resp) {
   
    UserSetAssignmentListForm userSetAssociationListForm = (UserSetAssignmentListForm) form;
    Long userSetId = userSetAssociationListForm.getUserSetId();

    LOGGER.info("User " + req.getUserPrincipal().getName().toLowerCase() + ": Modify request with user set ID `" + userSetId + "`");

    if (userSetId == null){
      throw new BugException("missing user set id");
    }
    UserSetManager userSetManager = new UserSetManager(locale,session);
    UserSet userSet = userSetManager.getUserSet(userSetId);
    checkAccessRights(req, userSet.getGroup());
    String[] choosen = userSetAssociationListForm.getChoosen();
    Long[] userIds = userSetAssociationListForm.getUserId();   
    if (userIds != null) {
      UserManager userManager = new UserManager(locale,session);
      for (Long userId : userIds) {
        User user = userManager.getUserDetails(userId);
        checkAccessRights(req, user.getGroup());       
        if (Arrays.asList(choosen).contains(userId.toString())) {  // in list and checked
          userSet.getUsers().add(user);              // don't care if already there, as it's a set.
        } else {                          // in list and not checked
          userSet.getUsers().remove(user);            // remove from userset, don't mind if it's not there
        }
      }
    }
    userSetManager.modifyUserSet(userSet);
    userSetAssociationListForm.setDisplayAll(false)// show only selected for the user to see the difference
    prepareContentForUserSetList(form,req,session,userSetAssociationListForm.getFilterString());
    logProcessingTime("Updating the user to set relation");
    return mapping.findForward("modified");
  }
View Full Code Here

TOP

Related Classes of evolaris.platform.um.web.form.UserSetAssignmentListForm

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.