From 0cf9f2de7a33fa4721ecd2e965cbb08c7b368c6e Mon Sep 17 00:00:00 2001 From: Tzahi12345 Date: Sun, 1 Jan 2023 12:12:32 -0500 Subject: [PATCH] Fixed issue where role/user permissions could not be changed --- .../manage-role/manage-role.component.html | 22 +++++++------- .../manage-role/manage-role.component.scss | 4 --- .../manage-role/manage-role.component.ts | 2 +- .../manage-user/manage-user.component.html | 22 +++++++------- .../manage-user/manage-user.component.ts | 7 +++-- .../modify-users/modify-users.component.ts | 29 +++++++++---------- 6 files changed, 39 insertions(+), 47 deletions(-) diff --git a/src/app/components/manage-role/manage-role.component.html b/src/app/components/manage-role/manage-role.component.html index 7128abe..3ace5a5 100644 --- a/src/app/components/manage-role/manage-role.component.html +++ b/src/app/components/manage-role/manage-role.component.html @@ -1,17 +1,15 @@ -

Manage role - {{role.name}}

+

Manage role - {{role.key}}

- - -
{{permissionToLabel[permission] ? permissionToLabel[permission] : permission}}
-
- - Yes - No - -
-
-
+
+
{{permissionToLabel[permission] ? permissionToLabel[permission] : permission}}
+
+ + Yes + No + +
+
diff --git a/src/app/components/manage-role/manage-role.component.scss b/src/app/components/manage-role/manage-role.component.scss index ccc0744..e69de29 100644 --- a/src/app/components/manage-role/manage-role.component.scss +++ b/src/app/components/manage-role/manage-role.component.scss @@ -1,4 +0,0 @@ -.mat-mdc-radio-button { - margin-right: 10px; - margin-top: 5px; -} \ No newline at end of file diff --git a/src/app/components/manage-role/manage-role.component.ts b/src/app/components/manage-role/manage-role.component.ts index 2f13e0a..62ff200 100644 --- a/src/app/components/manage-role/manage-role.component.ts +++ b/src/app/components/manage-role/manage-role.component.ts @@ -24,7 +24,7 @@ export class ManageRoleComponent implements OnInit { } constructor(public postsService: PostsService, private dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public data: any) { + @Inject(MAT_DIALOG_DATA) public data: {role: string}) { if (this.data) { this.role = this.data.role; this.available_permissions = this.postsService.available_permissions; diff --git a/src/app/components/manage-user/manage-user.component.html b/src/app/components/manage-user/manage-user.component.html index e5e26f7..f33ac5b 100644 --- a/src/app/components/manage-user/manage-user.component.html +++ b/src/app/components/manage-user/manage-user.component.html @@ -12,18 +12,16 @@
- - -
{{permissionToLabel[permission] ? permissionToLabel[permission] : permission}}
-
- - Use role default - Yes - No - -
-
-
+
+
{{permissionToLabel[permission] ? permissionToLabel[permission] : permission}}
+
+ + Use role default + Yes + No + +
+
diff --git a/src/app/components/manage-user/manage-user.component.ts b/src/app/components/manage-user/manage-user.component.ts index b127634..6f498f2 100644 --- a/src/app/components/manage-user/manage-user.component.ts +++ b/src/app/components/manage-user/manage-user.component.ts @@ -1,6 +1,7 @@ import { Component, OnInit, Inject } from '@angular/core'; import { PostsService } from 'app/posts.services'; import { MAT_DIALOG_DATA } from '@angular/material/dialog'; +import { User } from 'api-types'; @Component({ selector: 'app-manage-user', @@ -26,7 +27,7 @@ export class ManageUserComponent implements OnInit { settingNewPassword = false; - constructor(public postsService: PostsService, @Inject(MAT_DIALOG_DATA) public data: any) { + constructor(public postsService: PostsService, @Inject(MAT_DIALOG_DATA) public data: {user: User}) { if (this.data) { this.user = this.data.user; this.available_permissions = this.postsService.available_permissions; @@ -54,14 +55,14 @@ export class ManageUserComponent implements OnInit { } changeUserPermissions(change, permission) { - this.postsService.setUserPermission(this.user.uid, permission, change.value).subscribe(res => { + this.postsService.setUserPermission(this.user.uid, permission, change.value).subscribe(() => { // console.log(res); }); } setNewPassword() { this.settingNewPassword = true; - this.postsService.changeUserPassword(this.user.uid, this.newPasswordInput).subscribe(res => { + this.postsService.changeUserPassword(this.user.uid, this.newPasswordInput).subscribe(() => { this.newPasswordInput = ''; this.settingNewPassword = false; }); diff --git a/src/app/components/modify-users/modify-users.component.ts b/src/app/components/modify-users/modify-users.component.ts index e1b7a98..5aec419 100644 --- a/src/app/components/modify-users/modify-users.component.ts +++ b/src/app/components/modify-users/modify-users.component.ts @@ -8,6 +8,7 @@ import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { AddUserDialogComponent } from 'app/dialogs/add-user-dialog/add-user-dialog.component'; import { ManageUserComponent } from '../manage-user/manage-user.component'; import { ManageRoleComponent } from '../manage-role/manage-role.component'; +import { User } from 'api-types'; @Component({ selector: 'app-modify-users', @@ -31,7 +32,7 @@ export class ModifyUsersComponent implements OnInit, AfterViewInit { // MatPaginator Output pageEvent: PageEvent; - users: any; + users: User[]; editObject = null; constructedObject = {}; roles = null; @@ -94,11 +95,9 @@ export class ModifyUsersComponent implements OnInit, AfterViewInit { }); } - finishEditing(user_uid) { - let has_finished = false; + finishEditing(user_uid: string) { if (this.constructedObject && this.constructedObject['name'] && this.constructedObject['role']) { if (!isEmptyOrSpaces(this.constructedObject['name']) && !isEmptyOrSpaces(this.constructedObject['role'])) { - has_finished = true; const index_of_object = this.indexOfUser(user_uid); this.users[index_of_object] = this.constructedObject; this.constructedObject = {}; @@ -109,7 +108,7 @@ export class ModifyUsersComponent implements OnInit, AfterViewInit { } } - enableEditMode(user_uid) { + enableEditMode(user_uid: string) { if (this.uidInUserList(user_uid) && this.indexOfUser(user_uid) > -1) { const users_index = this.indexOfUser(user_uid); this.editObject = this.users[users_index]; @@ -124,7 +123,7 @@ export class ModifyUsersComponent implements OnInit, AfterViewInit { } // checks if user is in users array by name - uidInUserList(user_uid) { + uidInUserList(user_uid: string) { for (let i = 0; i < this.users.length; i++) { if (this.users[i].uid === user_uid) { return true; @@ -134,7 +133,7 @@ export class ModifyUsersComponent implements OnInit, AfterViewInit { } // gets index of user in users array by name - indexOfUser(user_uid) { + indexOfUser(user_uid: string) { for (let i = 0; i < this.users.length; i++) { if (this.users[i].uid === user_uid) { return i; @@ -144,12 +143,12 @@ export class ModifyUsersComponent implements OnInit, AfterViewInit { } setUser(change_obj) { - this.postsService.changeUser(change_obj).subscribe(res => { + this.postsService.changeUser(change_obj).subscribe(() => { this.getArray(); }); } - manageUser(user_uid) { + manageUser(user_uid: string) { const index_of_object = this.indexOfUser(user_uid); const user_obj = this.users[index_of_object]; this.dialog.open(ManageUserComponent, { @@ -160,17 +159,17 @@ export class ModifyUsersComponent implements OnInit, AfterViewInit { }); } - removeUser(user_uid) { - this.postsService.deleteUser(user_uid).subscribe(res => { + removeUser(user_uid: string) { + this.postsService.deleteUser(user_uid).subscribe(() => { this.getArray(); - }, err => { + }, () => { this.getArray(); }); } createAndSortData() { // Sorts the data by last finished - this.users.sort((a, b) => b.name > a.name); + this.users.sort((a, b) => a.name.localeCompare(b.name)); const filteredData = []; for (let i = 0; i < this.users.length; i++) { @@ -188,7 +187,7 @@ export class ModifyUsersComponent implements OnInit, AfterViewInit { } }); - dialogRef.afterClosed().subscribe(success => { + dialogRef.afterClosed().subscribe(() => { this.getRoles(); }); } @@ -197,7 +196,7 @@ export class ModifyUsersComponent implements OnInit, AfterViewInit { this.dialogRef.close(); } - public openSnackBar(message: string, action: string = '') { + public openSnackBar(message: string, action = '') { this.snackBar.open(message, action, { duration: 2000, });