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;
}
Informationen zur Admidio Installation:
* PHP Version: 8.1.22
* Datenbank: 10.5.22-MariaDB
* Admidio Version: v4.2.11
PS: Der Hinweis
mit der InfoKeine Anmeldung mehr möglich
hat mich in diesem Fall zusätzlich verwirrt. Besser wäre hier eine Info, die sich auf die Begrenzung der Teilnehmerzahl bezieht.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!