Denkanstoß für Datenfreigabe für Techniker
Hallo liebe Ninox-Freunde,
ich könnte mal einen Denkanstoß von euch Experten gebrauchen, oder einfach einen kleinen Tipp wie ich das Problem am klügsten löse.
Ich habe eine Projekt-/Auftragsverwaltung für unseren Handwerkerbetrieb erstellt. Hier werden im Büro die Projekte/Aufträge der Kunden eingepflegt.
Momentan sieht es so aus, dass ich ein Projekt anlegen kann und dieses Projekt mehrere Aufträge beinhalten soll (Grundbehandlung, Nachbehandlung, usw.). Somit beinhaltet jedes Projekt mehrere Aufträge.
Nun möchte ich im Beispielszenario dem Techniker "Mustermann" im Außendienst 5 Projekte freigeben, so dass er ausschließlich Zugriff auf diese 5 Projekte hat und gleichzeitig die untergeordneten Aufträge einsehen kann (um nachzuvollziehen, was zuletzt dort für Arbeiten ausgeführt worden sind). Er soll allerdings keinen Zugriff auf andere Projekte / Aufträge erhalten.
Meine Idee dazu wären nun folgende:
Ich gebe ein Projekt frei, indem ich in der Tabelle den Technikernamen in der Freigabe-Spalte (selbst erstellt, nur lesbar/schreibbar wenn Techniker=userRole) zuweise. Hier wird aber nur das Projekt freigegeben, nicht gleichzeitig auch die Aufträge der anderen Tabelle zu diesem Projekt.
Kann man dies per Trigger lösen? In etwa so, dass alle Aufträge des ausgewählten Projekts, mit Projektnummer 1234, ebenfalls die Freigabe per userRole "Mustermann" freigegeben werden? Falls das eine gute Idee sein sollte; könnte mir jemand einen Hinweis geben, wie ich das umsetze? Die Tabelle Aufträge müsste hier nach der entsprechenden "Projektnummer" (in der der Trigger ausgelöst wird) durchsucht werden und dann müssten sämtliche Aufträge mit Projektnummer "1234" in der Freigabe-Spalte auf userRole "Mustermann" gesetzt werden.
Dieses Problem beschäftigt mich nun schon einige Wochen und deshalb wage ich es jetzt nochmal hierüber. Vielleicht hat jemand eine gute Idee wie man das (eleganter) lösen könnte.
Vielen herzlichen Dank fürs Lesen und eure Zeit!
1 Antwort
-
Manchmal sieht man den Wald vor lauter Bäumen nicht mehr - ich zumindest .
Ich konnte es jetzt super einfach mittels einer Formel-Spalte in der Tabelle "Aufträge" lösen. Diese gibt mir jetzt einfach den Technikernamen (bzw. die userRole), den ich in "Projekte" zuweise, wieder. Es ist womöglich nicht die eleganteste Lösung, aber es funktioniert einwandfrei, wenn ich unter "Lesbar wenn" und "Schreibbar wenn" folgendes verwende:
userHasRole("admin") or userHasRole("editor") or 'Formel 4' = userRole()
Danke für eure Zeit, ich werde erstmal so weiterbauen!
Auf bald!
Content aside
- Status Answered
- vor 1 JahrZuletzt aktiv
- 1Antworten
- 72Ansichten
-
2
Folge bereits