You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by dg...@apache.org on 2020/04/14 10:47:44 UTC
[incubator-dlab] branch DLAB-1571 updated: [DLAB-1701]:
Project_admin should not be able to remove administrative operation for all
Dlab from Super_admin
This is an automated email from the ASF dual-hosted git repository.
dgnatyshyn pushed a commit to branch DLAB-1571
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/DLAB-1571 by this push:
new c4a379d [DLAB-1701]: Project_admin should not be able to remove administrative operation for all Dlab from Super_admin
c4a379d is described below
commit c4a379d251b94a2d3e29e3b4377cb630aefbd03c
Author: Dmytro Gnatyshyn <di...@ukr.net>
AuthorDate: Tue Apr 14 13:47:20 2020 +0300
[DLAB-1701]: Project_admin should not be able to remove administrative operation for all Dlab from Super_admin
---
.../webapp/src/app/administration/roles/roles.component.html | 11 +++++++----
.../webapp/src/app/administration/roles/roles.component.ts | 2 +-
.../multi-level-select-dropdown.component.html | 8 ++++++--
.../multi-level-select-dropdown.component.scss | 4 ++++
.../multi-level-select-dropdown.component.ts | 1 +
5 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.html b/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.html
index 87e27a2..5c73329 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.html
@@ -36,7 +36,7 @@
<mat-step [completed]='false'>
<ng-template matStepLabel>Groups</ng-template>
<div class="inner-step mat-reset">
- <input [validator]="groupValidarion()" type="text" placeholder="Enter group name" [(ngModel)]="setupGroup"
+ <input [validator]="groupValidation()" type="text" placeholder="Enter group name" [(ngModel)]="setupGroup"
#setupGroupName="ngModel">
<div class="error" *ngIf="setupGroupName.errors?.patterns && setupGroupName.dirty">Group name can only
contain letters, numbers, hyphens and '_'</div>
@@ -72,7 +72,9 @@
(selectionChange)="onUpdate($event)"
name="roles"
[items]="rolesList"
- [model]="setupRoles">
+ [model]="setupRoles"
+ [isAdmin]="healthStatus?.admin"
+ >
</multi-level-select-dropdown>
</div>
</div>
@@ -104,8 +106,9 @@
(selectionChange)="onUpdate($event)"
[type]="element.group"
[items]="rolesList"
- [model]="element.selected_roles">
-
+ [model]="element.selected_roles"
+ [isAdmin]="healthStatus?.admin"
+ >
</multi-level-select-dropdown>
</div>
</td>
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.ts
index bf57438..e36205a 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/roles/roles.component.ts
@@ -217,7 +217,7 @@ export class RolesComponent implements OnInit {
this.startedGroups = JSON.parse(JSON.stringify(this.groupsData));
}
- public groupValidarion(): ValidatorFn {
+ public groupValidation(): ValidatorFn {
const duplicateList: any = this.groupsData.map(item => item.group.toLowerCase());
return <ValidatorFn>((control: FormControl) => {
if (control.value && duplicateList.includes(CheckUtils.delimitersFiltering(control.value.toLowerCase()))) {
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.html b/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.html
index f2d3051..c0162da 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.html
@@ -38,7 +38,7 @@
</li>
<ng-template ngFor let-item [ngForOf]="items" let-i="index">
- <li class="role-label" role="presentation" *ngIf="i === 0 || model && item.type !== items[i - 1].type" (click)="toggleItemsForLable(item.type, $event)">
+ <li class="role-label" role="presentation" *ngIf="i === 0 || model && item.type !== items[i - 1].type" (click)="toggleItemsForLable(item.type, $event)" >
<a href="#" class="list-item" role="menuitem">
<span class="arrow" [ngClass]="{'rotate-arrow': isOpenCategory[item.type], 'arrow-checked': selectedAllInCattegory(item.type) || selectedSomeInCattegory(item.type)}">
<i class="material-icons">keyboard_arrow_right</i>
@@ -51,7 +51,11 @@
</a>
</li>
- <li class="role-item" role="presentation" *ngIf="model && isOpenCategory[item.type] && item.type !== 'COMPUTATIONAL_SHAPE' && item.type !== 'NOTEBOOK_SHAPE'" >
+ <li class="role-item"
+ role="presentation"
+ *ngIf="model && isOpenCategory[item.type] && item.type !== 'COMPUTATIONAL_SHAPE' && item.type !== 'NOTEBOOK_SHAPE'"
+ [ngClass]="{'d-none': !isAdmin && item.role === 'Allow to execute administration operation'}"
+ >
<a href="#" class="list-item" role="menuitem" (click)="toggleSelectedOptions($event, model, item)">
<span class="empty-checkbox" [ngClass]="{'checked': checkInModel(item.role)}">
<span class="checked-checkbox" *ngIf="checkInModel(item.role)"></span>
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.scss b/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.scss
index 1902d15..a066dd5 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.scss
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.scss
@@ -318,3 +318,7 @@
}
}
+.d-none{
+ display: none;
+}
+
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.ts b/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.ts
index cabf7d9..5b9c1a9 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/form-controls/multi-level-select-dropdown/multi-level-select-dropdown.component.ts
@@ -30,6 +30,7 @@ export class MultiLevelSelectDropdownComponent {
@Input() items: Array<any>;
@Input() model: Array<any>;
@Input() type: string;
+ @Input() isAdmin: boolean;
@Output() selectionChange: EventEmitter<{}> = new EventEmitter();
public isOpenCategory = {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org