Browse Source

权限设置功能只对当前企业管理员开放

hejq 8 years ago
parent
commit
a2222cd415

+ 4 - 0
src/main/java/com/uas/platform/b2b/controller/RoleController.java

@@ -78,4 +78,8 @@ public class RoleController {
 	public ModelMap getCurrentRoles(){
 		return roleService.getCurrentRoles();
 	}
+
+	@RequestMapping(value = "/isManager", method =  RequestMethod.GET)
+	@ResponseBody
+	public ModelMap isManager(){return  roleService.isManager(); }
 }

+ 13 - 1
src/main/java/com/uas/platform/b2b/dao/RoleDao.java

@@ -45,7 +45,9 @@ public interface RoleDao extends JpaRepository<Role, Long> {
     List<Role> findByEnUUAndIssys(Long vendUU, short yes);
 
 	/**
-	 * 查询当前用户在当前企业的角色是否是管理员或者销售经理
+	 * 查询当前用户在当前企业的角色是否是管理员或者销售经理<br>
+	 *
+	 * 分配客户需要
 	 *
 	 * @param enuu
 	 * @param useruu
@@ -53,4 +55,14 @@ public interface RoleDao extends JpaRepository<Role, Long> {
 	 */
     @Query(value = "select count(1) from sec$roles r left join sec$userrole u on r.role_id = u.role_id where r.role_enuu = :enuu and u.user_uu = :useruu and (r.role_name = 'ROLE_ADMIN' or r.role_name = 'ROLE_SALEMANAGER')",nativeQuery = true)
     Double findByEnuuAndUseruu(@Param("enuu") Long enuu, @Param("useruu") Long useruu);
+
+	/**
+	 * 是否是当前企业的管理员(只有管理员才能设置权限)
+	 *
+	 * @param enuu
+	 * @param useruu
+	 * @return
+	 */
+	@Query(value = "select count(1) from sec$roles r left join sec$userrole u on r.role_id = u.role_id where r.role_enuu = :enuu and u.user_uu = :useruu and r.role_name = 'ROLE_ADMIN'",nativeQuery = true)
+	Double findByEnuuAndUserUU(@Param("enuu") Long enuu, @Param("useruu") Long useruu);
 }

+ 6 - 0
src/main/java/com/uas/platform/b2b/service/RoleService.java

@@ -58,4 +58,10 @@ public interface RoleService {
 	 */
 	public ModelMap getCurrentRoles();
 
+	/**
+	 * 判断是否是当前企业的管理员
+	 *
+	 * @return
+	 */
+	ModelMap isManager();
 }

+ 5 - 0
src/main/java/com/uas/platform/b2b/service/impl/RoleServiceImpl.java

@@ -92,4 +92,9 @@ public class RoleServiceImpl implements RoleService {
 		return new ModelMap("count", roleDao.findByEnuuAndUseruu(SystemSession.getUser().getEnterprise().getUu(),SystemSession.getUser().getUserUU()));
 	}
 
+	@Override
+	public ModelMap isManager() {
+		return new ModelMap("isManager", roleDao.findByEnuuAndUserUU(SystemSession.getUser().getEnterprise().getUu(),SystemSession.getUser().getUserUU()) > 0 ? true : false);
+	}
+
 }

+ 9 - 1
src/main/webapp/resources/js/index/app.js

@@ -10008,7 +10008,7 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 
     }]);
 
-    app.controller('UserCtrl', ['$scope', '$filter', 'AuthenticationService', 'AccountUser', 'BaseService', 'ngTableParams', 'toaster', '$modal', '$http', 'ngAlert', 'AccountEnterprise', function ($scope, $filter, AuthenticationService, AccountUser, BaseService, ngTableParams, toaster, $modal, $http, ngAlert, AccountEnterprise) {
+    app.controller('UserCtrl', ['$scope', '$filter', 'AuthenticationService', 'AccountUser', 'BaseService', 'ngTableParams', 'toaster', '$modal', '$http', 'ngAlert', 'AccountEnterprise', 'CurrentRole', function ($scope, $filter, AuthenticationService, AccountUser, BaseService, ngTableParams, toaster, $modal, $http, ngAlert, AccountEnterprise, CurrentRole) {
         BaseService.scrollBackToTop();
         $scope.editing = false;
         $scope.loading = true;
@@ -10025,6 +10025,14 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             $scope.user = data;
         });
         var users = [];
+
+        var getMangagerInfo = function() {
+            CurrentRole.isManager({}, function(data) {
+               $scope.isManager = data.isManager;
+            });
+        };
+        getMangagerInfo();
+
         $scope.tableParams = new ngTableParams({
             page: 1,
             count: 20,

+ 6 - 2
src/main/webapp/resources/js/index/services/Account.js

@@ -41,11 +41,15 @@ define([ 'ngResource' ], function() {
 		})
 	}]).factory('CurrentRole', ['$resource', function($resource) {
         return $resource('account/role', {}, {
-            //当前企业对应的角色
+            //当前企业对应的角色是否是销售经理或管理员
             roles: {
                 url: 'account/role/currentRole',
                 method: 'GET'
-            }
+            },
+			isManager: {
+            	url: 'account/role/isManager',
+				mehtod: 'GET'
+			}
         })
     }]);
 });

+ 1 - 1
src/main/webapp/resources/tpl/index/approvalFlow/user.html

@@ -455,7 +455,7 @@
 						</td>
 						<!-- 系统管理员无法被编辑限制,因为用户反馈注册用户都是业务员,需要权限来保护隐私,所以拿掉这个限制 -->
 						<!-- ng-show="user.sys && enterprise.enAdminuu != u.userUU" -->
-						<td class="row-operator" ng-show="user.sys && enterprise.enAdminuu != u.userUU">
+						<td class="row-operator" ng-show="isManager">
 							<a class="operator-trigger" href="javascript:void(0);"><i class="fa fa-pencil fa-lg" ng-show="(user.sys && enterprise.enAdminuu != u.userUU) || $data.length == 1"></i></a>
 							<ul class="list-unstyle list-inline operator-menu" ng-show="(user.sys && enterprise.enAdminuu != u.userUU) || $data.length == 1">
 								<li><a ng-click="editUserRole(u)"><i class="fa fa-fw fa-pencil-square-o" style="color: #fff"></i>编辑</a></li>