Hello all, thank you for looking at this post
Scenario:
I need to create an 'Absence Request' system which needs to do all of the following:
-
Allow all users to see when anyone is on holiday (I understand how to create a calendar view of data in a list)
-
When a request is submitted to the list ONLY their immediate manager and the submitter should be able to see the request.
-
An approval workflow should then be started to submit to their manager for approval
-
If approved then the item should be visible to all
The Problem:
Imagine this structure in the IT department:
Jay and John report into steve (Steve can approve their Holidays), Sally and Jane report into Andy (Andy can approve their Holidays), Andy and Steve report into Ian (Who can approve their holidays)
I have created a form library in sharepoint and published an infopath form to it for users to fill in. This automatically is populated with data from a database (using a web service) with such things as their name and their managers name and email address... so far so good.
They are then able to submit this form to the library and relevant metadata in the list is created, namely their ManagersEmail address.I am able to get an email fired off to the correct manager for approval.
The problem is is because Andy, Steve and Ian have 'Approver' rights in the form library, they can all approve anyones submission, even their own!
It is impractical to create a library for each approval level (as this is just one dept and there are 30 ish).
My thoughts
-
I thought about trying to filter the list to only show items where the ManagerEmail field is equal to the users who is looking at the list. I tried the web parts but none seemed to allow me to specify which field i wanted to compare against.
-
Tried to make it aso only the Manager could open entries where he was in the ManagerEmail column
-
Thought about audiences but got nowhere
The Big Question(s)
-
Is it possible to have a different level of approval for each item in a list? (set programatically)
-
Could i filter the list so only items with the current users email in the ManagersEmail field show?
-
Can i only allow the user in the ManagerEmail field to approve the request
Either i am missing something here or lots of people must be having this problem.
Thanks in advance.