From 0f6c5490e48614c8bd085d621a5b8a9884b8bcf6 Mon Sep 17 00:00:00 2001 From: "leon.hoppe" Date: Tue, 2 May 2023 14:22:13 +0200 Subject: [PATCH] fixed date calculation on home page + added multi Q support in units --- .../Controllers/UnitsController.cs | 2 +- .../src/app/pages/home/home.page.ts | 4 +- .../pages/substitution/substitution.page.html | 43 ++++++++++++++++++- .../pages/substitution/substitution.page.ts | 21 ++++++++- 4 files changed, 65 insertions(+), 5 deletions(-) diff --git a/BetterIServ.Backend/Controllers/UnitsController.cs b/BetterIServ.Backend/Controllers/UnitsController.cs index 48619aa..f4c84a0 100644 --- a/BetterIServ.Backend/Controllers/UnitsController.cs +++ b/BetterIServ.Backend/Controllers/UnitsController.cs @@ -68,7 +68,7 @@ public class UnitsController : ControllerBase { substitution.Classes = result; } else { - substitution.Classes = new[] { classes }; + substitution.Classes = (classes?.Length == 3 ? new[] { "Q1", "Q2" } : new[] { classes })!; } data.Substitutions.Add(substitution); diff --git a/BetterIServ.Mobile/src/app/pages/home/home.page.ts b/BetterIServ.Mobile/src/app/pages/home/home.page.ts index cc6708c..7a645aa 100644 --- a/BetterIServ.Mobile/src/app/pages/home/home.page.ts +++ b/BetterIServ.Mobile/src/app/pages/home/home.page.ts @@ -53,7 +53,7 @@ export class HomePage implements OnInit { this.lessons = timetable[scheduleDay].filter(lesson => lesson != undefined); } - if (this.dateIsPast(unitsData.date, new Date())) { + if (this.dateIsPast(unitsData.date, this.today)) { unitsData = await this.units.getSubstitutionPlan("tomorrow"); } this.subs = unitsData.substitutions?.filter(subs => subs.classes.includes(this.classData.class)); @@ -65,7 +65,7 @@ export class HomePage implements OnInit { } private dateIsPast(first: Date, second: Date): boolean { - return first.setHours(0, 0, 0, 0) <= second.setHours(0, 0, 0, 0); + return first.setHours(0, 0, 0, 0) < second.setHours(0, 0, 0, 0); } } diff --git a/BetterIServ.Mobile/src/app/pages/substitution/substitution.page.html b/BetterIServ.Mobile/src/app/pages/substitution/substitution.page.html index 714f9de..464084d 100644 --- a/BetterIServ.Mobile/src/app/pages/substitution/substitution.page.html +++ b/BetterIServ.Mobile/src/app/pages/substitution/substitution.page.html @@ -3,8 +3,49 @@ - Vertretungsplan {{data?.date.toLocaleDateString()}} + Vertretungsplan {{data?.date.toLocaleDateString()}} + + + + + + + Abbrechen + + Fake Vertretung + + Fertig + + + + + + Typ + + Entfall + Stillarbeit + + + + Kurs + + + {{course}} + + + + + Stunden + + + + Lehrer + + + + + diff --git a/BetterIServ.Mobile/src/app/pages/substitution/substitution.page.ts b/BetterIServ.Mobile/src/app/pages/substitution/substitution.page.ts index 191828a..d6878e5 100644 --- a/BetterIServ.Mobile/src/app/pages/substitution/substitution.page.ts +++ b/BetterIServ.Mobile/src/app/pages/substitution/substitution.page.ts @@ -3,7 +3,7 @@ import {CommonModule} from '@angular/common'; import {FormsModule} from '@angular/forms'; import {AlertController, IonicModule} from '@ionic/angular'; import {UnitsService} from "../../api/units.service"; -import {UnitsData} from "../../entities/substitution"; +import {Substitution, UnitsData} from "../../entities/substitution"; import {IServService} from "../../api/iserv.service"; import {SubstitutionComponent} from "../../components/substitution/substitution.component"; import {StorageService} from "../../api/storage.service"; @@ -85,4 +85,23 @@ export class SubstitutionPage implements OnInit { return this.courses.includes(course); } + public addFakeSubstitution(event: any) { + if (event.detail.role != "confirm") return; + const data = event.detail.data as {course: string, type: string, lessons: string, teacher: string}; + const sub: Substitution = { + classes: [this.currentClass], + lesson: data.course, + times: data.lessons.split(" - ").map(Number), + type: data.type, + teacher: data.teacher, + representative: "", + newLesson: "", + room: "---", + description: "" + }; + + this.data.substitutions.push(sub); + this.data.substitutions.sort((a, b) => a.times[0] < b.times[0] ? -1 : 1); + } + }