From b7f9ee572eaf5fde9fd105276d67f505a4547a1f Mon Sep 17 00:00:00 2001 From: Jan Szumotalski Date: Tue, 6 May 2025 21:45:53 +0200 Subject: [PATCH] fix: made user room number a string for added flexibility --- .../account-mgmt/user-edit/user-edit.component.ts | 8 +++----- src/app/admin-view/admin-comm.service.ts | 8 ++++---- src/app/admin-view/grades/grades.component.ts | 6 +++--- .../admin-view/grades/summary/summary.component.ts | 2 +- .../notifications/notifications.component.html | 2 +- .../notifications/notifications.component.ts | 4 ++-- src/app/admin-view/settings/settings.component.ts | 4 ++-- .../room-chooser/room-chooser.component.ts | 10 +++++----- src/app/services/auth.client.ts | 6 +----- src/app/services/local-storage.service.ts | 11 ++++++----- src/app/types/key.ts | 2 +- src/app/types/notification.ts | 2 +- 12 files changed, 30 insertions(+), 35 deletions(-) diff --git a/src/app/admin-view/account-mgmt/user-edit/user-edit.component.ts b/src/app/admin-view/account-mgmt/user-edit/user-edit.component.ts index a578741..76bdc20 100644 --- a/src/app/admin-view/account-mgmt/user-edit/user-edit.component.ts +++ b/src/app/admin-view/account-mgmt/user-edit/user-edit.component.ts @@ -23,7 +23,7 @@ export class UserEditComponent { admin: 0 } } - this.groups = data.groups + this.groups = data.groups ? data.groups : [] var flags: Array = [] if (data.user.admin) { if ((data.user.admin & 1) == 1) flags.push(1) @@ -45,13 +45,11 @@ export class UserEditComponent { }) } - protected editUser() { - console.log(this.form.value); - + protected editUser() { this.dialogRef.close({ fname: this.form.get('fname')?.value, surname: this.form.get('surname')?.value, - room: this.form.get('room')?.value.length == 0 ? undefined : this.form.get('room')?.value, + room: this.form.get('room')?.value, uname: this.form.get('uname')?.value, groups: this.form.get('groups')?.value, flags: (() => { diff --git a/src/app/admin-view/admin-comm.service.ts b/src/app/admin-view/admin-comm.service.ts index 2ce5674..b30e119 100644 --- a/src/app/admin-view/admin-comm.service.ts +++ b/src/app/admin-view/admin-comm.service.ts @@ -218,10 +218,10 @@ export class AdminCommService { //#region Clean clean = { getConfig: () => { - return this.http.get<{rooms: number[], things: string[]}>(environment.apiEndpoint+`/admin/clean/config`, {withCredentials: true}) + return this.http.get<{rooms: string[], things: string[]}>(environment.apiEndpoint+`/admin/clean/config`, {withCredentials: true}) }, - getClean: (date: moment.Moment, room: number) => { - return this.http.get<{_id: string, date: string, grade: number, gradeDate: string, notes: {label: string, weight: number}[], room: number, tips: string} | null>(environment.apiEndpoint+`/admin/clean/${date.toISOString()}/${room}`, {withCredentials: true}) + getClean: (date: moment.Moment, room: string) => { + return this.http.get<{_id: string, date: string, grade: number, gradeDate: string, notes: {label: string, weight: number}[], room: string, tips: string} | null>(environment.apiEndpoint+`/admin/clean/${date.toISOString()}/${room}`, {withCredentials: true}) }, postClean: (obj: Object) => { return this.http.post(environment.apiEndpoint+`/admin/clean/`, obj, {withCredentials: true}) @@ -231,7 +231,7 @@ export class AdminCommService { }, summary: { getSummary: (start: moment.Moment, end: moment.Moment) => { - return this.http.get<{room: number, avg: number}[]>(environment.apiEndpoint+`/admin/clean/summary/${start.toISOString()}/${end.toISOString()}`, {withCredentials: true}) + return this.http.get<{room: string, avg: number}[]>(environment.apiEndpoint+`/admin/clean/summary/${start.toISOString()}/${end.toISOString()}`, {withCredentials: true}) } }, attendence: { diff --git a/src/app/admin-view/grades/grades.component.ts b/src/app/admin-view/grades/grades.component.ts index a2e90f0..76778dd 100644 --- a/src/app/admin-view/grades/grades.component.ts +++ b/src/app/admin-view/grades/grades.component.ts @@ -15,8 +15,8 @@ import { AttendenceComponent } from './attendence/attendence.component'; styleUrl: './grades.component.scss' }) export class GradesComponent implements OnInit, OnDestroy { - rooms!: number[] - room: number = 0; + rooms!: string[] + room: string = "0"; date: moment.Moment; grade: number = 6 gradeDate?: moment.Moment; @@ -158,7 +158,7 @@ export class GradesComponent implements OnInit, OnDestroy { }) } - roomNumber(value: number) { + roomNumber(value: string) { this.room = value this.downloadData() } diff --git a/src/app/admin-view/grades/summary/summary.component.ts b/src/app/admin-view/grades/summary/summary.component.ts index 7849bed..5f8b10d 100644 --- a/src/app/admin-view/grades/summary/summary.component.ts +++ b/src/app/admin-view/grades/summary/summary.component.ts @@ -14,7 +14,7 @@ import { MatSort } from '@angular/material/sort'; }) export class SummaryComponent implements OnInit, OnDestroy { - data: MatTableDataSource<{room: number, avg: number}> = new MatTableDataSource<{room: number, avg: number}>(); + data: MatTableDataSource<{room: string, avg: number}> = new MatTableDataSource<{room: string, avg: number}>(); collumns = ['room', 'avg'] dateSelector = this.fb.group({ diff --git a/src/app/admin-view/notifications/notifications.component.html b/src/app/admin-view/notifications/notifications.component.html index 39fdb41..0be7e21 100644 --- a/src/app/admin-view/notifications/notifications.component.html +++ b/src/app/admin-view/notifications/notifications.component.html @@ -11,7 +11,7 @@ Pokój - + diff --git a/src/app/admin-view/notifications/notifications.component.ts b/src/app/admin-view/notifications/notifications.component.ts index 1a46aca..7b98fda 100644 --- a/src/app/admin-view/notifications/notifications.component.ts +++ b/src/app/admin-view/notifications/notifications.component.ts @@ -27,7 +27,7 @@ export class NotificationsComponent implements OnInit { form = new FormGroup({ recp: new FormGroup({ uname: new FormControl(''), - room: new FormControl(null), + room: new FormControl(null), group: new FormControl(''), type: new FormControl<"all" | "room" | "uname" | "group">('uname', {nonNullable: true}) }), @@ -47,7 +47,7 @@ interface NotificationForm { title: FormControl; recp: FormGroup<{ uname: FormControl; - room: FormControl; + room: FormControl; group: FormControl; type: FormControl<"all" | "room" | "uname" | "group">; }> diff --git a/src/app/admin-view/settings/settings.component.ts b/src/app/admin-view/settings/settings.component.ts index bae5a7c..c16c921 100644 --- a/src/app/admin-view/settings/settings.component.ts +++ b/src/app/admin-view/settings/settings.component.ts @@ -19,7 +19,7 @@ export class SettingsComponent implements OnInit { } saveRoom(event: string[]) { - this.usettings.rooms = event.map(Number) + this.usettings.rooms = event this.send() } saveCleanThings(event: string[]) { @@ -61,6 +61,6 @@ export class SettingsComponent implements OnInit { export interface IUSettings { keyrooms: string[]; - rooms: number[]; + rooms: string[]; cleanThings: string[]; } \ No newline at end of file diff --git a/src/app/commonComponents/room-chooser/room-chooser.component.ts b/src/app/commonComponents/room-chooser/room-chooser.component.ts index 15c3c7d..b904c7e 100644 --- a/src/app/commonComponents/room-chooser/room-chooser.component.ts +++ b/src/app/commonComponents/room-chooser/room-chooser.component.ts @@ -6,7 +6,7 @@ import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from styleUrl: './room-chooser.component.scss' }) export class RoomChooserComponent implements OnChanges { - @Input() rooms: number[] = [] + @Input() rooms: string[] = [] private _roomIndex: number = 0; public get roomIndex(): number { return this._roomIndex; @@ -17,15 +17,15 @@ export class RoomChooserComponent implements OnChanges { } this._roomIndex = value; } - private _room: number = this.rooms[this.roomIndex]; - protected get room_1(): number { + private _room: string = this.rooms[this.roomIndex]; + protected get room_1() { return this._room; } - protected set room_1(value: number) { + protected set room_1(value) { this.room.emit(value) this._room = value; } - @Output() room: EventEmitter = new EventEmitter(); + @Output() room: EventEmitter = new EventEmitter(); ngOnChanges(changes: SimpleChanges): void { if (changes["rooms"] && this.rooms) { diff --git a/src/app/services/auth.client.ts b/src/app/services/auth.client.ts index e7be8a0..61a778a 100644 --- a/src/app/services/auth.client.ts +++ b/src/app/services/auth.client.ts @@ -37,11 +37,7 @@ export class AuthClient { this.ls.capFlag = data.features document.location.reload() } - if (data.room) { - this.ls.room = data.room - } else { - this.ls.room = undefined - } + this.ls.room = data.room if (data.menu.defaultItems) { this.ls.defaultItems = data.menu.defaultItems } diff --git a/src/app/services/local-storage.service.ts b/src/app/services/local-storage.service.ts index 52ab5ba..a669f11 100644 --- a/src/app/services/local-storage.service.ts +++ b/src/app/services/local-storage.service.ts @@ -20,19 +20,20 @@ export class LocalStorageService { public hasRoom() { if (localStorage.getItem('room')) { return true + } else { + return false } - return false } get room() { - return Number.parseInt(localStorage.getItem('room')!) + return localStorage.getItem('room')! } - set room(value: number | undefined) { - if (value == undefined) { + set room(value: string) { + if (value == "") { localStorage.removeItem('room') } else { - localStorage.setItem('room', value.toString()) + localStorage.setItem('room', value) } } diff --git a/src/app/types/key.ts b/src/app/types/key.ts index 18d3d50..fbfc299 100644 --- a/src/app/types/key.ts +++ b/src/app/types/key.ts @@ -5,7 +5,7 @@ interface UKey { interface AKey { room: string; - whom?: {_id: string, uname: string, room: number}; + whom?: {_id: string, uname: string, room: string}; borrow?: moment.Moment; tb?: moment.Moment; } diff --git a/src/app/types/notification.ts b/src/app/types/notification.ts index 4ee482f..b654ee0 100644 --- a/src/app/types/notification.ts +++ b/src/app/types/notification.ts @@ -3,7 +3,7 @@ export interface Notification { title: string; recp: { uname: string | null; - room: number | null; + room: string | null; type: "all" | "room" | "uname" } }