Portal Navigation "Entscheiden" nicht sichtbar

Post Reply
Christoph
Posts: 94
Joined: 30. Mar 2016, 15:47
Contact:

Portal Navigation "Entscheiden" nicht sichtbar

Post by Christoph » 25. Jan 2023, 13:34

Hallo zusammen,
meine Frage dreht sich um die Genehmigungsvorgänge im Self Service Portal. Bei uns haben Nutzer den Wunsch geäußert, dass sie alle bereits von Ihnen bearbeiteten Genehmigungen einsehen können. Das scheint plausibel, im Standard von Matrix42 hat das Navigationselement "Entscheiden" -> "Servicegenehmigungen" aber einen Filter, der dies einschränkt. Ich habe das ASQL dazu mal ans Ende gestellt. Wenn ich es richtig interpretiere, dann bewirkt der Filter, dass das Navigationselement nur angezeigt wird:
Wenn es irgendwelche Approval-Tasks gibt, an denen man selbst beteilgt ist
UND
Der Nutzer ist entweder in irgendeiner (!!!) Gruppe oder eine der obigen Approval-Tasks ist noch offen.
Der Sinn der Einschränkung "Mitglied in irgendeiner Gruppe" erschließt sich hier nicht.
Ich habe erst gedacht, ich irre mich beim ASQL, aber es lässt sich genauso lösen -> dem Nutzer eine beliebige Rolle zuweisen und er kann alle seine Genehmigungen sehen, auch wenn keine davon offen ist.
Kennt jemand die fachliche Idee, die hinter dieser Einschränkung "Mitglied in einer Gruppe" steckt? Oder bin ich doch auf dem Holzweg?

Danke und viele Grüße
Christoph

Filter des Navigationselementes "Service_Approvals" im Self Service Portal

Code: Select all

EXISTS(
		SUBQUERY(
			SVCApprovalTaskClassBase As T,
			T.ID,
			(T.Recipient.ID  = CurrentUserId()
			and (exists(subquery([SchemaRelation-SPSSecurityClassRole2SPSUserClassBase] as s, s.ID, s.MemberOf = CurrentUserId())) or (T.T(SPSCommonClassBase).State <> 10024)))))
OR
EXISTS(
		SUBQUERY(
			SVCApprovalTaskClassBase As T,
			T.ID,
			T.Recipient.ActualProxyPerson  = CurrentUserId() 
			and (exists(subquery([SchemaRelation-SPSSecurityClassRole2SPSUserClassBase] as s, s.ID, s.MemberOf = CurrentUserId())) or (T.T(SPSCommonClassBase).State <> 10024))))
OR
EXISTS(
		SUBQUERY(
			SVCApprovalTaskClassBase As T,
			T.ID,
			T.Recipient.ActualProxyPerson.ActualProxyPerson  = CurrentUserId() 
			and
			(exists(subquery([SchemaRelation-SPSSecurityClassRole2SPSUserClassBase] as s, s.ID, s.MemberOf = CurrentUserId())) or (T.T(SPSCommonClassBase).State <> 10024))))
OR
EXISTS(
		SUBQUERY(
			SVCApprovalTaskClassBase As T,
			T.ID,
			(T.RecipientRole IN SUBQUERY(SPSScRoleClassBase as sc, sc.ID, sc.T(SPSSecurityClassRole).Members.ID  = CurrentUserId())
			OR 
			T.RecipientRole IN SUBQUERY(SPSScRoleClassBase as sc, sc.ID, sc.T(SPSSecurityClassRole).Members.ActualProxyPerson  = CurrentUserId())
			OR
			T.RecipientRole IN SUBQUERY(SPSScRoleClassBase as sc, sc.ID, sc.T(SPSSecurityClassRole).Members.ActualProxyPerson.ActualProxyPerson  = CurrentUserId()))
			and
			(exists(subquery([SchemaRelation-SPSSecurityClassRole2SPSUserClassBase] as s, s.ID, s.MemberOf = CurrentUserId())) or (T.T(SPSCommonClassBase).State <> 10024))))

Post Reply

Return to “Administration”

Who is online

Users browsing this forum: No registered users and 1 guest