hallo,
es kommt zu einem sql-fehler, wenn man bei einem termin die anmelde/zusageoption löscht und schon teilnehmer zugesagt hatten. laut hilfe (blaues fragezeichen) heisst es:
Hier kann ausgewählt werden, ob eine Anmeldung zu dem angegebenen Termin möglich sein soll oder nicht.
Falls die Anmeldung nachträglich gelöscht wird, werden auch alle bisherigen Teilnehmer vom Termin entfernt.
die fehlermeldung kommt sowohl bei mir (version 2.3.2) als auch bei der aktuellen demo!!!
S Q L - E R R O R
CODE: 1451
Cannot delete or update a parent row: a foreign key constraint fails ("msabsvl_sdb"."adm_dates", CONSTRAINT "adm_FK_DAT_ROL" FOREIGN KEY ("dat_rol_id") REFERENCES "adm_roles" ("rol_id"))
B A C K T R A C E
FILE: adm_program/system/db/db_mysql.php
LINE: 62
CALL: DBCommon->db_error()
FILE: adm_program/system/db/db_mysql.php
LINE: 167
CALL: DBMySQL->db_error()
FILE: adm_program/system/classes/table_access.php
LINE: 120
CALL: DBMySQL->query()
FILE: adm_program/system/classes/table_roles.php
LINE: 87
CALL: TableAccess->delete()
FILE: adm_program/modules/dates/dates_function.php
LINE: 365 (in der demo 366)
CALL: TableRoles->delete()
gruss marpre
fehler terminmodul: entfernen von anmeldemöglichkeit
Re: fehler terminmodul: entfernen von anmeldemöglichkeit
Hallo mapre,
vielen Dank für den Hinweis. Hier wird in der falschen Reihenfolge gelöscht.
In der Datei adm_program/modules/dates/dates_function.php muss der Block ab Zeile 364: besser so aussehen:
Dann funktionert das Löschen.
Gruß
Fasse
vielen Dank für den Hinweis. Hier wird in der falschen Reihenfolge gelöscht.
In der Datei adm_program/modules/dates/dates_function.php muss der Block ab Zeile 364:
Code: Alles auswählen
// die Anmeldungsmoeglichkeit wurde wieder abgewaehlt -> Rolle loeschen
$role = new TableRoles($gDb, $date->getValue('dat_rol_id'));
$role->delete();
$date->setValue('dat_rol_id', '');
$date->save();
Code: Alles auswählen
// die Anmeldungsmoeglichkeit wurde wieder abgewaehlt -> Rolle loeschen
$role = new TableRoles($gDb, $date->getValue('dat_rol_id'));
$date->setValue('dat_rol_id', '');
$date->save();
$role->delete();
Gruß
Fasse