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);
+ }
+
}