You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ni...@apache.org on 2019/10/09 11:07:53 UTC

[kylin] branch master updated: KYLIN-4147 User has project's admin permission but doesn't have permission to see the Storage/Planner/streaming tab in Model page

This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/master by this push:
     new b3ca7e2  KYLIN-4147 User has project's admin permission but doesn't have permission to see the Storage/Planner/streaming tab in Model page
b3ca7e2 is described below

commit b3ca7e2755b3b3f992ea853e8a4bfc90d73a4301
Author: wangxiaojing <wa...@didichuxing.com>
AuthorDate: Mon Sep 30 16:21:23 2019 +0800

    KYLIN-4147 User has project's admin permission but doesn't have permission to see the Storage/Planner/streaming tab in Model page
---
 .../main/java/org/apache/kylin/rest/service/StreamingV2Service.java | 2 +-
 webapp/app/partials/cubes/cube_detail.html                          | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/StreamingV2Service.java b/server-base/src/main/java/org/apache/kylin/rest/service/StreamingV2Service.java
index dc6f8d3..023d4de 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/StreamingV2Service.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/StreamingV2Service.java
@@ -323,7 +323,7 @@ public class StreamingV2Service extends BasicService {
     }
 
     @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN
-            + " or hasPermission(#cube, 'ADMINISTRATION') or hasPermission(#cube, 'MANAGEMENT')")
+            + " or hasPermission(#cube, 'ADMINISTRATION') or hasPermission(#cube, 'MANAGEMENT') or hasPermission(#cube.getProjectInstance(), 'MANAGEMENT') or hasPermission(#cube.getProjectInstance(), 'ADMINISTRATION')")
     public CubeRealTimeState getCubeRealTimeState(CubeInstance cube) {
         CubeRealTimeState result = new CubeRealTimeState();
         result.setCubeName(cube.getName());
diff --git a/webapp/app/partials/cubes/cube_detail.html b/webapp/app/partials/cubes/cube_detail.html
index 0ca74b5..2218dde 100755
--- a/webapp/app/partials/cubes/cube_detail.html
+++ b/webapp/app/partials/cubes/cube_detail.html
@@ -38,13 +38,13 @@
             <a href="" ng-click="cube.visiblePage='notification';getNotifyListString(cube);">Notification</a>
         </li>
         <li class="{{cube.visiblePage=='hbase'? 'active':''}}"
-            ng-if="userService.hasRole('ROLE_ADMIN')">
+            ng-if="userService.hasRole('ROLE_ADMIN')  || hasPermission('cube' ,cube, permissions.ADMINISTRATION.mask) && !newAccess">
             <a href="" ng-click="cube.visiblePage='hbase';getHbaseInfo(cube)">Storage</a>
         </li>
-        <li class="{{cube.visiblePage=='planner'? 'active':''}}" ng-if="(userService.hasRole('ROLE_ADMIN') || hasPermission('cube', cube, permissions.ADMINISTRATION.mask)) && isShowCubeplanner">
+        <li class="{{cube.visiblePage=='planner'? 'active':''}}" ng-if="(userService.hasRole('ROLE_ADMIN') || hasPermission('cube', cube, permissions.ADMINISTRATION.mask) && !newAccess) && isShowCubeplanner">
             <a href="" ng-click="cube.visiblePage='planner';getCubePlanner(cube);">Planner</a>
         </li>
-        <li class="{{cube.visiblePage=='streaming'? 'active':''}}" ng-if="(userService.hasRole('ROLE_ADMIN') || hasPermission('cube', cube, permissions.ADMINISTRATION.mask)) && cube.streamingV2">
+        <li class="{{cube.visiblePage=='streaming'? 'active':''}}" ng-if="(userService.hasRole('ROLE_ADMIN') || hasPermission('cube', cube, permissions.ADMINISTRATION.mask)  && !newAccess) && cube.streamingV2">
             <a href="" ng-click="cube.visiblePage='streaming';getStreamingInfo(cube)">Streaming</a>
        </li>
     </ul>