Ergebnis 1 bis 1 von 1

Thema: [EFG] Editierbarkeit von Feldern abhängig von Wert aus anderem Feld

  1. #1
    Contao-Nutzer
    Registriert seit
    30.08.2011.
    Beiträge
    5

    HTML [EFG] Editierbarkeit von Feldern abhängig von Wert aus anderem Feld

    Hallo liebe Community!

    Zur Zeit habe ich ein Projekt am laufen, bei dem Schüler ein schriftliches Feedback über ihre Leistungen in den einzelnen Fächern bekommen sollen. Bisher war die Erstellung dieser Dokumente manuell und daher sehr aufwendig, weshalb eine bessere / einfache Lösung her sollte.

    Also habe ich zunächst an Contao gedacht, da eine solide Mitgliederverwaltung vorhanden ist und ich mich inzwischen gut mit Contao auskenne. Die Lehrer können bequem die Daten eintragen und am Ende wird aus der exportierten Datei per Serienbrief in Word jeder Feedbackbogen erstellt.

    Annahmen:
    Es gibt vier 6. Klassen (6a, 6b, 6c, 6d)
    Max Mustermann ist Schüler der Klasse 6a. Er hat die Fächer Deutsch, Englisch und Mathematik. Nun soll der Deutschlehrer der Klasse 6a, Herr Meier, die Schüler im Fach Deutsch bewerten können. Außerdem ist Herr Meier noch Klassenlehrer der 6b und soll dort allgemein Angaben (Verspätungen) eintragen. Er soll aber NICHT das Fach Deutsch der Schüler der Klasse 6b bewerten können.

    Meine Herangehensweise:
    Ich habe Gruppen für die Klassen ("Klasse 6a, Klasse 6b..."), Fächer ("Fachlehrer Deutsch, Fachlehrer Mathe, ...") und Klassenlehrer ("Klassenlehrer 6a, Klassenlehrer 6b,...") erstellt. Dem Lehrer (Frontend Nutzer) werden diese Gruppen manuell zugeteilt.

    Im nächsten Schritt habe ich für jede Klasse eine Seite ("Klasse 6a,...") angelegt, die nur sichtbar ist, wenn der Lehrer Mitglied in der entsprechenden Gruppe ("Klasse 6a") ist. Auf jeder Seite wird dann ein separates EFG-Formular mit je 24 Schülern angezeigt, welches die Schülerdaten beinhaltet. Die entsprechenden Lehrer pro Kind und Fach werden bereitgestellt und per CSV importiert - funktioniert bis jetzt sehr gut. Anschließend habe ich mit dem EFG in Verbindung mit FormFieldAccessProtection ein ein umfangreiches Formular vorbereitet, das basierend auf den Gruppen Fachlehrer/Klassenlehrer dem eingeloggten Lehrer die entsprechenden Felder anzeigt, sodass die Tabelle lediglich um das Feedback erweitert wird.


    Nochmal kurz:
    Herr Meier hat folgende Gruppenmitgliedschaften:
    Klasse 6a
    Klasse 6b
    Klassenlehrer 6b
    Fachlehrer Deutsch

    Wenn sich Herr Meier einloggt, sieht er in der Navigation nur die Seiten "Klasse 6a" und "Klasse 6b"
    Auf der Seite "Klasse 6a" sieht er alle Schüler der Klasse und kann diese bearbeiten. Im Bearbeitungsformular wird ihm nur das Beurteilungsfeld für das Fach Deutsch angeboten (Gruppe Fachlehrer Deutsch). Klappt.
    Auf der Seite "Klasse 6b" sieht er alle Schüler der Klasse und kann diese bearbeiten. Im Bearbeitungsformular werden ihm nur die Felder "Verspätungen, etc" angezeigt (Gruppe Klassenlehrer 6b). Klappt.

    --- - --- - --- - --- - --- - --- - --- - --- - --- - ---


    JETZT kommt der Teil, bei dem ich dringend eure Hilfe brauche.
    Max hat bilingualen Matheunterricht und deshalb einen anderen Lehrer als alle anderen in der Klasse. Ergo darf der Mathelehrer von Max NICHT die anderen Schüler bewerten und der Mathelehrer der anderen Schüler darf Max nicht bewerten.

    Ich habe die letzte beiden Tage echt viel über das Problem gegrübelt ohne es zu lösen. Hier mal meine Ansätze, vielleicht fällt einem von euch was ein :
    - (Favorisierter Ansatz) Da ich ja die Lehrernamen für jedes Fach pro Schüler habe, könnte man den Mathelehrer von Max in einem (versteckten) Feld ("Ma-Lehrkraft") anzeigen lassen. Und nur wenn dieser Wert mit dem Usernamen des aktuellen Lehrers übereinstimmt, kann das Feld ("Ma-Feedback") bearbeitet werden. Hierbei ist mein Problem, da ich nicht weiß, wie ich in meinem Template "form_textfield.html5" auf den Wert aus dem vorherigen Feld ("Ma-Lehrkraft") zuzugreifen um dann per PHP mit dem username abgleichen und entsprechend ein editierbares bzw. readonly Feld ausgeben kann. An welcher Stelle müsste ich hier anknüpfen?
    Kurz: Wert eines Feldes auslesen und bei nächstem Feld prüfen.

    - Jetzt wo ich so drüber nachdenke ist das glaube ich der einzig sinnvolle Ansatz Ich muss irgendwie an die Daten herankommen. In welchen Templates, welchen Hooks (damit kenn ich mich noch nicht aus).

    EDIT: Sind Cookies eine Option? Beim Klick auf den Gelben Stift in der Übersicht den Mathelehrer in den Cookie schreiben und dann im Template den Cookie gegenprüfen?

    Gibt es noch Verständnisfragen?

    Also liebe Leute, wer hat einen Lösungsvorschlag für mich ?
    Geändert von Mr. Vi (09.10.2014 um 18:59 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •