Note: Please read through all the instructions on this epic - we do not expect you to complete all of it at once, and you should ABSOLUTELY split it into separate issues and PRs. Feel free to tackle as much as you can, in order as specified below. Both epics in proj-rec are important to set the stage for the rest of the features.
User Story
As a professor
I can accept or deny a student's pending request
So that I can give students an update on their request
As a professor
I can mark accepted requests as completed
So that I can give students an update on their request
As a professor
I can change denied requests to accepted
So that I can change my mind, or correct a mistake if I deny by mistake.
Discussion
When a student submits a recommendation request, it is not considered accepted until the professor accepts it. Professors should be able to change the status of an individual request.
A professor should also be able to see three pages (Pending, Completed, and Statistics). When they mark a request as completed, it will save the date that the request was marked completed.
Acceptance Criteria
[ ] Professors can accept or deny a student's request from the Pending Requests Page.
[ ] Professors can view the status of their requests on the Completed Requests Page.
[ ] Professors can see insights and statistics about their recommendations.
Implementation Todos
F1: Pages for Professor are Implemented
[ ] Create placeholder pages pages for each of the professor actions (view pending requests, see completed requests, and see statistics), The urls should be /requests/pending, /requests/completed and /requests/statistics and there should be menu items that appear for each of these, but only for users that have the professor role.
F1.1: Pending Requests Page
[ ] Professor can see list of requests and details of the request specifically for them
[ ] Professor can accept or deny requests from this page (modifying the column for status). Status should be pending and only the pending and accepted requests show up on this page. Once the professor modifies the status to either denied or completed, it moves to the completed requests page.
F1.2: Completed Requests Page
[ ] Should see a list of the requests that the professor has marked as denied, or completed
[ ] Completed requests page only shows the requests which have an completed or denied status
F1.3: Statistics Requests Page
[ ] Version 1: display number of outstanding requests, number of completed requests;
[ ] Version 2: display min, max, and average response time, i.e. time from request made until the request was completed.)
B1: Professor Role can edit the status field of a request
[ ] Ensure that the professor role has the permissions necessary to make post edits to the backend of a request
[ ] When a pending request is marked as accepted, denied, the dateAcceptedDenied is also saved to the backend
[ ] When a pending request is marked as accepted, denied, the dateCompleted is also saved to the backend
Make sure to query the backend correctly to ensure only requests for the current user professor are shown and on the proper pages. Let the staff know if you need help with this.
Note: Please read through all the instructions on this epic - we do not expect you to complete all of it at once, and you should ABSOLUTELY split it into separate issues and PRs. Feel free to tackle as much as you can, in order as specified below. Both epics in proj-rec are important to set the stage for the rest of the features.
User Story
Discussion
When a student submits a recommendation request, it is not considered accepted until the professor accepts it. Professors should be able to change the status of an individual request.
A professor should also be able to see three pages (Pending, Completed, and Statistics). When they mark a request as completed, it will save the date that the request was marked completed.
Acceptance Criteria
Implementation Todos
F1: Pages for Professor are Implemented
F1.1: Pending Requests Page
F1.2: Completed Requests Page
F1.3: Statistics Requests Page
B1: Professor Role can edit the status field of a request
dateAcceptedDenied
is also saved to the backenddateCompleted
is also saved to the backendMake sure to query the backend correctly to ensure only requests for the current user professor are shown and on the proper pages. Let the staff know if you need help with this.