diff --git a/frontend/src/app/components/create-group/create-group.component.ts b/frontend/src/app/components/create-group/create-group.component.ts index 075e2671a4f581859cfa445c6945a3c87579388c..85980ddd36ba53e41e1c7925d4818490715ad047 100644 --- a/frontend/src/app/components/create-group/create-group.component.ts +++ b/frontend/src/app/components/create-group/create-group.component.ts @@ -2,8 +2,9 @@ import {Component, Input, OnInit} from '@angular/core'; import {FacultyDO} from "../../types/facultyDO"; import {ModulesDO} from "../../types/modulesDO"; import {GroupDO} from "../../types/groupDO"; -import {ActivatedRoute} from "@angular/router"; +import {ActivatedRoute, Router} from "@angular/router"; import {DataProviderService} from "../../services/data-provider.service"; +import {ResponseType} from "../../types/response-type"; @Component({ selector: 'app-create-group-page', @@ -20,8 +21,9 @@ export class CreateGroupComponent implements OnInit { selectedFaculty:FacultyDO; selectedGroup: GroupDO; newGroup: GroupDO; + errorMessage: string; - constructor(private route: ActivatedRoute,private dataService: DataProviderService) {} + constructor(private router: Router, private route: ActivatedRoute,private dataService: DataProviderService) {} ngOnInit(): void { this.getAllFaculties(); @@ -42,8 +44,7 @@ export class CreateGroupComponent implements OnInit { } clickToCreate(): void { - this.newGroup = new GroupDO(); - this.createGroup(this.newGroup); + this.createGroup(); } getAllFaculties() { @@ -70,10 +71,19 @@ export class CreateGroupComponent implements OnInit { }) } - createGroup(group: GroupDO) { - this.route.params.subscribe((params) => { - this.dataService.createGroupData(group).then((response) => { - }) - }) + createGroup() { + let newID = this.modules.length + 1; + let moduleId = this.selectedModule.getId; + this.newGroup = new GroupDO(newID, moduleId, '', ''); + this.dataService.createGroupData(this.newGroup).then((group) => { + this.router.navigateByUrl('/new', {state: {group: this.newGroup}}); + }, (error) => { + if(error.type === ResponseType.CONNECTION_PROBLEM) { + this.errorMessage = 'Connection Problem'; + } else { + this.errorMessage = 'Unknown error happened!'; + } + } + ); } } diff --git a/frontend/src/app/types/groupDO.ts b/frontend/src/app/types/groupDO.ts index 65a9d9741d68ab684d0547cdfdeef1cec74cbb50..2b99a4c4f1bf5f33f46c1b8ff8f48a1b3d151b97 100644 --- a/frontend/src/app/types/groupDO.ts +++ b/frontend/src/app/types/groupDO.ts @@ -1,6 +1,15 @@ export class GroupDO { - id: number; - modulid: number; - status: string; - date: string; + + private id: number; + private modulid: number; + private status: string; + private date: string; + + constructor(private iD: number, private moduleId: + number, private statuS: string, datE: string) { + this.id = iD; + this.modulid = moduleId; + this.status = statuS; + this.date = datE; + } } diff --git a/frontend/src/app/types/modulesDO.ts b/frontend/src/app/types/modulesDO.ts index 20656760db26ec2232d5bc9f405fe54adfc755c1..54d8b186cd09fc8f53bf36d80f1a6ebef3dc95b8 100644 --- a/frontend/src/app/types/modulesDO.ts +++ b/frontend/src/app/types/modulesDO.ts @@ -1,4 +1,9 @@ export class ModulesDO { - id: number; + + private id: number; titel: string; + + get getId(): number { + return this.id; + } }