improve event deletion and event registration cancelation

This commit is contained in:
Roland Schneider
2021-10-08 23:15:49 +02:00
parent 09f329050f
commit f0bf8684e4
12 changed files with 96 additions and 68 deletions

View File

@@ -1,6 +1,6 @@
import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
import {Event} from "../../services/event.service";
import { MonthCalendarEvent} from "../month-calendar/month-calendar.component";
import {MonthCalendarEvent} from "../month-calendar/month-calendar.component";
@Component({
selector: 'app-month-calendar-event',
@@ -38,7 +38,7 @@ export class MonthCalendarEventComponent implements OnInit {
}
maySelect() {
return this.isRegistered() ? true : this.event.hasFreeSeats;
return this.isRegistered() ? true : this.event.hasFreeSeats;
}
isRegistered() {
@@ -46,27 +46,32 @@ export class MonthCalendarEventComponent implements OnInit {
}
isDisabled() {
return !this.isRegistered() && !this.event.hasFreeSeats;
return !this.isRegistered() && !this.event.hasFreeSeats;
}
getEventThemeClass(): string {
const theme = this.event?.eventType?.theme;
let styleClass = "bg-dark";
if (this.isDisabled()) {
if (this.event.deleted_at) {
styleClass = "bg-secondary";
} else {
if (theme != null && theme.length > 0) {
if (this.isRegistered()) {
styleClass += " event-theme-active-" + theme;
} else {
styleClass += " event-theme-normal-" + theme;
}
if (this.isDisabled()) {
styleClass = "bg-secondary";
} else {
if (this.isRegistered()) {
styleClass += " bg-primary";
if (theme != null && theme.length > 0) {
if (this.isRegistered()) {
styleClass += " event-theme-active-" + theme;
} else {
styleClass += " event-theme-normal-" + theme;
}
} else {
styleClass += " bg-dark";
if (this.isRegistered()) {
styleClass += " bg-primary";
} else {
styleClass += " bg-dark";
}
}
}
}

View File

@@ -29,6 +29,10 @@
<div class="col-lg-3 col-12 app-font-weight-bold"><span class="title">Terem</span></div>
<div class="col-lg-6 col-12"><span>{{event?.room?.name }}</span></div>
</div>
<div class="row" *ngIf="event?.deleted_at">
<div class="col-lg-3 col-12 app-font-weight-bold"><span class="title">Törölve</span></div>
<div class="col-lg-6 col-12"><span>{{ event.deleted_at | eventDate:'datetime' }}</span></div>
</div>
</div>
<div class="row">
<div class=" col-lg-6 col-sm-12 pt-2">

View File

@@ -49,7 +49,7 @@ export class EventDetailsComponent implements OnInit {
}
mayRegister(event: Event) {
return event.hasFreeSeats && event.registrations.length == 0;
return event.hasFreeSeats && !event.deleted_at && event.registrations.length == 0;
}
mayCancel(event: Event) {

View File

@@ -58,6 +58,7 @@ export interface Event {
name: string;
start: number;
end: number;
deleted_at?: number;
trainer?: Trainer;
seat_count: number;
reservationCount: number;