Package org.beangle.security.blueprint

Examples of org.beangle.security.blueprint.Group


  protected PropertyExtractor getPropertyExtractor() {
    return new GroupPropertyExtractor(new ActionTextResource(this));
  }

  protected String saveAndForward(Entity<?> entity) {
    Group group = (Group) entity;
    if (entityDao.duplicate(Group.class, group.getId(), "name", group.getName())) { return redirect(
        "edit", "error.notUnique"); }
    if (!group.isPersisted()) {
      User creator = userService.get(getUserId());
      userService.createGroup(creator, group);
    } else {
      group.setUpdatedAt(new Date(System.currentTimeMillis()));
      if (!group.isPersisted()) {
        group.setCreatedAt(new Date(System.currentTimeMillis()));
      }
      entityDao.saveOrUpdate(group);
    }
    return redirect("search", "info.save.success");
  }
View Full Code Here


   * @param response
   * @return
   */
  public String copyAuthSetting() {
    Long fromGroupId = getLong("groupId");
    Group fromGroup = entityDao.get(Group.class, fromGroupId);
    put("fromGroup", fromGroup);
    //put("toGroups", getUser().getMngGroups());
    return forward();
  }
View Full Code Here

  public String edit() {
    Long groupId = getLong("group.id");
    if (null == groupId) {
      groupId = getLong("groupIds");
    }
    Group ao = entityDao.get(Group.class, groupId);
    User user = getUser();
    put("manager", user);
    if (isAdmin(user)) {
      put("allGroups", entityDao.getAll(Group.class));
    }
    List<UserCategory> categories = CollectUtils.newArrayList();
    categories.add(((Group) ao).getCategory());

    OqlBuilder<MenuProfile> query = OqlBuilder.from(MenuProfile.class, "menuProfile");
    query.where("menuProfile.category in(:categories)", categories);
    List<MenuProfile> menuProfiles = entityDao.search(query);
    put("menuProfiles", menuProfiles);

    Long menuProfileId = getLong("menuProfileId");
    MenuProfile menuProfile = null;
    if (null != menuProfileId) {
      menuProfile = entityDao.get(MenuProfile.class, menuProfileId);
      if (!menuProfile.getCategory().equals(ao.getCategory())) {
        menuProfile = (menuProfiles.get(0));
      }
    } else {
      menuProfile = (menuProfiles.get(0));
    }
View Full Code Here

   * @param response
   * @return
   * @throws Exception
   */
  public String save() {
    Group mao = entityDao.get(Group.class, getLong("group.id"));
    MenuProfile menuProfile = (MenuProfile) entityDao.get(MenuProfile.class,
        getLong("menuProfileId"));
    Set<Resource> newResources = CollectUtils.newHashSet(entityDao.get(Resource.class,
        SeqStrUtils.transformToLong(get("resourceId"))));

    // 管理员拥有的菜单权限和系统资源
    User manager = getUser();
    Set<Menu> mngMenus = null;
    Set<Resource> mngResources = CollectUtils.newHashSet();
    if (isAdmin(manager)) {
      mngMenus = CollectUtils.newHashSet(menuProfile.getMenus());
    } else {
      mngMenus = CollectUtils.newHashSet(authorityService.getMenus(menuProfile,
          (User) manager));
    }
    for (final Menu m : mngMenus) {
      mngResources.addAll(m.getResources());
    }

    // 确定要删除的菜单和系统资源
    // Set<MenuAuthority> removedMenus = CollectionUtil.newHashSet();
    // for (MenuAuthority ma : mao.getMenuAuthorities()) {
    // if (mngMenus.contains(ma.getMenu()) &&
    // ma.getMenu().getProfile().equals(menuProfile)) {
    // if (!newMenus.contains(ma.getMenu())) {
    // removedMenus.add(ma);
    // } else {
    // newMenus.remove(ma.getMenu());
    // }
    // }
    // }

    Set<Authority> removedResources = CollectUtils.newHashSet();
    for (final Authority au : mao.getAuthorities()) {
      if (mngResources.contains(au.getResource())) {
        if (!newResources.contains(au.getResource())) {
          removedResources.add(au);
        } else {
          newResources.remove(au.getResource());
        }
      }
    }

    // 删除菜单和系统资源
    // mao.getMenuAuthorities().removeAll(removedMenus);
    mao.getAuthorities().removeAll(removedResources);

    // 添加新的菜单和系统资源
    // for (Menu menu : newMenus) {
    // MenuAuthority authority = Model.newInstance(MenuAuthority.class);
    // authority.setGroup(mao);
    // authority.setMenu(menu);
    // mao.getMenuAuthorities().add(authority);
    // }

    for (Resource resource : newResources) {
      Authority authority = Model.newInstance(Authority.class);
      authority.setGroup(mao);
      authority.setResource(resource);
      mao.getAuthorities().add(authority);
    }

    entityDao.saveOrUpdate(mao);
    authorityManager.refreshGroupAuthorities(new GrantedAuthorityBean(mao.getName()));

    Action redirect = Action.to(this).method("edit");
    redirect.param("group.id", mao.getId()).param("menuProfileId", menuProfile.getId());
    String displayFreezen = get("displayFreezen");
    if (null != displayFreezen) {
      redirect.param("displayFreezen", displayFreezen);
    }
    return redirect(redirect, "info.save.success");
View Full Code Here

  public GroupPropertyExtractor(TextResource textResource) {
    super(textResource);
  }

  public Object getPropertyValue(Object target, String property) throws Exception {
    Group group = (Group) target;
    if ("users".equals(property)) {
      return getPropertyIn(group.getMembers(), "user.name");
    } else {
      return super.getPropertyValue(target, property);
    }
  }
View Full Code Here

TOP

Related Classes of org.beangle.security.blueprint.Group

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.