Ejemplo n.º 1
0
  @CacheNameRemove(name = AppConstants.DEFAULT_CACHENAME)
  @Before({AdminValidator.UpdateRoleValidator.class, Tx.class})
  public void updateRole() {
    keepModel(UserRole.class);
    UserRole userRole = getModel(UserRole.class);

    boolean result = true;
    List<UserRole> aroles = UserRole.dao.findBy("`userRole`.user_id=" + userRole.get("user_id"));
    boolean mustAdd = true;
    if (!ValidateUtils.me().isNullOrEmpty(aroles)) {
      // delete
      for (UserRole ar : aroles) {
        if (ar.get("role_id") != userRole.get("role_id")) {
          ar.delete();
        } else {
          mustAdd = false;
        }
      }
    }
    // add
    if (mustAdd) {
      result = result && userRole.save();
    }

    if (result) setAttr("state", "success");
    else setAttr("state", "failure");
    dynaRender("/view/admin/user.ftl");
  }
Ejemplo n.º 2
0
 public List<Role> getRoleChildren() {
   if (this.get("roleChildren") == null) {
     // 查询当前用户的角色
     UserRole userRole = UserRole.dao.findFirstBy("`userRole`.user_id=" + this.get("id"));
     // 当前用户的子集角色
     List<Role> roles =
         Role.dao.findChildrenById("`role`.deleted_at is null", userRole.get("role_id"));
     this.put("roleChildren", roles);
   }
   return this.get("roleChildren");
 }
Ejemplo n.º 3
0
  @CacheName(AppConstants.DEFAULT_CACHENAME)
  public void role() {
    User user = SubjectUtils.me().getUser();
    keepPara("user_search");

    // 查询当前用户的角色
    UserRole userRole = UserRole.dao.findFirstBy("`userRole`.user_id=" + user.get("id"));
    // 当前用户的子集角色
    List<Role> roles =
        Role.dao.findChildrenById("`role`.deleted_at is null", userRole.get("role_id"));
    roles.add(0, user.getRole());
    if (!ValidateUtils.me().isNullOrEmpty(roles)) setAttr("role", user.getRole());

    List<Permission> authories = Permission.dao.findBy("`permission`.deleted_at is NULL");
    setAttr("rolestree", TreeUtils.toTree(roles));
    setAttr("permissionestree", TreeUtils.toTreeLevel(authories, 2));

    dynaRender("/view/admin/role.ftl");
  }
Ejemplo n.º 4
0
  @CacheName(AppConstants.DEFAULT_CACHENAME)
  public void user() {
    User user = SubjectUtils.me().getUser();
    keepPara("user_search");

    // 查询当前用户的角色
    UserRole userRole = UserRole.dao.findFirstBy("`userRole`.user_id=" + user.get("id"));
    // 当前用户的子集角色
    List<Role> roles =
        Role.dao.findChildrenById("`role`.deleted_at is null", userRole.get("role_id"));
    String roleIds = "";
    if (roles != null) {
      int size = roles.size();
      int i = 0;
      for (Role role : roles) {
        roleIds += role.get("id");
        if (i < size - 1) {
          roleIds += ",";
        }
        i++;
      }
    }
    // 只能查询当前用户以下的角色
    String where =
        " `user`.id <> " + user.get("id") + " AND `userRole`.role_id in (" + roleIds + ")";
    String user_search = getPara("user_search");
    if (!ValidateUtils.me().isNullOrEmpty(user_search)) {
      where +=
          " AND (INSTR(`user`.username,'"
              + user_search
              + "')>0 OR  INSTR(`user`.full_name,'"
              + user_search
              + "')>0 "
              + "OR  INSTR(`user`.mobile,'"
              + user_search
              + "')>0 OR  INSTR(`province`.name,'"
              + user_search
              + "')>0 "
              + "OR  INSTR(`city`.name,'"
              + user_search
              + "')>0 OR  INSTR(`county`.name,'"
              + user_search
              + "')>0 "
              + "OR INSTR(`userInfo`.street,'"
              + user_search
              + "')>0 OR INSTR(`userInfo`.zip_code,'"
              + user_search
              + "')>0 "
              + "OR INSTR(`user`.created_at,'"
              + user_search
              + "')>0 OR INSTR(`user`.email,'"
              + user_search
              + "')>0) ";
    }
    //        String start_at = getPara("start_at");
    //        if (ValidateUtils.me().isDateTime(start_at)) {
    //            where += " AND `user`.created_at >= '" + start_at + "'";
    //        }
    //
    //        String end_at = getPara("end_time");
    //        if (ValidateUtils.me().isDateTime(end_at)) {
    //            where += " AND `user`.created_at <= '" + end_at + "'";
    //        }
    //
    //        Boolean deleted = getParaToBoolean("deleted");
    //        if (!ValidateUtils.me().isNullOrEmpty(deleted) && deleted) {
    //            where += " AND `user`.deleted_at is not null";
    //        } else {
    //            where += " AND `user`.deleted_at is null";
    //        }

    Page<User> users =
        User.dao.paginateInfoBy(getParaToInt(0, 1), getParaToInt("pageSize", 15), where);
    Map userGroup = SortUtils.me().sort(users.getList(), "last_name");

    setAttr("roles", roles);
    setAttr("users", users);
    setAttr("userGroup", userGroup);
    setAttr("userStates", State.dao.findBy("`state`.type='user.state'"));
    dynaRender("/view/admin/user.ftl");
  }