[TYPO3-german] verschachteltes IRRE
Jens Bergau
jens.bergau at gmx.de
Wed Jun 25 14:08:57 CEST 2008
Hallo an alle,
ich arbeite an einer Extension und versuche das ganze mit IRRE
umzusetzen. Ich hab das soweit verstanden, dass die Dateneingabe
prinzipiell so funktioniert wie ich das will.
Kurze Beschreibung:
Ich habe Projekt, Subprojekt und Personen.
Projekten können Subprojekte und Personen zugeordnet werden.
Subprojekten können Personen zugeordnet werden.
Subprojekte gehören nur zu einem Projekt.
Ich möchte, dass auf dem Formular eines Projektes Personen erstellt,
hinzugefügt und editiert werden können sowie Subprojekte erstellt und
editiert werden können. Den Subprojekten sollen beim Editieren auch
Personen hinzugefügt werden können und vor allem auch neue Personen
erstellt werden können.
Das führt mich zu 5 Tabellen:
T_projekte
T_subprojekte
T_personen
T_rel_projekte_personen
T_rel_subprojekte_personen
T_projekte und T_subprojekte sind 'inline' über eine Komma-separierte
Liste in T_projekte verbunden.
T_projekte und T_personen sind 'inline anti symm.' mit Attributen über
T_rel_projekte_personen verbunden (useCombination = 1).
T_subprojekte und T_personen sind genauso mit Attributen über
T_rel_subprojekte_personen verbunden (useCombination = 1).
Wenn ich jetzt ein Projekt bearbeite, kann ich diesem Personen
hinzufügen und neue Personen erstellen.
Ich kann auch dem Projekt neue Subprojekte hinzufügen und vorhandene
bearbeiten. Diesen Subprojekten wiederum kann ich ja auch Personen
zuordnen bzw. zugeordnete bearbeiten. Funktioniert auch top...
Das Problem ist nun, dass wenn ich dem einem Projekt eine Person und ein
Subprojekt zuordne, und disem Subprojekt auch noch dieselbe Person, dann
könnte ich theoretisch eine Person an 2 Stellen auf dem Formular (des
Projekts) bearbeiten, wobei dann unklar wäre, welche Version der Person
nun in die DB soll.
Praktisch sieht das ganze so aus:
Wenn ich jetzt einem neuen Projekt eine vorhanden Person hinzufüge, kann
ich die Attribute der Relation und die Person bearbeiten. Wenn ich
dieselbe Person noch dem dem Projekt zugeordneten Subprojekt hinzufüge,
dann kann ich dort nur die Attribute der Relation bearbeiten. Super,
denn dann gibt es keine 2 Formularteile für diesselbe Person. Doch wenn
ich das ganze speichern will, erhalte ich die Fehlermeldung, dass
benötigte Felder nicht ausgefüllt seien. Es sind aber alle ausgefüllt!
Meine Vermutung ist, dass der nicht vorhandene Formularteil der Person
für das Subprojekt diesen Fehler hervorruft... Das es nicht vorhanden
ist, ist doch aber sicher gewollt und kein Bug.
Als Workaround habe ich useCombination für die Personen der Subprojekte
abgeschaltet. Wenn nun aber für ein Subprojekt eine Person neu angelegt
werden muss, kann das nicht auf dem Formularteil des Subprojektes des
Projektformulars geschehen, sondern muss entweder gesondert hinzugefügt
werden oder im Formularteil für die Personen eines Projektes eine Person
erzeugt und gespeichert werden, dann wieder vom Projekt entfernt und dem
Subprojekt hinzugefügt werden (weil die Person ja nun gespeichert ist
und dem Selector des Subprojektes zur Verfügung steht.)
Wie ereiche ich, dass ich Personen an beiden Stellen des
Projektformulars (also 1.Projekt-Personen und 2.Personen des dem Projekt
zugeordneten Subprojektes) erzeugen und bearbeiten kann?
Ist das ein Bug?
Oder sind meine Überlegungen völlig falsch und ich wende das ganze nur
nicht richtig an?
Vielen Dank im Voraus für Hilfe...
More information about the TYPO3-german
mailing list