@@ -2,15 +2,18 @@ angular
22 . module ( 'mage' )
33 . controller ( 'AdminLayerController' , AdminLayerController ) ;
44
5- AdminLayerController . $inject = [ '$scope' , '$uibModal' , '$routeParams' , '$location' , '$filter' , 'Layer' , 'Event' , 'LocalStorageService' ] ;
5+ AdminLayerController . $inject = [ '$scope' , '$uibModal' , '$routeParams' , '$location' , '$filter' , 'Layer' , 'Event' , 'LocalStorageService' , 'UserService' ] ;
66
7- function AdminLayerController ( $scope , $uibModal , $routeParams , $location , $filter , Layer , Event , LocalStorageService ) {
7+ function AdminLayerController ( $scope , $uibModal , $routeParams , $location , $filter , Layer , Event , LocalStorageService , UserService ) {
88
99 $scope . layerEvents = [ ] ;
1010 $scope . nonTeamEvents = [ ] ;
1111 $scope . eventsPage = 0 ;
1212 $scope . eventsPerPage = 10 ;
1313
14+ $scope . hasLayerEditPermission = _ . contains ( UserService . myself . role . permissions , 'UPDATE_LAYER' ) ;
15+ $scope . hasLayerDeletePermission = _ . contains ( UserService . myself . role . permissions , 'DELETE_LAYER' ) ;
16+
1417 $scope . fileUploadOptions = {
1518 acceptFileTypes : / ( \. | \/ ) ( k m l ) $ / i,
1619 url : '/api/layers/' + $routeParams . layerId + '/kml?access_token=' + LocalStorageService . getToken ( )
@@ -29,12 +32,23 @@ function AdminLayerController($scope, $uibModal, $routeParams, $location, $filte
2932 return $scope . layer . id === layer . id ;
3033 } ) ;
3134 } ) ;
35+
36+ var nonLayerEvents = _ . chain ( events ) ;
37+ if ( ! _ . contains ( UserService . myself . role . permissions , 'UPDATE_EVENT' ) ) {
38+ // filter teams based on acl
39+ nonLayerEvents = nonLayerEvents . filter ( function ( event ) {
40+ var permissions = event . acl [ UserService . myself . id ] ? event . acl [ UserService . myself . id ] . permissions : [ ] ;
41+ return _ . contains ( permissions , 'update' ) ;
42+ } ) ;
43+ }
3244
33- $scope . nonLayerEvents = _ . reject ( events , function ( event ) {
45+ nonLayerEvents = nonLayerEvents . reject ( function ( event ) {
3446 return _ . some ( event . layers , function ( layer ) {
3547 return $scope . layer . id === layer . id ;
3648 } ) ;
3749 } ) ;
50+
51+ $scope . nonLayerEvents = nonLayerEvents . value ( ) ;
3852 } ) ;
3953 } ) ;
4054
0 commit comments