Skip to content

Commit 7b654dd

Browse files
committed
Update booking calendar component to utilize session service for admin checks
1 parent bc7ba25 commit 7b654dd

File tree

7 files changed

+9
-31
lines changed

7 files changed

+9
-31
lines changed

ui/src/app/calendar/booking-calendar.component.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import timeGridPlugin from '@fullcalendar/timegrid';
2424
import { TranslateService } from '@ngx-translate/core';
2525
import { DateTime } from 'luxon';
2626
import type { Accessibility, ExamRoom } from 'src/app/reservation/reservation.model';
27+
import { SessionService } from 'src/app/session/session.service';
2728
import { CalendarService } from './calendar.service';
2829

2930
@Component({
@@ -55,19 +56,22 @@ export class BookingCalendarComponent implements OnInit, AfterViewInit {
5556
room = input.required<ExamRoom>();
5657
visible = input(false);
5758
passwordVerified = input(false);
58-
isAdmin = input(false);
5959
minDate = input<Date>();
6060
maxDate = input<Date>();
6161
accessibilities = input<Accessibility[]>([]);
6262

6363
calendarOptions = signal<CalendarOptions>({});
6464
searchStart = DateTime.now().startOf('week').toISO();
6565
searchEnd = DateTime.now().endOf('week').toISO();
66+
isAdmin = signal(false);
6667

6768
private translate = inject(TranslateService);
6869
private Calendar = inject(CalendarService);
70+
private Session = inject(SessionService);
6971

7072
constructor() {
73+
this.isAdmin.set(this.Session.getUser().isAdmin);
74+
7175
this.calendarOptions.set({
7276
plugins: [luxon2Plugin, timeGridPlugin],
7377
initialView: 'timeGridWeek',

ui/src/app/calendar/helpers/slot-picker.component.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,6 @@ <h2 class="calendar-phase-title">{{ sequenceNumber }}. {{ 'i18n_calendar_phase_2
9696
[accessibilities]="accessibilities"
9797
[visible]="selectedRoom !== undefined"
9898
[passwordVerified]="passwordVerified()"
99-
[isAdmin]="isAdmin"
10099
>
101100
</xm-booking-calendar>
102101
</div>

ui/src/app/calendar/helpers/slot-picker.component.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import { CalendarService } from 'src/app/calendar/calendar.service';
3030
import { PasswordPromptComponent } from 'src/app/calendar/helpers/password-prompt.component';
3131
import { MaintenancePeriod } from 'src/app/facility/facility.model';
3232
import type { Accessibility, ExamRoom } from 'src/app/reservation/reservation.model';
33-
import { SessionService } from 'src/app/session/session.service';
3433
import { updateList } from 'src/app/shared/miscellaneous/helpers';
3534
import { AccessibilityPickerComponent } from './accessibility-picker.component';
3635
import { SelectedRoomComponent } from './selected-room.component';
@@ -86,11 +85,6 @@ export class SlotPickerComponent implements OnInit, OnChanges {
8685
private route = inject(ActivatedRoute);
8786
private toast = inject(ToastrService);
8887
private Calendar = inject(CalendarService);
89-
private session = inject(SessionService);
90-
91-
get isAdmin(): boolean {
92-
return this.session.getUser()?.isAdmin ?? false;
93-
}
9488

9589
ngOnInit() {
9690
this.examId.set(Number(this.route.snapshot.paramMap.get('id')));

ui/src/app/facility/rooms/availability.component.html

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,6 @@
5858

5959
<div class="row">
6060
<div class="col-md-12">
61-
<xm-booking-calendar
62-
(moreEventsNeeded)="refresh($event)"
63-
[room]="room"
64-
[visible]="true"
65-
[isAdmin]="isAdmin"
66-
></xm-booking-calendar>
61+
<xm-booking-calendar (moreEventsNeeded)="refresh($event)" [room]="room" [visible]="true"></xm-booking-calendar>
6762
</div>
6863
</div>

ui/src/app/facility/rooms/availability.component.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import type { OpeningHours } from 'src/app/calendar/calendar.model';
1515
import { CalendarService } from 'src/app/calendar/calendar.service';
1616
import { Availability } from 'src/app/facility/facility.model';
1717
import type { ExamRoom, ExceptionWorkingHours } from 'src/app/reservation/reservation.model';
18-
import { SessionService } from 'src/app/session/session.service';
1918
import { RoomService } from './room.service';
2019

2120
@Component({
@@ -40,11 +39,6 @@ export class AvailabilityComponent implements OnInit {
4039
private toast = inject(ToastrService);
4140
private roomService = inject(RoomService);
4241
private calendar = inject(CalendarService);
43-
private session = inject(SessionService);
44-
45-
get isAdmin(): boolean {
46-
return this.session.getUser()?.isAdmin ?? false;
47-
}
4842

4943
ngOnInit() {
5044
if (!this.room) {

ui/src/app/shared/select/dropdown-select.component.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
//
33
// SPDX-License-Identifier: EUPL-1.2
44

5-
import { NgClass, SlicePipe } from '@angular/common';
5+
import { NgClass } from '@angular/common';
66
import type { OnChanges, OnInit } from '@angular/core';
77
import { Component, EventEmitter, Input, Output } from '@angular/core';
88
import { FormsModule } from '@angular/forms';
@@ -61,16 +61,7 @@ import { Option } from './select.model';
6161
}
6262
</div>
6363
</div>`,
64-
imports: [
65-
NgbDropdown,
66-
NgbDropdownToggle,
67-
NgClass,
68-
NgbDropdownMenu,
69-
FormsModule,
70-
NgbDropdownItem,
71-
SlicePipe,
72-
TranslateModule,
73-
],
64+
imports: [NgbDropdown, NgbDropdownToggle, NgClass, NgbDropdownMenu, FormsModule, NgbDropdownItem, TranslateModule],
7465
styleUrl: './dropdown-select.component.scss',
7566
})
7667
export class DropdownSelectComponent<V, I> implements OnInit, OnChanges {

ui/tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
"baseUrl": ".",
66
"outDir": "./dist/out-tsc",
77
"forceConsistentCasingInFileNames": true,
8+
"skipLibCheck": true,
89
"esModuleInterop": true,
910
"strict": true,
1011
"noImplicitOverride": true,

0 commit comments

Comments
 (0)