-
diff --git a/public/app/features/dashboard/acl/acl.ts b/public/app/features/dashboard/acl/acl.ts
index 85dffbb1651..002eb31ed29 100644
--- a/public/app/features/dashboard/acl/acl.ts
+++ b/public/app/features/dashboard/acl/acl.ts
@@ -15,12 +15,20 @@ export class AclCtrl {
{value: 4, text: 'Edit'}
];
- type = 'User';
+ roleOptions = [
+ {value: 0, text: 'None'},
+ {value: 1, text: 'View'},
+ {value: 2, text: 'Read-only Edit'},
+ {value: 4, text: 'Edit'}
+ ];
+
+ roles = [];
+
+ type = 'User Group';
permission = 1;
userId: number;
userGroupId: number;
-
/** @ngInject */
constructor(private backendSrv, private $scope) {
this.tabIndex = 0;
@@ -30,13 +38,23 @@ export class AclCtrl {
}
get(dashboardId: number) {
- return this.backendSrv.get(`/api/dashboards/${dashboardId}/acl`)
+ return this.backendSrv.get(`/api/dashboards/id/${dashboardId}/acl`)
.then(result => {
this.userPermissions = _.filter(result, p => { return p.userId > 0;});
this.userGroupPermissions = _.filter(result, p => { return p.userGroupId > 0;});
+ this.roles = this.setRoles(result);
});
}
+ setRoles(result: any) {
+ return [
+ {name: 'Org Viewer', permissions: 1},
+ {name: 'Org Read Only Editor', permissions: 2},
+ {name: 'Org Editor', permissions: 4},
+ {name: 'Org Admin', permissions: 4}
+ ];
+ }
+
addPermission() {
if (this.type === 'User') {
if (!this.userId) {
@@ -59,38 +77,32 @@ export class AclCtrl {
}
addOrUpdateUserPermission(userId: number, permissionType: number) {
- return this.backendSrv.post(`/api/dashboards/${this.dashboard.id}/acl`, {
+ return this.backendSrv.post(`/api/dashboards/id/${this.dashboard.id}/acl`, {
userId: userId,
- permissionType: permissionType
+ permissions: permissionType
});
}
addOrUpdateUserGroupPermission(userGroupId: number, permissionType: number) {
- return this.backendSrv.post(`/api/dashboards/${this.dashboard.id}/acl`, {
+ return this.backendSrv.post(`/api/dashboards/id/${this.dashboard.id}/acl`, {
userGroupId: userGroupId,
- permissionType: permissionType
+ permissions: permissionType
});
}
updatePermission(permission: any) {
if (permission.userId > 0) {
- return this.addOrUpdateUserPermission(permission.userId, permission.permissionType);
+ return this.addOrUpdateUserPermission(permission.userId, permission.permissions);
} else {
if (!permission.userGroupId) {
return;
}
- return this.addOrUpdateUserGroupPermission(permission.userGroupId, permission.permissionType);
+ return this.addOrUpdateUserGroupPermission(permission.userGroupId, permission.permissions);
}
}
- removeUserPermission(permission: Permission) {
- return this.backendSrv.delete(`/api/dashboards/${permission.dashboardId}/acl/user/${permission.userId}`).then(() => {
- return this.get(permission.dashboardId);
- });
- }
-
- removeUserGroupPermission(permission: Permission) {
- return this.backendSrv.delete(`/api/dashboards/${permission.dashboardId}/acl/user-group/${permission.userGroupId}`).then(() => {
+ removePermission(permission: Permission) {
+ return this.backendSrv.delete(`/api/dashboards/id/${permission.dashboardId}/acl/${permission.id}`).then(() => {
return this.get(permission.dashboardId);
});
}