From 72f4bf79f9140c2b63f20ee94fa100e59923b94f Mon Sep 17 00:00:00 2001 From: Branko Milovanovic Date: Sun, 10 Jul 2022 01:29:08 +0200 Subject: [PATCH] Update --- client/src/app/app-routing.module.ts | 4 + client/src/app/app.module.ts | 4 + .../create-edit-faculty.component.html | 7 ++ .../create-edit-faculty.component.ts | 19 ++-- .../faculty-management.component.html | 9 +- .../faculty-management.component.ts | 2 +- .../board-admin/board-admin.component.html | 7 +- .../create-edit-student-service.component.css | 38 +++++++ ...create-edit-student-service.component.html | 49 +++++++++- .../create-edit-student-service.component.ts | 57 ++++++++++- .../student-service-management.component.html | 16 +-- .../student-service-management.component.ts | 4 +- ...create-edit-study-programme.component.html | 7 +- .../create-edit-study-programme.component.ts | 4 +- .../study-programme-management.component.html | 3 + .../study-programme-management.component.ts | 1 + .../subject-management.component.ts | 1 + .../topic-management.component.ts | 1 + .../create-edit-university.component.css | 38 +++++++ .../create-edit-university.component.html | 69 +++++++++++++ .../create-edit-university.component.spec.ts | 25 +++++ .../create-edit-university.component.ts | 86 ++++++++++++++++ .../university-management.component.css | 54 ++++++++++ .../university-management.component.html | 98 +++++++++++++++++++ .../university-management.component.spec.ts | 25 +++++ .../university-management.component.ts | 67 +++++++++++++ .../create-edit-year.component.html | 13 ++- .../create-edit-year.component.ts | 8 +- .../year-management.component.html | 26 +++-- .../year-management.component.ts | 2 +- client/src/app/model/faculty.ts | 4 +- client/src/app/model/student-service.ts | 6 +- client/src/app/model/university.ts | 4 +- client/src/app/model/year.ts | 2 +- .../university/university.service.spec.ts | 16 +++ .../service/university/university.service.ts | 37 +++++++ 36 files changed, 744 insertions(+), 69 deletions(-) create mode 100644 client/src/app/components/university-management/create-edit-university/create-edit-university.component.css create mode 100644 client/src/app/components/university-management/create-edit-university/create-edit-university.component.html create mode 100644 client/src/app/components/university-management/create-edit-university/create-edit-university.component.spec.ts create mode 100644 client/src/app/components/university-management/create-edit-university/create-edit-university.component.ts create mode 100644 client/src/app/components/university-management/university-management.component.css create mode 100644 client/src/app/components/university-management/university-management.component.html create mode 100644 client/src/app/components/university-management/university-management.component.spec.ts create mode 100644 client/src/app/components/university-management/university-management.component.ts create mode 100644 client/src/app/service/university/university.service.spec.ts create mode 100644 client/src/app/service/university/university.service.ts diff --git a/client/src/app/app-routing.module.ts b/client/src/app/app-routing.module.ts index 2562a11..5a4690e 100644 --- a/client/src/app/app-routing.module.ts +++ b/client/src/app/app-routing.module.ts @@ -42,6 +42,8 @@ import { CreateEditFileComponent } from './components/file-management/create-edi import { EvaluationInstrumentComponent } from './components/evaluation-instrument-management/evaluation-instrument.component'; import { CreateEditEvaluationInstrumentComponent } from './components/evaluation-instrument-management/create-edit-evaluation-instrument/create-edit-evaluation-instrument.component'; +import { UniversityManagementComponent } from './components/university-management/university-management.component'; +import { CreateEditUniversityComponent } from './components/university-management/create-edit-university/create-edit-university.component'; const routes: Routes = [ { path: 'home', component: HomeComponent }, { path: 'login', component: LoginComponent }, @@ -76,6 +78,8 @@ const routes: Routes = [ { path: 'teacheronrealizationtable/createeditteacheronrealization', component: CreateEditTeacherOnRealizationComponent }, { path: 'subjectrealizationtable', component: SubjectRealizationManagementComponent}, { path: 'subjectrealizationtable/createeditsubjectrealization', component: CreateEditSubjectRealizationComponent }, + { path: 'universitytable', component: UniversityManagementComponent}, + { path: 'universitytable/createedituniversity', component: CreateEditUniversityComponent }, { path: 'evaluationknowledgetable', component: EvaluationKnowledgeManagementComponent}, { path: 'evaluationknowledgetable/createeditevaluationknowledge', component: CreateEditEvaluationKnowledgeComponent }, { path: 'filetable', component: FileManagementComponent}, diff --git a/client/src/app/app.module.ts b/client/src/app/app.module.ts index d5c1b3f..c3700ce 100644 --- a/client/src/app/app.module.ts +++ b/client/src/app/app.module.ts @@ -66,6 +66,8 @@ import { CreateEditFileComponent } from './components/file-management/create-edi import { EvaluationInstrumentComponent } from './components/evaluation-instrument-management/evaluation-instrument.component'; import { CreateEditEvaluationInstrumentComponent } from './components/evaluation-instrument-management/create-edit-evaluation-instrument/create-edit-evaluation-instrument.component'; +import { UniversityManagementComponent } from './components/university-management/university-management.component'; +import { CreateEditUniversityComponent } from './components/university-management/create-edit-university/create-edit-university.component'; @NgModule({ declarations: [ AppComponent, @@ -104,6 +106,8 @@ import { CreateEditEvaluationInstrumentComponent } from './components/evaluation CreateEditTeacherOnRealizationComponent, SubjectRealizationManagementComponent, CreateEditSubjectRealizationComponent, + UniversityManagementComponent, + CreateEditUniversityComponent, EvaluationKnowledgeManagementComponent, CreateEditEvaluationKnowledgeComponent, FileManagementComponent, diff --git a/client/src/app/components/faculty-management/create-edit-faculty/create-edit-faculty.component.html b/client/src/app/components/faculty-management/create-edit-faculty/create-edit-faculty.component.html index 91d0662..bc38216 100644 --- a/client/src/app/components/faculty-management/create-edit-faculty/create-edit-faculty.component.html +++ b/client/src/app/components/faculty-management/create-edit-faculty/create-edit-faculty.component.html @@ -43,6 +43,13 @@ {{dean.user.name}} {{dean.user.surname}} + + + Universities + + {{university.name}} + + diff --git a/client/src/app/components/faculty-management/create-edit-faculty/create-edit-faculty.component.ts b/client/src/app/components/faculty-management/create-edit-faculty/create-edit-faculty.component.ts index 6033240..2baae5d 100644 --- a/client/src/app/components/faculty-management/create-edit-faculty/create-edit-faculty.component.ts +++ b/client/src/app/components/faculty-management/create-edit-faculty/create-edit-faculty.component.ts @@ -8,6 +8,7 @@ import { University } from 'src/app/model/university'; import { FacultyService } from 'src/app/service/faculty/faculty.service'; import { StudyProgrammeService } from 'src/app/service/study-programme/study-programme.service'; import { ProfessorService } from 'src/app/service/professor/professor.service'; +import { UniversityService } from 'src/app/service/university/university.service'; @Component({ selector: 'app-create-edit-faculty', @@ -17,7 +18,7 @@ import { ProfessorService } from 'src/app/service/professor/professor.service'; export class CreateEditFacultyComponent implements OnInit { deans: Professor[] = []; - // unis: University[] = []; + university: University[] = []; studyProgrammess: StudyProgramme[] = []; @@ -27,7 +28,7 @@ export class CreateEditFacultyComponent implements OnInit { "name" : new FormControl(null, [Validators.required]), "dean" : new FormControl(null, [Validators.required]), "studyProgrammes" : new FormControl(null), - // "university" : new FormControl(null, [Validators.required]) + "university" : new FormControl(null, [Validators.required]) }); formCreateEditAddress : FormGroup = new FormGroup({ @@ -38,7 +39,7 @@ export class CreateEditFacultyComponent implements OnInit { constructor(private route: ActivatedRoute, private location: Location, private studyProgrammeService: StudyProgrammeService, private professorService : ProfessorService, - private facultyService : FacultyService) { } + private facultyService : FacultyService, private universityService : UniversityService) { } ngOnInit(): void { if(window.location.href.indexOf("id") > -1) { @@ -51,6 +52,7 @@ export class CreateEditFacultyComponent implements OnInit { this.professorService.getAll().subscribe((professor: Professor[]) => { this.deans = professor; }) this.studyProgrammeService.getAll().subscribe((studyProgramme: StudyProgramme[]) => { this.studyProgrammess = studyProgramme; }) + this.universityService.getAll().subscribe((university: University[]) => { this.university = university; }) } @@ -62,7 +64,7 @@ export class CreateEditFacultyComponent implements OnInit { } else { this.formCreateEditFaculty.value.address = this.formCreateEditAddress.value; this.facultyService.update(this.formCreateEditFaculty.value.id, this.formCreateEditFaculty.value).subscribe(rank => { this.cancel(); }); - + } } else{ @@ -76,14 +78,7 @@ export class CreateEditFacultyComponent implements OnInit { this.location.back(); } - // comparator(v1: any, v2: any) { - // if(v1 && v2) - // { - // return v1["id"] == v2["id"] - // } else { - // return v1 == v2 - // } - // } + comparator(studyProgramme1: any, studyProgramme2: any) { return studyProgramme1 && studyProgramme2 ? studyProgramme1.id === studyProgramme2.id diff --git a/client/src/app/components/faculty-management/faculty-management.component.html b/client/src/app/components/faculty-management/faculty-management.component.html index b9371c8..71bc73f 100644 --- a/client/src/app/components/faculty-management/faculty-management.component.html +++ b/client/src/app/components/faculty-management/faculty-management.component.html @@ -44,7 +44,14 @@ Dean - {{faculty.dean.user.name}} + {{faculty.dean.user.name}} {{faculty.dean.user.surname}} + + + + + University + + {{faculty.university.name}} diff --git a/client/src/app/components/faculty-management/faculty-management.component.ts b/client/src/app/components/faculty-management/faculty-management.component.ts index 5551ac0..6fb527c 100644 --- a/client/src/app/components/faculty-management/faculty-management.component.ts +++ b/client/src/app/components/faculty-management/faculty-management.component.ts @@ -24,7 +24,7 @@ export class FacultyManagementComponent implements OnInit { @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator; @ViewChild(MatSort) sort: MatSort; - displayedColumns: string[] = ['id', 'address', 'name', 'dean', 'actions']; + displayedColumns: string[] = ['id', 'address', 'name', 'dean', 'university', 'actions']; dataSource: MatTableDataSource; columnsToDisplayWithExpand = [...this.displayedColumns]; expandedElement: Faculty | null; diff --git a/client/src/app/components/main-menu/board-admin/board-admin.component.html b/client/src/app/components/main-menu/board-admin/board-admin.component.html index 2232ea4..028d63c 100644 --- a/client/src/app/components/main-menu/board-admin/board-admin.component.html +++ b/client/src/app/components/main-menu/board-admin/board-admin.component.html @@ -66,6 +66,7 @@

ADMINISTRATOR MENU

+
@@ -81,12 +82,14 @@ -
+
+
+ - +
\ No newline at end of file diff --git a/client/src/app/components/student-service-management/create-edit-student-service/create-edit-student-service.component.css b/client/src/app/components/student-service-management/create-edit-student-service/create-edit-student-service.component.css index e69de29..374d1fd 100644 --- a/client/src/app/components/student-service-management/create-edit-student-service/create-edit-student-service.component.css +++ b/client/src/app/components/student-service-management/create-edit-student-service/create-edit-student-service.component.css @@ -0,0 +1,38 @@ +.card-container.card { + max-width: 700px !important; + padding: 40px 40px; + } + + .card { + background-color: #f7f7f7; + padding: 20px 25px 30px; + margin: 0 auto 25px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3); + box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3); + } + + .profile-img-card { + width: 96px; + height: 96px; + margin: 0 auto 10px; + display: block; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + } + + .example-full-width { + width: 100%; + } + + .mat-stepper-horizontal { + margin-top: 8px; + } + + .mat-form-field { + margin-top: 16px; + } \ No newline at end of file diff --git a/client/src/app/components/student-service-management/create-edit-student-service/create-edit-student-service.component.html b/client/src/app/components/student-service-management/create-edit-student-service/create-edit-student-service.component.html index ac1a30f..f13255e 100644 --- a/client/src/app/components/student-service-management/create-edit-student-service/create-edit-student-service.component.html +++ b/client/src/app/components/student-service-management/create-edit-student-service/create-edit-student-service.component.html @@ -1 +1,48 @@ -

create-edit-student-service works!

+
+
+
+

Add new student

+

Edit student (ID: {{formCreateEditStudent.value.id}})

+ +
+ +
+
+ + + Students + + {{s.indexNo}} + + + + + Study programme + + {{program.name}} + + + + + Year of study + +
+ {{yearofstudy.year | date:'yyyy-MM-dd'}} +
+
+ +
+ +
+ +
+ + + +
+
+ +
+
+
+
diff --git a/client/src/app/components/student-service-management/create-edit-student-service/create-edit-student-service.component.ts b/client/src/app/components/student-service-management/create-edit-student-service/create-edit-student-service.component.ts index 8069ac5..0f7ef0a 100644 --- a/client/src/app/components/student-service-management/create-edit-student-service/create-edit-student-service.component.ts +++ b/client/src/app/components/student-service-management/create-edit-student-service/create-edit-student-service.component.ts @@ -1,4 +1,15 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, ElementRef, Input, OnChanges, OnInit, SimpleChanges, ViewChild } from '@angular/core'; +import { FormControl, FormGroup, Validators } from '@angular/forms'; +import { ActivatedRoute } from '@angular/router'; +import { Student } from 'src/app/model/student'; +import { StudyProgramme } from 'src/app/model/study-programme'; +import { Year } from 'src/app/model/year'; +import { Location } from '@angular/common'; +import { YearService } from 'src/app/service/yearofstudy/year.service'; +import { StudyProgrammeService } from 'src/app/service/study-programme/study-programme.service'; +import { StudentOnTheYear } from 'src/app/model/student-on-the-year'; +import { StudentOnTheYearService } from 'src/app/service/student-on-the-year/student-on-the-year.service'; +import { StudentServiceService } from 'src/app/service/student-service/student-service.service'; @Component({ selector: 'app-create-edit-student-service', @@ -6,10 +17,52 @@ import { Component, OnInit } from '@angular/core'; styleUrls: ['./create-edit-student-service.component.css'] }) export class CreateEditStudentServiceComponent implements OnInit { + + student: StudentOnTheYear[]=[]; + programme: StudyProgramme[]=[]; + // selected: StudyProgramme[]=[]; - constructor() { } + constructor(private route: ActivatedRoute, private location: Location,private yearService: YearService, + private s:StudyProgrammeService, private stu:StudentOnTheYearService, private service: StudentServiceService) { } + + formCreateEditStudent : FormGroup = new FormGroup({ + "id" : new FormControl(null), + "student" : new FormControl(null, [Validators.required]), + "studyProgrammes" : new FormControl(null), + "year" : new FormControl(null) + }); ngOnInit(): void { + if(window.location.href.indexOf("id") > -1) { + this.formCreateEditStudent.patchValue(JSON.parse(this.route.snapshot.paramMap.get('studentForChange'))); + } + + this.stu.getAll().subscribe((sp: StudentOnTheYear[]) => { this.student = sp; }); + this.s.getAll().subscribe((sp: StudyProgramme[]) => { + console.log(sp); + this.programme = sp;}); + } + + saveStudent(){ + if(this.formCreateEditStudent.valid){ + if(this.formCreateEditStudent.value["id"] == null){ + this.service.create(this.formCreateEditStudent.value).subscribe(year => { this.cancel(); }); + } else { + this.service.update(this.formCreateEditStudent.value.id, this.formCreateEditStudent.value).subscribe(year => { this.cancel(); }); + } + } + }; + + cancel(){ + this.formCreateEditStudent.get("id")?.setValue(null); + this.formCreateEditStudent.reset(); + this.location.back(); + } + + comparator(year1: any, year2: any) { + return year1 && year2 + ? year1.id === year2.id + : year1 === year2; } } diff --git a/client/src/app/components/student-service-management/student-service-management.component.html b/client/src/app/components/student-service-management/student-service-management.component.html index c946016..8c7f06b 100644 --- a/client/src/app/components/student-service-management/student-service-management.component.html +++ b/client/src/app/components/student-service-management/student-service-management.component.html @@ -22,24 +22,24 @@ Index No - {{studentservice.studentOnTheYear.indexNo}} + {{studentservice.student.indexNo}} Study programme - {{studentservice.studyProgramme.name}} + {{studentservice.studyProgrammes.name}} - - + + Actions @@ -64,10 +64,10 @@
- +
+ Active @@ -40,6 +33,13 @@ No + + + Study programme + + {{year.studyProgramme.name}} + + Actions @@ -65,13 +65,9 @@
-
- Student({{sub.indexNo}}) -- - -
- Subject({{subj.naziv}}) -- - + Subject({{subj.id}}) -- + {{subj.naziv}}