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

Filter fromTo - gesamten Tag ("day") filtern #11

Closed
tschupatschups opened this issue Jan 18, 2016 · 19 comments
Closed

Filter fromTo - gesamten Tag ("day") filtern #11

tschupatschups opened this issue Jan 18, 2016 · 19 comments

Comments

@tschupatschups
Copy link

Hallo,

wird beim Filter FromTo nur das Schema "Datum" ausgewählt, wird beim Filtern die aktuelle Uhrzeit verwendet.
Das Problem ist, dass beim Filter derzeit aber so nicht alle Termine des gesamten Tages ausgegeben werden.

Beispiel:
Es gibt einen Termin am 02.01.2015 um 14:00 Uhr.
(Termin im Backend mit Zeitangabe gespeichert, da für die Ausgabe benötigt).

Ein User benutzt den FrontendFilter zu Mittag um 12.10 Uhr und filtert Termine zwischen 01.01.2015 und 02.01.2015.
Im Frontend gibt es beim Filter keine Zeitangabe - es sollen alle Termine des gesamten Tages angezeigt werden.

Das Problem ist, das der Filter nun alle Termine von 01.01.2015 12:10 bis 02.01.2015 12.10 filtert und somit den gesuchten Termin nicht anzeigt.

Wäre es nicht sinnvoll bei evaluateLowerBound() und evaluateUpperBound() den Beginn bzw. das Ende des Tages im timestamp festzulegen?

$this->lowerBound = ( strtotime(date("Ymd", $this->lowerBound)) );

$this->upperBound = ( strtotime(date("Ymd", $this->upperBound) . ' 23:59:59') );

Und evtl. im DCA noch 2 Checkboxen hinzuzufügen für "Ab 0 Uhr" / " Bis 23:59:59" filtern.

Evtl. übersehe ich auch eine andere Möglichkeit so einen Filter umzusetzen.

@discordier
Copy link
Member

Nein, du hast recht. Ein solches Feature ist sinnvoll.

@zonky2
Copy link
Contributor

zonky2 commented Jan 19, 2016

ich bin eher der Meinung, man sollte Daten als solches Speichern was sie sind - also Datum bzw. Datum-Zeit als die MySQL-Werte -> siehe MetaModels/core#881

... aber das scheint eher in den Bereich "philosophische Ansicht" zu gehen...

@discordier
Copy link
Member

Und wir werden damit inkompatibel zu Contao. Die Idee hatten wir schon lange, aber aus genau diesem Grund bislang nicht verfolgt.

@zonky2
Copy link
Contributor

zonky2 commented Jan 19, 2016

bedeutet ja nicht, dass es Contao nicht auch "besser" machen könnte ;-)

@discordier
Copy link
Member

Was aber nicht uns obliegt zu entscheiden...

@zonky2
Copy link
Contributor

zonky2 commented Jan 20, 2016

... wobei mir auf die Schnelle es nicht einleuchtet, bei bzw. für was hier eine "Kompatibilität" notwendig wäre - ggf. wenn man aus MM z.B. auf tl_events zugreift... wobei ich mir für den Fall die hin/her-Konvertierung von/zum Timestamp nicht sehr schwer vorstelle...

@discordier
Copy link
Member

Was bedeutet dass der Code jedesmal in der DB nachsehen muss was man denn gerade fyr ein Feld hat.

@zonky2
Copy link
Contributor

zonky2 commented Jan 24, 2016

der Timestamp kann nur ein INT sein - MySQL date bzw. datetime nicht

@discordier
Copy link
Member

Exakt, du hast das Problem erkannt.

@zonky2
Copy link
Contributor

zonky2 commented Jan 25, 2016

dann ist es doch nicht schwer, eine (eindeutige) Fallunterscheidung zu machen

@discordier
Copy link
Member

Eben gerade deshalb schon.
Du musst die Datenbank analysieren um zu raten was nun drin ist. Es koennte int, date, time oder datetime sein.
Dann muss man dies immer in int wandeln, damit der Contao Core damit arbeiten kann und wieder ins native wandeln wenn es in die Datenbank zuryck soll.
Danach zu filtern bzw. darin zu suchen muss ebenfalls diese Wandlungen vornehmen.

@zonky2
Copy link
Contributor

zonky2 commented Jan 25, 2016

das Umwandeln in INT soll ja vermieden werden - für den heutigen Tag gibt es genau einen Wert: 25.01.2016 vs. bei Timestamp (INT) gibt es mehrere Werte (86400) aus denen das "berechnet" werden kann

@discordier
Copy link
Member

Contao versteht aber NUR int (im Backend und Ausgabe auf Website)

@zonky2
Copy link
Contributor

zonky2 commented Jan 28, 2016

ist die Frage, inwieweit MM "anhängig" vom Contao-Core-Timestamp-Feld ist? ich sehe erstmal keine Probleme, sich mit einem MM-Datumsattribut unabhängig vom Core zu machen...

siehe auch MetaModels/core#881 (comment)

@zonky2 zonky2 added this to the 2.1.0 milestone Feb 19, 2016
@zonky2 zonky2 changed the title Filter fromTo - gesamten Tag filtern Filter fromTo - gesamten Tag ("day") filtern Mar 4, 2016
@janmarkuslanger
Copy link

Gibt es hier zu schon etwas Neues oder eine Übergangslösung?

@zonky2
Copy link
Contributor

zonky2 commented Nov 21, 2017

leider nein :(

z.Z. alle Resourcen an MM 2.1 gebunden...

@zonky2 zonky2 added bug and removed enhancement labels Nov 29, 2017
@zonky2 zonky2 modified the milestones: 2.1.0, 2.2.0 Jan 11, 2019
@discordier
Copy link
Member

Is this the same as #9?

@zonky2
Copy link
Contributor

zonky2 commented Mar 15, 2019

ja/yes

@discordier discordier removed this from the 2.2.0 milestone Mar 15, 2019
@discordier
Copy link
Member

Closing then.

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

No branches or pull requests

4 participants