[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