Abmeldung von Termin nicht möglich

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
Antworten
knappe1974
Beiträge: 4
Registriert: 19. Jan 2022, 00:18

Abmeldung von Termin nicht möglich

Beitrag von knappe1974 »

Nach dem Update von Admidio 4.1.12 auf die Version 4.2.11 war es nicht möglich sich von einem Termin abzumelden wenn dessen maximale Teilnehmerzahl bereits erreicht war.

Als angemeldeter Teilnehmer hat man den Button zum Absagen nicht angezeigt bekommen und auch über "Teilnehmer anzeigen" konnte man sich nicht abmelden. Wenn man darüber über "Mitglieder zuordnen" in der Liste beim eigenen Namen den Haken entfernt hat kam eine Meldung das man nicht berechtigt ist.

Bei der Untersuchung des Problems viel mir auf, dass die Funktion "possibleToParticipate" false für bereits angemeldete Mitglieder zurück liefert. Für bereits angemeldete Mitglieder sollte diese Funktion aber true zurück liefern auch wenn die maximale Anzahl der Teilnehmer bereits erreicht ist.

Ich habe die Funktion "possibleToParticipate" wie folgt angepasst:

Code: Alles auswählen

    public function possibleToParticipate(): bool
    {
        global $gCurrentUserId;

        if(!$this->deadlineExceeded()) {
            if(!is_object($this->mParticipants)) {
                $this->mParticipants = new Participants($this->db, $this->getValue('dat_rol_id'));
            }

            If ($this->mParticipants->isMemberOfEvent($gCurrentUserId)) {
                return true;
            }

            if ($this->allowedToParticipate()) {
                if ((int) $this->getValue('dat_max_members') === 0
                    || ($this->mParticipants->getCount() < (int) $this->getValue('dat_max_members'))) {
                    return true;
                }
            }
        }

        return false;
    }
Nach dieser Anpassung konnten sich Mitglieder auch wieder von Terminen abmelden, wenn bereits die maximale Anzahl der Teilnehmer zu diesem Termin erreicht war.

Informationen zur Admidio Installation:

* PHP Version: 8.1.22
* Datenbank: 10.5.22-MariaDB
* Admidio Version: v4.2.11

PS: Der Hinweis
Keine Anmeldung mehr möglich
mit der Info
Deine Anmeldung kann nicht mehr verändert werden, da das vorgegebene Enddatum für Anmeldungen erreicht wurde oder der Termin in der Vergangenheit liegt. Bitte wende dich an die Leiter:innen des Termins oder eine:n Administrator:in!
hat mich in diesem Fall zusätzlich verwirrt. Besser wäre hier eine Info, die sich auf die Begrenzung der Teilnehmerzahl bezieht.
Benutzeravatar
fasse
Administrator
Beiträge: 6055
Registriert: 12. Nov 2005, 16:06

Re: Abmeldung von Termin nicht möglich

Beitrag von fasse »

Vielen Dank für deine Fehlermeldung mit der detaillierten Analyse. Ich schaue mir das noch mal an und werde es korrigieren!
Benutzeravatar
fasse
Administrator
Beiträge: 6055
Registriert: 12. Nov 2005, 16:06

Re: Abmeldung von Termin nicht möglich

Beitrag von fasse »

Der Fehler ist jetzt in der 4.2.12 behoben.

Viele Grüße
Fasse
Antworten