I've a SDM 14.1.02 environment.. An area that has some confidential cases wants the following configuration:
- They we'll like that no one can see their tickets unless you're the end affected user of the case.
That for example i have a ticket number and i'll like to see the content of the case but if im not the end affected user i don't have access to the case.. Is this possible?
a DP constraint like "customer = @root.id" in call_req table view?
Side note: We would need to add a second clause like "email@example.com OR area != xyz" if we only want the one area to be restricted...
Wouldn't that mean only the affected end user would be able to work on the ticket?
Yes. if you don't have view to the ticket then you can't work on the ticket.
@Jason Lara, please clarify if this what you wanted. Thanks.
Hello Chi, What i want is that only the affected end user and the group that works with the ticket can see it.
firstname.lastname@example.org OR (group.[group]member_list.member IN @root.id)
If I understand your question correctly, you want only the group working on the ticket and the Affected End User to be able to view the ticket. I don't believe that is possible via data partitions as they pertain more to roles/groups and each ticket would require its own unique partition to accomplish the confidentiality you are looking for.
If you're wanting to have only the members of the group assigned to the ticket and the Affected End User be able to view the ticket, we've done that with data partition constraints. The below screen print shows the 'view' constraint on the Call_Req table that I have on all of the data partitions except the Administration role (because Admins should be able to see everything). The constraint includes multiple routing groups that work on tickets that could be considered 'confidential'.
After doing some tests, in my environment i resolved this using:
((group.last_name <> 'Soporte') AND (customer = @root.id)) or ((group.last_name = 'Soporte') AND (customer = @root.id)) or ((group.last_name <> 'Soporte') AND (customer != @root.id))
Seems to me you could simplify like this:
(customer = @root.id) OR ((group.last_name <> 'Soporte') AND (customer != @root.id))