コード例 #1
0
  public void postOnAssignTags(Map<Guid, Boolean> attachedTags) {
    TagListModel model = (TagListModel) getWindow();
    ArrayList<Guid> userIds = new ArrayList<Guid>();
    ArrayList<Guid> grpIds = new ArrayList<Guid>();

    for (Object item : getSelectedItems()) {
      DbUser user = (DbUser) item;
      if (user.isGroup()) {
        grpIds.add(user.getId());
      } else {
        userIds.add(user.getId());
      }
    }

    // prepare attach/detach lists
    ArrayList<Guid> tagsToAttach = new ArrayList<Guid>();
    ArrayList<Guid> tagsToDetach = new ArrayList<Guid>();

    if (model.getItems() != null && ((ArrayList<TagModel>) model.getItems()).size() > 0) {
      ArrayList<TagModel> tags = (ArrayList<TagModel>) model.getItems();
      TagModel rootTag = tags.get(0);
      TagModel.recursiveEditAttachDetachLists(rootTag, attachedTags, tagsToAttach, tagsToDetach);
    }

    ArrayList<VdcActionParametersBase> usersToAttach = new ArrayList<VdcActionParametersBase>();
    ArrayList<VdcActionParametersBase> grpsToAttach = new ArrayList<VdcActionParametersBase>();
    for (Guid tag_id : tagsToAttach) {
      if (userIds.size() > 0) {
        usersToAttach.add(new AttachEntityToTagParameters(tag_id, userIds));
      }
      if (grpIds.size() > 0) {
        grpsToAttach.add(new AttachEntityToTagParameters(tag_id, grpIds));
      }
    }
    if (usersToAttach.size() > 0) {
      Frontend.getInstance().runMultipleAction(VdcActionType.AttachUserToTag, usersToAttach);
    }
    if (grpsToAttach.size() > 0) {
      Frontend.getInstance().runMultipleAction(VdcActionType.AttachUserGroupToTag, grpsToAttach);
    }

    ArrayList<VdcActionParametersBase> usersToDetach = new ArrayList<VdcActionParametersBase>();
    ArrayList<VdcActionParametersBase> grpsToDetach = new ArrayList<VdcActionParametersBase>();
    for (Guid tag_id : tagsToDetach) {
      if (userIds.size() > 0) {
        usersToDetach.add(new AttachEntityToTagParameters(tag_id, userIds));
      }
      if (grpIds.size() > 0) {
        grpsToDetach.add(new AttachEntityToTagParameters(tag_id, grpIds));
      }
    }
    if (usersToDetach.size() > 0) {
      Frontend.getInstance().runMultipleAction(VdcActionType.DetachUserFromTag, usersToDetach);
    }
    if (grpsToDetach.size() > 0) {
      Frontend.getInstance().runMultipleAction(VdcActionType.DetachUserGroupFromTag, grpsToDetach);
    }

    cancel();
  }
コード例 #2
0
  private void postGetAttachedTags(UserListModel userListModel, TagListModel tagListModel) {
    if (userListModel.getLastExecutedCommand() == getAssignTagsCommand()) {
      ArrayList<Tags> attachedTags =
          Linq.distinct(userListModel.allAttachedTags, new TagsEqualityComparer());
      for (Tags a : attachedTags) {
        int count = 0;
        for (Tags b : allAttachedTags) {
          if (b.gettag_id().equals(a.gettag_id())) {
            count++;
          }
        }

        userListModel.attachedTagsToEntities.put(
            a.gettag_id(), count == userListModel.getSelectedItems().size());
      }
      tagListModel.setAttachedTagsToEntities(userListModel.attachedTagsToEntities);
    } else if ("OnAssignTags"
        .equals(userListModel.getLastExecutedCommand().getName())) // $NON-NLS-1$
    {
      userListModel.postOnAssignTags(tagListModel.getAttachedTagsToEntities());
    }
  }
コード例 #3
0
  public void assignTags() {
    if (getWindow() != null) {
      return;
    }

    TagListModel model = new TagListModel();
    setWindow(model);
    model.setTitle(ConstantsManager.getInstance().getConstants().assignTagsTitle());
    model.setHelpTag(HelpTag.assign_tags_users);
    model.setHashName("assign_tags_users"); // $NON-NLS-1$

    getAttachedTagsToSelectedUsers(model);

    UICommand tempVar = new UICommand("OnAssignTags", this); // $NON-NLS-1$
    tempVar.setTitle(ConstantsManager.getInstance().getConstants().ok());
    tempVar.setIsDefault(true);
    model.getCommands().add(tempVar);
    UICommand tempVar2 = new UICommand("Cancel", this); // $NON-NLS-1$
    tempVar2.setTitle(ConstantsManager.getInstance().getConstants().cancel());
    tempVar2.setIsCancel(true);
    model.getCommands().add(tempVar2);
  }