diff --git a/src/app/components/students/student-edit/student-edit.component.html b/src/app/components/students/student-edit/student-edit.component.html
index 7166535..596abbb 100644
--- a/src/app/components/students/student-edit/student-edit.component.html
+++ b/src/app/components/students/student-edit/student-edit.component.html
@@ -7,34 +7,36 @@
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
diff --git a/src/app/components/students/student-edit/student-edit.component.ts b/src/app/components/students/student-edit/student-edit.component.ts
index 61f4695..bda456f 100644
--- a/src/app/components/students/student-edit/student-edit.component.ts
+++ b/src/app/components/students/student-edit/student-edit.component.ts
@@ -12,6 +12,9 @@ export class StudentEditComponent implements OnInit {
@Input()
public student?: Student = undefined;
+ @Input()
+ public simple: boolean = false;
+
@Output()
public closing = new EventEmitter();
@@ -36,7 +39,7 @@ export class StudentEditComponent implements OnInit {
public save(): void {
if(this.student){
- this.studentsService.set(this.model).subscribe(_ => this.closing.emit());
+ this.studentsService.set(this.sanitize(this.model)).subscribe(_ => this.closing.emit());
} else {
this.closing.emit();
}
@@ -46,4 +49,20 @@ export class StudentEditComponent implements OnInit {
return this.student ? 'show' : 'hidden';
}
+ private sanitize(student: Student): Student {
+ if(student){
+ student.firstname ??= '';
+ student.lastname ??= '';
+ student.gender ??= 0;
+ student.street ??= '';
+ student.house ??= 0;
+ student.house_suffix ??= '';
+ student.zip ??= '';
+ student.city ??= '';
+ student.phone ??= '';
+ student.email ??= '';
+ }
+
+ return student;
+ }
}
diff --git a/src/app/components/visits/visits.component.html b/src/app/components/visits/visits.component.html
index d92f205..f97e283 100644
--- a/src/app/components/visits/visits.component.html
+++ b/src/app/components/visits/visits.component.html
@@ -6,6 +6,7 @@
{{courseVisit?.name}}
{{courseVisit?.date | date: 'dd.MM.yyyy'}}, {{courseVisit?.begin}} - {{courseVisit?.end}}
+
@@ -13,7 +14,7 @@
-
+
@@ -34,4 +35,6 @@
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/src/app/components/visits/visits.component.scss b/src/app/components/visits/visits.component.scss
index a5e5c9e..e67d05d 100644
--- a/src/app/components/visits/visits.component.scss
+++ b/src/app/components/visits/visits.component.scss
@@ -21,6 +21,15 @@ table {
margin: auto;
}
+button {
+ color: white;
+ font-size: 1.5em;
+}
+
+button.button-add {
+ background-color: #411ccc;
+}
+
a:link,
a:visited,
a:active {
diff --git a/src/app/components/visits/visits.component.ts b/src/app/components/visits/visits.component.ts
index 7baa20b..cc4e77e 100644
--- a/src/app/components/visits/visits.component.ts
+++ b/src/app/components/visits/visits.component.ts
@@ -1,8 +1,12 @@
+import { formatDate } from '@angular/common';
import { Component, OnInit } from '@angular/core';
import { MatTableDataSource } from '@angular/material/table';
import { CourseVisit } from 'src/app/models/course-visit';
+import { Student } from 'src/app/models/student';
+import { StudentEnrollment } from 'src/app/models/student-enrollment';
import { StudentVisit } from 'src/app/models/student-visit';
import { Visit } from 'src/app/models/visit';
+import { EnrollService } from 'src/app/services/enroll/enroll.service';
import { VisitsService } from 'src/app/services/visits/visits.service';
@Component({
@@ -16,7 +20,10 @@ export class VisitsComponent implements OnInit {
public courseVisit?: CourseVisit;
public dataSource = new MatTableDataSource();
- public constructor(private visitsService: VisitsService) { }
+ public addedStudent?: Student;
+
+
+ public constructor(private visitsService: VisitsService, private enrollService: EnrollService) { }
public ngOnInit() {
this.getData();
@@ -37,7 +44,7 @@ export class VisitsComponent implements OnInit {
}
private getData(): void {
- //const now = new Date('2022-11-03 19:17:00');
+ //const now = new Date('2023-04-24 16:01:01');
const now = new Date();
this.visitsService.get(now)
@@ -52,4 +59,20 @@ export class VisitsComponent implements OnInit {
});
}
+ public add(): void {
+ this.addedStudent = {};
+ }
+
+ public commit(): void {
+ this.enrollService.set(
+ -1,
+ [{
+ cid: this.courseVisit?.cid,
+ begin: formatDate(new Date(), 'yyyy-MM-dd', 'en-US'),
+ end: formatDate(new Date('2100-01-01'), 'yyyy-MM-dd', 'en-US')
+ }]).subscribe(_ => {
+ this.addedStudent = undefined;
+ this.getData();
+ });
+ }
}
diff --git a/src/app/services/enroll/enroll.service.ts b/src/app/services/enroll/enroll.service.ts
index d7bf5a1..cdb0646 100644
--- a/src/app/services/enroll/enroll.service.ts
+++ b/src/app/services/enroll/enroll.service.ts
@@ -3,7 +3,6 @@ import { HttpClient, HttpParams } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { Enrollment } from 'src/app/models/enrollment';
-import { Student } from 'src/app/models/student';
import { StudentEnrollment } from 'src/app/models/student-enrollment';
import { environment } from 'src/environments/environment';