3 Fehler bei Terminen, und 2 Fragen

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
Antworten
JoDomoWorx
Beiträge: 135
Registriert: 1. Mär 2011, 22:46

3 Fehler bei Terminen, und 2 Fragen

Beitrag von JoDomoWorx »

Das Terminmodul zeigt aktuell 3x Fehler:

1.) Der RSS-Feed bietet an, den Termin in den Kalender zu übernehmen. Wenn man den Link verwendet, erscheint die Meldung, man habe sich vom Termin abgemeldet.

2.) Wenn man Termine löscht, ploppt vor schwarzem Hintergrund eine Sicherheitsnachfrage auf. Die ist aber unter Opera 11.11 leer, d.h. der Termin lässt sich nicht löschen. Das scheint ein generelles Problem mit diesen schwarz hinterlegten Boxen und Opera ab 11.10 zu sein.

3.) Mit dem IE kann man die Sicherheitsabfrage beantworten, nur dann erscheint eine Fehlermeldung. Aus der Terminübersicht verschwindet der Termin trotzdem, nach Aktualisierung, in der Datenbank existiert er aber noch.

Die ersten beiden Fehler sind auch in der Demo-Umgebung reproduzierbar, der letzte nicht. Es scheint also an unserer leicht modifizierten Admidio 2.2.6 zu liegen, oder am Zusammenspiel mit Calendar 1.7.0. Meine Modifikationen betreffen das Terminmodul eigentlich nicht.

Zu den Fragen:

1.) Terminzusagen sind über Mitgliedschaften in Rollen (Terminen) aus der Kategorie "Terminbestätigung" realisiert. Diese Kategorie ist auch in "Kategorien pflegen" und in "Rollen verwalten" sichtbar. Soll das so sein?

2.) Wenn man den RSS-Feed abonniert hat, und den ganzen Ordner beim Versionsupdate (z.B. gerade von 2.2.5 auf 2.2.6) überschreibt, kann man ihn nachher neu abonnieren. Würde man ohne Neuabo neue Termine trotzdem zugestellt bekommen?
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hallo Jo,

der erste Fehler ist ein falscher Funktionsaufruf im RSS-Feed. Du kannst den Fehler jetzt schon selbst beheben, indem du in der Datei adm_program/modules/dates/rss_dates.php mal nach folgendem Abschnitt suchst:

Code: Alles auswählen

dat_id='.$date->getValue('dat_id').'&mode=4"
und hier die 4 durch eine 6 ersetzt :

Code: Alles auswählen

dat_id='.$date->getValue('dat_id').'&mode=6"
Bei dem Opera-Fehler bin ich mir nicht sicher, ob es evtl. auch ein Fehler von Opera sein könnte. Ich werde mal intern auf die neue Version dieser PopupBox updaten und mir das damit mal anschauen.

Zu deinen Fragen:

Ja, die Terminbestätigungen sollen erst einmal bei den Rollen sichtbar bleiben. Hierdurch könnte man dann auch noch eine Funktionen an die Terminzusagen hängen. Evtl. könnte man aber auch noch die Kategorie "Terminbestätigung" aus der allgemeinen Kategorieübersicht verstecken.

Den RSS-Feed musst du nach einem Update i.d.R. nicht neu abonnieren. Im jetzigen Update hat sich der Feed leicht verändert, allerdings sollte der Zugriff weiterhin mit der "alten" URL funktionieren.

Viele Grüße
Fasse
JoDomoWorx
Beiträge: 135
Registriert: 1. Mär 2011, 22:46

Beitrag von JoDomoWorx »

Alles klar, und danke! Kannst du auch abschätzen, was beim Löschen von Terminen (mit dem IE) schief läuft? Im Demobereich passiert das ja nicht. Ich könnte dir ggf. Zugang zu unserer Seite geben.
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hallo JoDomoWorx,

