Create a web page that DJs can go to in order to view information and execute tasks.
[x] Upon initial load of the page, it should ask for DJ authentication.
[x] After granting authentication, API calls should be made to gather data about the authenticated DJ. They should be populated in blocks on the webpage. All blocks should exist on a single page, but tabs on the left side should control which blocks are visible (for sorting).
[x] System should pull djs/get, calendar/get, analytics/weekly-dj, and announcements/get (djcontrols announcements).
[x] Display djcontrols type announcements on the page
[ ] Display information pertaining to the DJ and their shows, such as if they are in the top 3 for the week, as well as warnings about missed top of hour IDs, unexcused absences, and early/late show sign-ons/offs. Also show when future shows have been canceled or the time updated and the reason. Also show whenever a sports broadcast is scheduled to interfere.
[x] Display DJ analytics
[ ] Complete issue 4 clockwheel configuration https://github.com/Lovinity/wwsu/issues/4 . Be sure to have a selector to select which show to edit clockwheel of, in case the DJ has multiple shows.
[x] Have a form to allow the DJ to cancel an upcoming show ~or request a re-run to air. When requesting a re-run, make a call to songs/get to get all of the available prerecords and list the ones under the DJ name (be careful because DJ Controls apply sanitation; consider this). Have the DJ create a playlist in the web interface of the tracks to play. Make sure in both cases,~ a reason is required to be specified and there's a selector for which show to cancel ~/ make a re-run.~ This form should call a new API endpoint in the server to process it and immediately reflect it on the calendar, also pushing accountability notifications / making logs.
[x] Link to the production and on-air studio bookings
[x] Allow the DJ to specify topics for upcoming shows, which will replace the description field for those shows in the calendar.
[ ] Have a form to allow for show sign-ups. Ask for DJ Name, Show Name, short (256-character) description, long (website) description, show graphic upload, and array of show proposals. Tie this in with the schedule generator / planner. Also add a configuration option allowing directors to specify a due date. When passed, show sign-ups are not available.
Create a web page that DJs can go to in order to view information and execute tasks.
[x] Upon initial load of the page, it should ask for DJ authentication.
[x] After granting authentication, API calls should be made to gather data about the authenticated DJ. They should be populated in blocks on the webpage. All blocks should exist on a single page, but tabs on the left side should control which blocks are visible (for sorting).
[x] System should pull djs/get, calendar/get, analytics/weekly-dj, and announcements/get (djcontrols announcements).
[x] Display djcontrols type announcements on the page
[ ] Display information pertaining to the DJ and their shows, such as if they are in the top 3 for the week, as well as warnings about missed top of hour IDs, unexcused absences, and early/late show sign-ons/offs. Also show when future shows have been canceled or the time updated and the reason. Also show whenever a sports broadcast is scheduled to interfere.
[x] Display DJ analytics
[ ] Complete issue 4 clockwheel configuration https://github.com/Lovinity/wwsu/issues/4 . Be sure to have a selector to select which show to edit clockwheel of, in case the DJ has multiple shows.
[x] Have a form to allow the DJ to cancel an upcoming show ~or request a re-run to air. When requesting a re-run, make a call to songs/get to get all of the available prerecords and list the ones under the DJ name (be careful because DJ Controls apply sanitation; consider this). Have the DJ create a playlist in the web interface of the tracks to play. Make sure in both cases,~ a reason is required to be specified and there's a selector for which show to cancel ~/ make a re-run.~ This form should call a new API endpoint in the server to process it and immediately reflect it on the calendar, also pushing accountability notifications / making logs.
[x] Link to the production and on-air studio bookings
[x] Allow the DJ to specify topics for upcoming shows, which will replace the description field for those shows in the calendar.
[ ] Have a form to allow for show sign-ups. Ask for DJ Name, Show Name, short (256-character) description, long (website) description, show graphic upload, and array of show proposals. Tie this in with the schedule generator / planner. Also add a configuration option allowing directors to specify a due date. When passed, show sign-ups are not available.