Anmeldefenster öffnen

Hast du Vorschläge, was wir an Admidio noch verbessern könnten ? Hier kannst du uns deine Vorstellung an neuen Funktionen mitteilen.
swid
Beiträge: 65
Registriert: 25. Mai 2015, 11:37

Anmeldefenster öffnen

Beitragvon swid » 19. Mär 2019, 23:27

Hallo zusammen,
ich möchte zusätzlich zum Anmeldeschluss einen Anmeldebeginn einbauen. Grund dafür ist, dass unsere User sich nach hochschalten eines Batches an Terminen für alle mal prophylaktisch anmelden - und sich dann nicht mehr abmelden, wenn sie nach 4 Monaten realisieren, dass es doch nicht geht. Das ist gerade bei TN-Beschränkung doof für die anderen, die sich dann nicht mehr anmelden können. Daher habe ich überlegt, mir in die Funktion

Code: Alles auswählen

deadlineExceeded()
etwas einzubauen, was vor dem Ablauf der Deadline folgendes tut:

Code: Alles auswählen

        if (Beginn des Termins mehr als 3 Monate von heute){Blockiere Anmeldung}
Oder mach ich da einen Überlegungsfehler? Kann mir jemand sagen, wie ich das elegant lösen? Habe einige Probleme mit dem Datum rechnen... Meine Idee funktioniert nicht...

Code: Alles auswählen

$this->getValue('dat_begin', $gSettingsManager->getString('system_date')) < DATE_NOW->add(new DateInterval('P3M')))

Danke und Gruss, swid
swid
Beiträge: 65
Registriert: 25. Mai 2015, 11:37

Re: Anmeldefenster öffnen

Beitragvon swid » 25. Mär 2019, 12:22

Ich habs nun vermutlich geschafft, ftr hier mein Code...

Code: Alles auswählen

   
   $date_activity = new DateTime($this->getValue('dat_begin','Y-m-d'));
   $month_delay = (new DateTime(DATE_NOW))->add(new DateInterval('P2M'));
   if($month_delay < $date_activity)
   {
      return true;
   }


Vielleicht ist ja mal jemand froh drum... Gruss swid
XimeX
Developer
Beiträge: 1135
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Anmeldefenster öffnen

Beitragvon XimeX » 25. Mär 2019, 12:27

Ich würde dir nur eine kleiner Verbesserung vorschlagen. Statt "new DateTime()" würde ich "\DateTime::createFromFormat('Y-m-d', $dateString)" verwenden
swid
Beiträge: 65
Registriert: 25. Mai 2015, 11:37

Re: Anmeldefenster öffnen

Beitragvon swid » 14. Apr 2019, 13:13

Ciao Ximex, merci für den Tip - verrätst du mir als Banause noch, was bei deinem Gegenvorschlag anders ist? :)
XimeX
Developer
Beiträge: 1135
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Anmeldefenster öffnen

Beitragvon XimeX » 14. Apr 2019, 13:31

mit "createFromFormat()" kann man auch noch gleich das Format übergeben. Sonst _könnte_ es bei _bestimmten_ fällen zu falschen werten kommen. Außerdem sollte er beim parsen schneller sein (minimal)
swid
Beiträge: 65
Registriert: 25. Mai 2015, 11:37

Re: Anmeldefenster öffnen

Beitragvon swid » 29. Apr 2019, 23:07

Hallo Ximex,
irgendwie hab ich das mit dem createFromFormat nicht ganz hingekriegt - was mach ich falsch?

Code: Alles auswählen

$calc_date =  \DateTime::createFromFormat('Y-m-d', $this->getValue('dat_deadline'));


Ausserdem hatte ich noch ein Problem, falls ein Termin eine Deadline hat, dann möchte man 2 monate vorher das Anmeldefenster öffnen, und nicht 2 Monate vor dem Termin...

Code: Alles auswählen

   if($this->getValue('dat_deadline') !== null)
        {   
      $calc_date = new DateTime($this->getValue('dat_deadline','Y-m-d'));
   }
   else
   {
      $calc_date = new DateTime($this->getValue('dat_begin','Y-m-d'));
   }
   $month_delay = (new DateTime(DATE_NOW))->add(new DateInterval('P2M'));
   if($month_delay < $calc_date)
   {
      return true;
   }


Gruss

Zurück zu „Verbesserungsvorschläge und Anregungen“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste