group training changes
This commit is contained in:
@@ -64,7 +64,8 @@
|
||||
"serve": {
|
||||
"builder": "@angular-devkit/build-angular:dev-server",
|
||||
"options": {
|
||||
"browserTarget": "app:build"
|
||||
"browserTarget": "app:build",
|
||||
"port": 4260
|
||||
},
|
||||
"configurations": {
|
||||
"production": {
|
||||
|
||||
@@ -1,37 +1,76 @@
|
||||
<div class="container" *ngIf="event">
|
||||
<h1>Jelentkezés</h1>
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-sm-12"><span class="title">Edzés típusa</span></div>
|
||||
<div class="col-lg-9 col-sm-12"><span>{{event.eventType.name}}</span></div>
|
||||
</div>
|
||||
<div class="row" *ngIf="event.trainer">
|
||||
<div class="col-lg-3 col-sm-12"><span class="title">Edző</span></div>
|
||||
<div class="col-lg-9 col-sm-12"><span>{{event?.trainer?.name}}</span></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-sm-12"><span class="title">Edzés kezdési időpontja</span></div>
|
||||
<div class="col-lg-9 col-sm-12"><span>{{event.start * 1000 | date:'yyyy.MM.dd HH:mm'}}</span></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-sm-12"><span class="title">Edzés vége</span></div>
|
||||
<div class="col-lg-9 col-sm-12"><span>{{event.end * 1000 | date:'yyyy.MM.dd HH:mm'}}</span></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-sm-12"><span class="title">Férőhelyek száma</span></div>
|
||||
<div class="col-lg-9 col-sm-12"><span>{{event.seat_count }}</span></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-sm-12"><span class="title">Terem</span></div>
|
||||
<div class="col-lg-9 col-sm-12"><span>{{event?.room?.name }}</span></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-9 col-sm-12 pt-2">
|
||||
<a *ngIf="mayRegister(event)" class="btn btn-primary " (click)="register(event)">Foglalás</a>
|
||||
<a *ngIf="mayCancel(event)" class="btn btn-primary" (click)="cancel(event)">Lemondás</a>
|
||||
<span *ngIf="!mayCancel(event) && noFreeSeat(event)">Már nincs szabad hely</span>
|
||||
<form [formGroup]="eventForm">
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-sm-12"><span class="title">Edzés típusa</span></div>
|
||||
<div class="col-lg-9 col-sm-12"><span>{{event.eventType.name}}</span></div>
|
||||
</div>
|
||||
<div class="col-lg-3 text-lg-right col-sm-12 pt-2">
|
||||
<a class="btn btn-primary " (click)="goBack(event)">Vissza</a>
|
||||
<div class="row" *ngIf="event.trainer">
|
||||
<div class="col-lg-3 col-sm-12"><span class="title">Edző</span></div>
|
||||
<div class="col-lg-9 col-sm-12"><span>{{event?.trainer?.name}}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-sm-12"><span class="title">Edzés kezdési időpontja</span></div>
|
||||
<div class="col-lg-9 col-sm-12"><span>{{event.start * 1000 | date:'yyyy.MM.dd HH:mm'}}</span></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-sm-12"><span class="title">Edzés vége</span></div>
|
||||
<div class="col-lg-9 col-sm-12"><span>{{event.end * 1000 | date:'yyyy.MM.dd HH:mm'}}</span></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-sm-12"><span class="title">Férőhelyek száma</span></div>
|
||||
<div class="col-lg-9 col-sm-12"><span>{{event.seat_count }}</span></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-sm-12"><span class="title">Terem</span></div>
|
||||
<div class="col-lg-9 col-sm-12"><span>{{event?.room?.name }}</span></div>
|
||||
</div>
|
||||
<h2 *ngIf="event.equipmentTypeAssignments.length > 0">
|
||||
Szükséges eszközök
|
||||
</h2>
|
||||
<ng-container *ngFor="let equipment of event.equipmentTypeAssignments; let i = index; ">
|
||||
<h3>{{equipment?.equipmentType?.name }}</h3>
|
||||
<div class="row">
|
||||
<div class="col-lg-12 col-sm-12">
|
||||
<div class="form-check">
|
||||
<input
|
||||
class="form-check-input"
|
||||
type="radio"
|
||||
name="{{'equipment'+equipment.id}}"
|
||||
formControlName="{{'equipment'+equipment.id}}"
|
||||
autocomplete="off"
|
||||
id="equipment_{{equipment.id}}_1"
|
||||
value="1"
|
||||
>
|
||||
<label class="form-check-label" for="equipment_{{equipment.id}}_1">
|
||||
Szeretném a terem saját eszközét használni
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input"
|
||||
type="radio"
|
||||
name="{{'equipment'+equipment.id}}"
|
||||
formControlName="{{'equipment'+equipment.id}}"
|
||||
autocomplete="off"
|
||||
id="equipment_{{equipment.id}}_0"
|
||||
value="0"
|
||||
>
|
||||
<label class="form-check-label" for="equipment_{{equipment.id}}_0">
|
||||
A saját eszközömet használom
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
<div class="row">
|
||||
<div class="col-lg-9 col-sm-12 pt-2">
|
||||
<a *ngIf="mayRegister(event)" class="btn btn-primary " (click)="register(event)">Foglalás</a>
|
||||
<a *ngIf="mayCancel(event)" class="btn btn-primary" (click)="cancel(event)">Lemondás</a>
|
||||
<span *ngIf="!mayCancel(event) && noFreeSeat(event)">Már nincs szabad hely</span>
|
||||
</div>
|
||||
<div class="col-lg-3 text-lg-right col-sm-12 pt-2">
|
||||
<a class="btn btn-primary " (click)="goBack(event)">Vissza</a>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import {Event, EventService} from "../../services/event.service";
|
||||
import {Event, EventService, RegisterEventRequest} from "../../services/event.service";
|
||||
import {ActivatedRoute} from "@angular/router";
|
||||
import {NavigationService} from "../../services/navigation.service";
|
||||
import {FormBuilder, FormGroup, Validators} from "@angular/forms";
|
||||
|
||||
@Component({
|
||||
selector: 'app-event-details',
|
||||
@@ -12,16 +13,31 @@ export class EventDetailsComponent implements OnInit {
|
||||
|
||||
event: Event;
|
||||
|
||||
eventForm: FormGroup;
|
||||
formControls: any;
|
||||
|
||||
constructor(
|
||||
private fb: FormBuilder,
|
||||
private eventService: EventService,
|
||||
private route: ActivatedRoute,
|
||||
private navigationService: NavigationService
|
||||
) { }
|
||||
|
||||
ngOnInit() {
|
||||
this.formControls = {
|
||||
idEvent: ["", [Validators.required ]],
|
||||
}
|
||||
let idEvent = +this.route.snapshot.paramMap.get('idEvent');
|
||||
this.eventService.findEvent(idEvent).subscribe(
|
||||
value => this.event = value
|
||||
value => {
|
||||
|
||||
this.event = value;
|
||||
this.event.equipmentTypeAssignments.forEach((assignment,index) =>{
|
||||
this.formControls['equipment'+assignment.id] = ["", [Validators.required ]]
|
||||
})
|
||||
this.eventForm = this.fb.group(this.formControls);
|
||||
this.eventForm.patchValue({"idEvent": this.event.id})
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -44,7 +60,24 @@ export class EventDetailsComponent implements OnInit {
|
||||
|
||||
register(event: Event) {
|
||||
console.info("register", event);
|
||||
this.eventService.register(event.id)
|
||||
console.info(this.eventForm.value);
|
||||
|
||||
let request :RegisterEventRequest= {
|
||||
idEvent: this.eventForm.value.idEvent,
|
||||
equipment: []
|
||||
|
||||
};
|
||||
this.event.equipmentTypeAssignments.forEach((value, index) => {
|
||||
if ( this.eventForm.value.hasOwnProperty('equipment'+value.id) ){
|
||||
if ( this.eventForm.value['equipment'+value.id] === "1"){
|
||||
request.equipment.push(value.id);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
console.info(request);
|
||||
|
||||
this.eventService.register(request)
|
||||
.subscribe(
|
||||
value => {},
|
||||
value => {},
|
||||
|
||||
@@ -23,8 +23,8 @@ export class EventService {
|
||||
return this.http.get(Endpoints.GET_EVENT( idEvent )) as Observable<Event>;
|
||||
}
|
||||
|
||||
register(idEvent: number ): Observable<Event> {
|
||||
return this.http.post(Endpoints.POST_EVENT_REGISTRATIONS_REGISTER( idEvent ),{}) as Observable<Event>;
|
||||
register(registerEventRequest: RegisterEventRequest ): Observable<Event> {
|
||||
return this.http.post(Endpoints.POST_EVENT_REGISTRATIONS_REGISTER( registerEventRequest.idEvent ),registerEventRequest) as Observable<Event>;
|
||||
}
|
||||
|
||||
findRegistrations(): Observable<Registration[]> {
|
||||
@@ -65,6 +65,20 @@ export interface Event {
|
||||
eventType: EventType;
|
||||
reservedAt: number;
|
||||
room: Room;
|
||||
equipmentTypeAssignments?: EquipmentTypeAssignment[];
|
||||
}
|
||||
|
||||
export interface EquipmentTypeAssignment {
|
||||
id: number;
|
||||
count: number;
|
||||
equipmentType: EquipmentType;
|
||||
|
||||
}
|
||||
|
||||
export interface EquipmentType {
|
||||
id: number;
|
||||
name: string;
|
||||
|
||||
}
|
||||
|
||||
export interface Room {
|
||||
@@ -93,3 +107,8 @@ export interface Registration {
|
||||
created_at: number;
|
||||
event: Event
|
||||
}
|
||||
|
||||
export interface RegisterEventRequest{
|
||||
idEvent: number;
|
||||
equipment: number[];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user