Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Endzeit wird automatisch 01:00 wen keine Zeit eingegeben wird. #10

Closed
Floxn opened this issue Jul 28, 2017 · 7 comments
Closed

Endzeit wird automatisch 01:00 wen keine Zeit eingegeben wird. #10

Floxn opened this issue Jul 28, 2017 · 7 comments
Assignees
Labels

Comments

@Floxn
Copy link
Contributor

Floxn commented Jul 28, 2017

Wird einer Veranstaltung eine Startzeit gegeben muss wohl auch eine Endzeit eingegeben werden.
Möchte man nun aber keine Endzeit im Frontend ausgeben löscht man den Eintrag ja wieder im Backend.
Nach dem Speichern steht dann nun aber ein 01:00 und wird auch so im Frontend als Endzeit ausgegeben.

Im Frontend erscheint nur keine Endzeit, wenn Endzeit = Startzeit.
Ist denn eine Endzeit zwingend?

Reproduzierbar in der Demo:

  • Neues Event anlegen.
  • Haken bei "Zeit hinzufügen" setzen
  • Starzeit eintragen
  • Endzeit löschen
  • speichern
  • Endzeit ansehen
@Floxn
Copy link
Contributor Author

Floxn commented Jul 28, 2017

Nachtrag:
Den Author wird das vermutlich verwirren, wenn die gleiche Zeit wie bei Startzeit drin steht.
Wenn es keine offizielle Endzeit gibt, sollte diese auch leer bleiben.

@Aybee
Copy link

Aybee commented Jul 28, 2017

Ich habe letztens erst überlegt, warum ich in der dcaconfig seit Jahren das hier drin habe.

/** Events */
// Set endtime default to empty
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['endTime']['default'] = NULL;

Evtl. hat das mit diesem Problem zu tun und wäre eine Lösung.

@Floxn
Copy link
Contributor Author

Floxn commented Jul 31, 2017

Das scheint wohl nicht mehr zu funktionieren. Danach gibt es noch ein save_callback und führt folgendes aus.

public function setEmptyEndTime($varValue, DataContainer $dc)
{
if ($varValue === '')
{
$varValue = $dc->activeRecord->startTime;
}

	return $varValue;
}

Irgendwas mussten die Core-Entwickler sich da ja gedacht haben :)

@leofeyer
Copy link
Member

leofeyer commented Aug 3, 2017

Ist denn eine Endzeit zwingend?

Ja, das Feld ist zwingend (vgl. contao/core#1922). Deswegen haben wir ja "Use the same value for start and end time to create an open-ended event." als Erklärung unter das Feld geschrieben.

@Aybee
Copy link

Aybee commented Aug 3, 2017

Ist evtl. zwingend (programmiertechnisch gesehen, deshalb ein Callback, welcher das Feld immer irgendwie ausfüllt) aber nicht mandatory.

Schön, intuitiv und logisch finde ich das übrigens nicht, so einen Satz wie

Use the same value for start and end time to create an open-ended event.

Sollte ja eigentlich leer bleiben dürfen, wenn man keine Endzeit weiß. Wenn da steht

Datum 01.01.2018 
Start 20:00 
Ende 20:00

dann würde das Event eigentlich exakt 0 Sekunden dauern. Oder gilt es sogar bis zum 02.01 um 20:00?

Ein leeres Feld müsste im Programmcode eigentlich aufgefangen und richtig interpretiert werden können. Aber ich kann verstehen, dass man dies jetzt nicht unbedingt ändern möchte, da die Logik dieser Events mit den ganzen Daten und Zeiten, Wiederholungen usw. ganz schön komplex ist und im Laufe der Jahre oftmals überarbeitet wurde, da immer wieder irgendwelche Bugs auftauchten.

@Floxn
Copy link
Contributor Author

Floxn commented Aug 4, 2017

Ok, dann ist es kein Fehler sondern gewollt. Damit kann man umgehen und in den Schulungen so kommunizieren.

Danke für die Antworten.

@Floxn Floxn closed this as completed Aug 4, 2017
@leofeyer leofeyer self-assigned this Aug 15, 2017
@leofeyer leofeyer added the bug label Aug 15, 2017
@leofeyer
Copy link
Member

Allerdings war der save_callback kaputt, der die Endzeit automatisch auf die Startzeit setzt, wenn das Feld leer bleibt. Repariert in 97bb090.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants