View Access auf Feld ebene je markierter Node
am 12.02.2014 - 00:23 Uhr in
So, also was ich will:
Ein User darf nur bestimmte Felder einer Node sehen. Erst wenn er bestätigt das er mehr sehen will darf er auch noch andere Felder der bestätigten Node sehen.
Also das mit dem bestätigen hätte ich vermutlich mit Flags gemacht, aber wie ich das steuern kann welche Felder er sieht, je nachdem ob er bestätigt hat und welche nicht, weis ich überhaupt nicht. Ich kenne nur ein Modul mit dem man Rollen basiert den Zugriff auf Felder einschränken kann, aber das kann ich hier nicht gebrauchen weil sich ja die Rolle nicht verändert da das ganze ja Nodespezifisch ablaufen soll. Dann kenne ich noch ein Modul mit dem man je Taxonomy Term den Zugriff steuern kann, hier jedoch nicht auf Feldbasis. Somit könnte der User die Node vorerst gar nicht sehen und somit auch nie zu dem Bestätigungsknopf (Flag) kommen. Theoretisch brächte ich eine Kombination aus beiden Modulen.
Vielleicht denke ich aber auch schon wieder viel zu kompliziert und das ganze geht viel einfacher. Hat irgend wer eine Idee wie ich das machen kann? Flags muss nicht verwendet werden, das war nur mal eine Idee.
- Anmelden oder Registrieren um Kommentare zu schreiben
Conditional Fields
am 12.02.2014 - 13:01 Uhr
das Modul Conditional Fields sollte das können
schau's dir mal an...!
lg
So, ich bin hier noch eine
am 16.02.2014 - 01:22 Uhr
So, ich bin hier noch eine Antwort schuldig. Hat eine weile gedauert, war aber nicht so ganz einfach. Danke @DonQ für deinen Tipp, es hat damit auch fast geklappt. Aber ich hab es jetzt trotzdem anders gemacht.
Zuerst mal zu Conditional Fields. Also ich hab damit die Felder verstecken können, jedoch habe ich erstmal ein extra Feld benötigt das von der Flag gesetzt wird da man mit Conditional Fields nicht direkt auf die Flag zugreifen kann. Mein zweites Problem damit war das ich ja bestimmte Roles alle Felder zeigen wollte, egal ob die Flag gesetzt wurde oder nicht. Das hab ich nicht hinbekommen. Das Modul hat zwar Rollen spezifische Einstellungen, aber die haben bei mir nicht zum gewünschten Ergebnis geführt.
Und die Lösung: Ein eigenes Modul. Grund dafür war aber nicht nur das ich das mit den Conditional Fields Modul nicht zu 100% hingebracht habe sondern das ich noch eine zusätzliche Zugriffsbeschränkung benötigt habe die ich auch nicht mit contrib Modulen zusammen gebracht habe. Damit man das jetzt versteht muss ich kurz die Basiskonfiguration erklären. Es gibt einen Inhaltstyp für Immobilie und einen für Anfrage. Es gibt eine Editor und eine Agentur Rolle (Editor sind die Seitenverwalter und Agenturen sind Immobilienhändler). Jeder Immobilie ist per Referenz Feld eine Agentur zugewiesen (User mit der Rolle Agentur). Jeder Anfrage ist per Referenz Feld eine Immobilie zugewiesen. Wenn jetzt eine neue Anfrage erstellt wird, darf diese nur die Agentur sehen welche die Referenzierte Agentur der Angefragten Immobilie ist. Eigentlich logisch, sonst würden ja alle Agenturen alle Anfragen (auch von anderen Händlern) sehen. Benutzer mit der Editor Rolle dürfen alle Anfragen sehen und auch alle Felder, egal ob die Anfrage bereits angenommen wurde oder nicht. Mein Modul hat noch eine kleine UI erhalten wo man auswählen kann welche Rollen die ganzen Zugriffsbeschränkungen umgehen, derzeit eben Editor. Und man kann auswählen welche Felder nicht sichtbar sind bis die Anfrage bestätigt wurde.