Example #1
0
  @CacheNameRemove(name = AppConstants.DEFAULT_CACHENAME)
  @Before({AdminValidator.PermDeleteValidator.class, Tx.class})
  public void permDrop() {

    Integer id = getParaToInt("permission.id");
    Permission permission = Permission.dao.findById(id);
    boolean result = false;
    if (!ValidateUtils.me().isNullOrEmpty(permission)) {
      Permission.dao.updateBy(
          "`permission`.left_code=`permission`.left_code-2",
          "`permission`.left_code>=" + permission.get("left_code"));
      Permission.dao.updateBy(
          "`permission`.right_code=`permission`.right_code-2",
          "`permission`.right_code>=" + permission.get("right_code"));
      result = permission.delete();
      if (result) {
        RolePermission.dao.dropBy("permission_id=" + permission.get("id"));
      }
    }
    if (result) {
      setAttr("state", "success");
    } else {
      setAttr("state", "failure");
    }
    dynaRender("/view/admin/role.ftl");
  }