tkrebs / ep3-bs

Online booking system for courts
http://bs.hbsys.de/
MIT License
180 stars 108 forks source link

Termine farblich markieren, aber nicht blockieren #548

Open JonesHH opened 2 years ago

JonesHH commented 2 years ago

Hi, ich möchte feste Trainingszeiten von Mannschaften farblich markieren. Die Teilnehmer sollen sich aber trotzdem noch einbuchen können. Ist das möglich oder hat jemand einen Hack dazu?

gruss jones

cbits68 commented 2 years ago

Hi Jones, generell lassen sich feste Trainingszeiten am Besten über Abo Buchungen einstellen. Abo's sind ja auch farblich schon anders als Einzelbuchungen oder Veranstaltungen. Abos für Trainingszeiten farblich anders darzustellen als andere Abos würde eine größere Code Anpassung erforderlich machen, denn dann müsstest Du die Farbe anhand des Buchenden Nutzers definieren. Wie Du das mit den Mehrfachbuchungen realisieren willst, kann ich mir auch noch nicht vorstellen. Das müsstest Du dann ja in den Platz Einstellungen aktivieren und das gilt dann für Alle Buchungen auf diesem Platz. Wenn Du dann eine Kapazität pro Platz größer 1 einstellst, dann können ja auch unterschiedliche Mitglieder den selben Platz buchen, obwohl sie gar nicht zusammen spielen wollen ... Veranstaltungen lassen es derzeit leider noch nicht zu, dass sich Teilnehmer dazu anmelden können. Das wäre natürlich die eleganteste Lösung. Ist meines Wissens auch schon länger ein Feature Request.

Gruß aus Großbeeren Andreas

JonesHH commented 2 years ago

Hallo Andreas, immer fleissig dabei und mit eigenem fork, wie ich sehe. Es geht mir gar nicht darum, bestimmte Abos oder Buchungen farblich anders darzustellen. Ich möchte nur bestimmte Termine(also Plätze zu bestimmten Tagen und Zeiten) anders farblich darstellen, damit für die Buchenden klar ist, dass dort nur die Mannschaftsmitglieder buchen „dürfen“. Hier soll keine Rechteverwaltung ins Spiel kommen. Ws soll im Verein nur so „gelebt“ werden. Einen Hack stelle ich mir folgendermassen vor: An der Stelle im Code, wo die Farbe der Zelle bestimmt/vergeben wird, soll geprüft werden, ob nicht eine andere Farbe definiert ist. Das entweder hart verdrahtet(auf die Schnelle) oder dafür eigene Tabelle. Ich hatte gehofft, dass das hinsichtlich Corona-Kontaktverfolgung in den letzten 2 Jahren vielleicht schon jemand implementiert hat.

Kann mir einer sagen, an welcher Stelle im Code die Farbvergabe definiert ist?

Übrigens: Mit dem „Dazubuchen“ sehe ich generell keine Probleme. Das gab es in meinem alten Verein auch früher schon. Wenn man einen Spielpartner sucht, hing man seine Marke auf dem Belegungsbrett zu einer bestimmten Zeit und Tag auf einen Platz und wer wollte hing seine Marke dazu. Aber wenn ich es richtig verstehe, ist das doch auch jetzt möglich.

grüsse jones

cbits68 commented 2 years ago

Die Kalender Zellen werden über style Klassen definiert und die Farben sind dann entsprechend der default.css für die jeweilige style-class definiert. Hier z.B. für eine Abo Buchung. a.cc-multiple:link, a.cc-multiple:visited { opacity: 1.0; color: #FFF; background-color: #547B97; } a.cc-multiple:hover { background-color: #334F6A; }

welche style-class gezogen wird, hängt vom Buchungstyp in der Datenbank ab. Also free, free-partially, event, own, single, multiple oder conflict.

Und ja, das mit dem Zubuchen geht technisch ja mit ep3-bs. wie Du oben siehst, bekommen die Buchungen dann sogar eine andere Farbe, wenn noch Kapazitäten frei sind (free-partially) Die Kapazitäten lassen sich im System aber nur pro Platz festlegen und nicht pro Buchung.

cbits68 commented 2 years ago

Ich habe das bei uns so gelöst, dass ich die Teamtrainings auf Benutzer (Platzhalter) mit für sich sprechenden Namen buche. Dadurch sind diese zwar farblich nicht anders als z.B. die Trainer Abo's, aber eben so gelabelt, dass klar ist, welches Team dort trainiert. image

cbits68 commented 2 years ago

Der Benutzer kann natürlich beim Buchen schon entsprechende Kapazitäten belegen. Also z.B. wenn 4 Spielende pro Platz möglich sind und er schon 1 Mitspieler bei der Buchung angibt, wären noch 2 frei. Wenn er nur Einzel spielen möchte, muss er dann noch 2 Pseudo Mitspieler eintragen, damit die Buchung dann auch komplett belegt ist.

cbits68 commented 2 years ago

Ich habe darauf verzichtet Mehrfachbuchungen zu ermöglichen, da es aus meiner Sicht in unserem Verein auch zu kompliziert für viele Mitglieder wäre. Welche Spieler zum Teamtraining wann dabei sind, wird bei uns ohnehin in WhatsApp Gruppen organisiert.

JonesHH commented 2 years ago

Passiert bei uns auch über Whatsapp. Für eine Statistik wäre das Eintragen beim Training aber hilfreich. Es gibt gerade bei uns eine Diskussion, weil der neue Vorstand (u.a. ich) es „gewagt“ hat, die Trainingskontingente von 6 auf 4 Stunden (finde ich immer noch genug) zu reduzieren um mehr freies Spielen zu ermöglichen. Unsere 3 Sandplätze waren in der Vergangenheit nachmittags ausschlieslich durch Mannschaftstrainings blockiert. Dadurch hat auch das Clubleben gelitten. Gefühlt wurden die 6 Stunden nur von wenigen Mannschaften komplett genutzt. Das wird aber von einigen bestritten. Ich würde den „neuen“ Weg gerne irgendwie dokumentieren. Oder hat jemand eine andere Idee? gruss, jones

cbits68 commented 2 years ago

Ist ja nicht so leicht bei Euch. Die Frage ist auch, selbst wenn Du es im Buchungstool dokumentierst, müsstest Du es ja trotzdem irgendwie Vorort dann zumindest stichprobenartig kontrollieren. Leider funktioniert das bei ABO Buchungen auch nicht, dass man für jede Reservierung aus dem Abo die Spieler eintragen kann., bzw. werden die Informationen beim Speichern nicht in die DB eingetragen. Deine Anforderung mit dem Buchungstool umzusetzen halte ich für eher schwierig.

Aber ich kann das gut nachvollziehen. Bei uns gab es jahrelang auch immer die Diskussion, das durch die vielen Trainerstunden und die Mannschaftstrainings gerade in der Prime Time kaum Plätze für Mitglieder buchbar waren. Das hat sich dann erst mit der Platzerweiterung auf 6 Plätze deutlich entspannt. Wir haben allerdings inzwischen auch 250 Mitglieder, 5 aktive Trainer und 13 Mannschaften. Das ist mit 3-4 Plätzen eigentlich kaum zu stemmen.

In der Anfangszeit (bei nur 3 Plätzen) hatten wir es so geregelt, dass mindestens immer 1 Platz zur "freien" Buchung verfügbar sein musste. Wenn dann niemand gebucht hat, haben die Mannschaften den Platz halt mitbenutzt.