das Problem mit Opera wird in der nächsten Version auch behoben sein. Hab jetzt noch mal die Colorbox aktualisiert und eine kleine Anpassung vorgenommen, dann funktioniert die Anzeige auch unter Opera.

Dein IE-Problem muss ich mir bei Gelegenheit mal anschauen. Hab gerade keine IE zur Verfügung :/

Gruß
Fasse
JoDomoWorx
Beiträge: 135
Registriert: 1. Mär 2011, 22:46

Fehler gefunden, aber immer noch unklar

Beitrag von JoDomoWorx »

So, der Fehler beim Löschen bestand in der Reihenfolge - die delete()-Function von TableDate löscht
- date_role (sichtbar für)
- member (zugesagt)
- roles (Rollennummer des Termins)
- parent = date
Beim Löschen des roles-Eintrag wird bei mir ein ForeignKey-Constraint verletzt. Wenn man dates_function statt über die ColorBox direkt annavigiert, erhält man den Fehler auch. Es scheint durch Drehen der beiden letzten Punkte behoben zu sein. Code s.u.

Nur: Wieso passiert das im Demo-Bereich nicht? Es muss ja was mit meinen Änderungen an Admidio zu tun haben.

Code: Alles auswählen

        // haben diesem Termin Mitglieder zugesagt, so muessen diese Zusagen noch geloescht werden
        if($this->getValue('dat_rol_id') > 0)
        {
            $temp = $this->getValue('dat_rol_id');
            $sql = 'DELETE FROM '.TBL_MEMBERS.' WHERE mem_rol_id = '.$temp;
            $this->db->query($sql);
            
            parent::delete();
            
            $sql = 'DELETE FROM '.TBL_ROLES.' WHERE rol_id = '.$temp;
            $this->db->query($sql);
        }
        else
        {
            parent::delete();
        }
JoDomoWorx
Beiträge: 135
Registriert: 1. Mär 2011, 22:46

Beitrag von JoDomoWorx »

Es hat nichts mit meinen Änderungen zu tun!

Ich habe im Demo-Bereich ein Datenbank-Backup durchgeführt und die Datenbank bei mir aufgespielt, so dass ich in die Constraints Einsicht habe:

Es gibt in meiner Datenbank 2 zusätzliche Constraints, die die Problematik ausgelöst haben:

adm_FK_DAT_ROL
adm_FK_DAT_ROOM

außerdem fehlt:

ak_name_intern

Wie kann das passieren? Die Updates hab ich alle ganz normal durchlaufen lassen seit 2.1.10.

Und vor allem, wie ändere ich das? Das PHPMyAdmin-Tool lässt mich die Constraints nicht bearbeiten!
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Ah, das erklärt einiges.

Diese beiden Foreign-Keys sind erst mit der 2.2.6 eingebaut worden, da wir sie vorher vergessen hatten. Leider lösen diese jetzt den Fehler aus. Dies ist aber eigentlich auch gut so, da die Löschreihenfolge eigentlich falsch war. Mit deiner Korrektur geht es dann.

Wir werden das dann so für die nächste Version anpassen. Vielen Dank für den Hinweis.

Viele Grüße
Fasse

PS: im Demobereich gab es diese Keys noch nicht. Dort wird immer ein Dump eingespielt und den hatte ich noch nicht angepasst.
JoDomoWorx
Beiträge: 135
Registriert: 1. Mär 2011, 22:46

Beitrag von JoDomoWorx »

cool!

hat das mit ak_name_intern (fehlt bei mir) die gleiche Ursache?
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Das ist eigentlich auch noch ein Fehler. Den Index haben wir in der 2.2 hinzugeügt, allerdings nicht im Updatescript.

Es ist allerdings wie mit den Foreign-Keys, ohne diese funktioniert Admidio auch fehlerfrei, allerdings fehlt so eine zusätzliche mögliche Prüfung durch die Datenbank.

Den werden wir dann nachliefern.

Viele Grüße
Fasse
Antworten