Commit Graph
100 Commits
Author SHA1 Message Date
joshuacoles f81005408e Add functionality to set default live video URL
Build and Publish Docker Container / build (push) Successful in 6m21s
A new method has been added to the `CoursesController` which allows admins to fill default live video URLs for online lectures that don't have one. This feature is accessible via a button on the courses admin page. The routing for this new action has also been set up.
2024-02-04 15:14:38 +00:00
joshuacoles c97041597b Add renumber lectures button 2024-02-04 15:05:12 +00:00
joshuacoles 0a6a68b519 Add the ability to put actions at the bottom of the show page in administrate 2024-02-04 14:53:22 +00:00
joshuacoles d4aa63e66a Add default_live_video_url to the course dashboard 2024-02-04 14:28:21 +00:00
joshuacoles d5faecdd12 Fix the fill_in_default_live_video_url! method 2024-02-04 14:24:55 +00:00
joshuacoles e8e143355d Add online property and live video URL to lecture models, as well as a default value at the course level 2024-02-04 14:23:07 +00:00
joshuacoles 4238e4fe4e Hide under-developed work items from the main screen 2024-02-04 14:07:03 +00:00
joshuacoles f0b458f6a1 Improve event summary parsing in course model
This commit refines event summary parsing in the course model. Instead of splitting the summary, it uses regular expressions to extract the unit code and short lecture title more accurately. The update also includes better handling of events that don't match this format.
2024-02-04 14:03:13 +00:00
joshuacoles 49282a72bf Add new semester 2 courses 2024-02-04 13:49:44 +00:00
joshuacoles 08b83e32ab Add uniqueness constraints to course properties 2024-02-04 13:38:05 +00:00
joshuacoles 4485624f79 Add archived to dashboard and change homepage to only show active (ie not archived) courses 2024-02-04 13:35:28 +00:00
joshuacoles 04566509dc Add archived property to courses 2024-02-04 13:31:50 +00:00
joshuacoles 665713de49 Fix service urls 2024-02-04 13:31:35 +00:00
joshuacoles d5d30c96fd A very messy overview page
Build and Publish Docker Container / build (push) Successful in 5m22s
2023-10-26 14:59:27 +01:00
joshuacoles a0e526662b Improve small scale styling a litle
Build and Publish Docker Container / build (push) Successful in 5m15s
2023-10-26 14:49:40 +01:00
joshuacoles 9d9d920eef Extract lecture actions into its own partial and add course homepage link 2023-10-26 14:28:32 +01:00
joshuacoles b0d134fabd Add started text to table 2023-10-26 14:21:33 +01:00
joshuacoles 9c6dea41f1 Extract course table to partial 2023-10-26 12:06:06 +01:00
joshuacoles 9b57b7a646 Add course_focus view
Build and Publish Docker Container / build (push) Successful in 5m13s
2023-10-26 12:03:37 +01:00
joshuacoles fa9d9d8936 Fix styling of the today table
Build and Publish Docker Container / build (push) Successful in 5m50s
2023-10-26 11:49:52 +01:00
joshuacoles 20cca634b3 Refactor lecture status icons into a partial 2023-10-24 15:11:09 +01:00
joshuacoles 67c9c96ce4 Remove redundant date column, improve sizing 2023-10-20 12:13:24 +01:00
joshuacoles 29638d80af Remove heading duplication 2023-10-20 12:10:06 +01:00
joshuacoles 3fb897fc8b MVP today view
Build and Publish Docker Container / build (push) Successful in 5m29s
2023-10-20 12:02:35 +01:00
joshuacoles cdd8c963ca Add today basic view
Build and Publish Docker Container / build (push) Successful in 5m59s
2023-10-16 12:19:00 +01:00
joshuacoles c65136e8b3 Fix sort, how did this even work??? 2023-10-16 12:17:38 +01:00
joshuacoles 9653423332 Add defined sort to the lectures index page 2023-10-12 09:58:23 +01:00
joshuacoles 0cb56424a1 Add a 5 minute period before a lecture where you can join
Build and Publish Docker Container / build (push) Successful in 5m46s
2023-10-12 09:40:59 +01:00
joshuacoles ea8a7a7871 Improve work item dashboard
Build and Publish Docker Container / build (push) Successful in 5m59s
2023-10-09 10:36:55 +01:00
joshuacoles caa55559f4 Add mssing sidekiq-scheduler
Build and Publish Docker Container / build (push) Successful in 5m22s
2023-10-08 22:14:21 +01:00
joshuacoles 04bc4c7405 Fix incorrect methods on work item routes.
Build and Publish Docker Container / build (push) Successful in 5m34s
2023-10-08 22:01:01 +01:00
joshuacoles ed3838c53f Ahh it used the wrong key... bugger
Build and Publish Docker Container / build (push) Successful in 5m37s
2023-10-08 19:28:53 +01:00
joshuacoles 7500061728 Something is up
Build and Publish Docker Container / build (push) Successful in 5m43s
2023-10-08 19:17:23 +01:00
joshuacoles 1ada65c7a3 Add static files docker container
Build and Publish Docker Container / build (push) Successful in 5m45s
2023-10-08 18:52:39 +01:00
joshuacoles d045257987 Fix dashboards 2023-10-08 18:52:28 +01:00
joshuacoles 45b5279792 Add homepage to course dashboard 2023-10-08 16:41:27 +01:00
joshuacoles 178559ac67 Add document links to dashboard 2023-10-08 16:40:46 +01:00
joshuacoles 3d078f215f Add document links to work items 2023-10-08 16:40:16 +01:00
joshuacoles f712837f91 Improve icons, add homepage links to courses
Build and Publish Docker Container / build (push) Successful in 5m28s
2023-10-08 16:38:40 +01:00
joshuacoles b2d8ee0dd9 Add live icon 2023-10-08 16:26:54 +01:00
joshuacoles 18f2399c0e Add better capacity for live lectures 2023-10-08 16:24:31 +01:00
joshuacoles 9da49ceed8 Remove lecture cancellation display 2023-10-08 16:21:55 +01:00
joshuacoles c8b688ce57 Flesh out work items in the UI
Build and Publish Docker Container / build (push) Successful in 5m43s
2023-10-08 16:06:07 +01:00
joshuacoles f9f4762450 Continue adding problem sheets 2023-10-08 15:46:19 +01:00
joshuacoles 7344ac3d67 Make it a little generic, time to step away for now
Build and Publish Docker Container / build (push) Successful in 5m55s
2023-10-07 16:05:26 +01:00
joshuacoles 8fd4072af3 Remove "Recording" header on table to allow for that column to contain more stuff 2023-10-07 15:55:52 +01:00
joshuacoles 6a2f053bb6 Added WorkItems as a new subject for TrackedTimeEntries.
- Made TrackedTimeEntries polymorphic to belong to both Lecture and WorkItems models
- Added associated migrations for existing data
- Added to administrate UI
2023-10-07 15:53:31 +01:00
joshuacoles f121c990e8 Add WorkItem model for Problem sheets and equivalent 2023-10-07 15:41:32 +01:00
joshuacoles 328616d55f Add comment and force rebuild
Build and Publish Docker Container / build (push) Successful in 6m10s
2023-10-07 15:00:03 +01:00
joshuacoles babbbf2be5 Allow configuration of the service URLs by ENV variables
Build and Publish Docker Container / build (push) Successful in 5m37s
2023-10-07 14:56:13 +01:00
joshuacoles 735e16ed2c Fix permissions on docker-entrypoint
Build and Publish Docker Container / build (push) Successful in 5m28s
2023-10-06 23:08:31 +01:00
joshuacoles 2b49e64123 Hide total line for weeks with no work done
Build and Publish Docker Container / build (push) Successful in 5m15s
2023-10-06 22:40:38 +01:00
joshuacoles a0918ce011 Add total lecture time and improve time representation
In the attendance tracker view, the total times for preparation, in lecture, and review have been humanized for better readability. Also, total time spent on lectures for each week has been included for a quicker overview. A helper method 'humanise_duration' has been added in application helper to convert time into a more readable format. Changes have been done in 'lecture' model for calculation of total time.
2023-10-06 22:38:48 +01:00
joshuacoles e6dcd8e6ec Update sidekiq description
Build and Publish Docker Container / build (push) Successful in 5m6s
2023-10-06 22:14:56 +01:00
joshuacoles a4fd2b853a Update dashboard
Build and Publish Docker Container / build (push) Successful in 5m20s
2023-10-06 22:11:36 +01:00
joshuacoles 3540fa75f7 Remove attendances model 2023-10-06 22:09:38 +01:00
joshuacoles 84143c683f Add some naive filtering to the Toggl scraping job to ignore time entries that have already been tracked 2023-10-06 22:06:54 +01:00
joshuacoles 0cb03812cf Track associated toggl entry id for uniqueness, show stats for time spent in different parts of the lecture flow. 2023-10-06 22:00:01 +01:00
joshuacoles ef301f6592 Add extra kinds to the tracked_time_entry 2023-10-06 21:10:26 +01:00
joshuacoles a2dfad331b Create TrackedTimeEntry as more general replacement of Attendance to include preparation and review 2023-10-06 21:09:28 +01:00
joshuacoles c706aa2561 Add status symbols for upcoming prep and review entries 2023-10-06 21:04:34 +01:00
joshuacoles 927a9032d4 Fix issue with popover when lecture not attended 2023-10-06 20:54:15 +01:00
joshuacoles 9a2508bb34 Improve styling
Build and Publish Docker Container / build (push) Successful in 5m8s
2023-10-06 20:52:03 +01:00
joshuacoles 41e3eebe52 Add in lecture time popover 2023-10-06 20:49:53 +01:00
joshuacoles fda26e3b53 Add tailwind-stimulus-components 2023-10-06 20:31:24 +01:00
joshuacoles 6178b580b1 Disable sass to make tailwind work
Build and Publish Docker Container / build (push) Successful in 5m34s
2023-10-06 20:30:40 +01:00
joshuacoles e3199a097f Move recording to its own column 2023-10-06 20:19:44 +01:00
joshuacoles 5b74f1380b Fix bug in toggl scraping
Build and Publish Docker Container / build (push) Failing after 5m4s
2023-10-06 16:10:17 +01:00
joshuacoles 04e1496c04 Fix SASS build issue take 3???
Build and Publish Docker Container / build (push) Failing after 4m43s
2023-10-05 10:00:13 +01:00
joshuacoles 750b67fd2f Fix panopto scraping 2023-10-05 09:59:13 +01:00
joshuacoles 04caed2783 Add checkin notifications for starting lectures 2023-10-05 09:59:08 +01:00
joshuacoles 9e8cf93b1a Try fix the sass build issue
Build and Publish Docker Container / build (push) Failing after 4m30s
2023-10-04 17:20:58 +01:00
joshuacoles f3e4940d6b Upgrade Rails to 7.1 rc2 to allow SECRET_KEY_BASE to function
Build and Publish Docker Container / build (push) Failing after 4m29s
2023-10-04 17:03:44 +01:00
joshuacoles f7039fc42a Maybe?
Build and Publish Docker Container / build (push) Failing after 4m13s
2023-10-04 16:58:02 +01:00
joshuacoles 0281abfecb Add SECRET_KEY_BASE_DUMMY
Build and Publish Docker Container / build (push) Failing after 4m4s
2023-10-04 15:15:19 +01:00
joshuacoles 6c8d2544e0 Add review and prep actions
Build and Publish Docker Container / build (push) Has been cancelled
2023-10-04 15:14:19 +01:00
joshuacoles 9621f6fa24 Add linux x86 platform for build pipeline
Build and Publish Docker Container / build (push) Failing after 4m34s
2023-10-04 15:01:56 +01:00
joshuacoles 7c96b2c2bc Add ability to start lecture and redirect to recorded content. 2023-10-04 15:00:23 +01:00
joshuacoles 0e0d26d06d Move calendar scraping to a model method 2023-10-04 14:41:15 +01:00
joshuacoles ef3642678d Add services to Procfile 2023-10-04 14:36:57 +01:00
joshuacoles 3972ca868c Update README
Build and Publish Docker Container / build (push) Failing after 1m22s
2023-10-04 14:17:16 +01:00
joshuacoles acac71fd57 Add build script 2023-10-04 14:15:33 +01:00
joshuacoles 76f10abe76 An attempt at docker 2023-10-04 14:14:06 +01:00
joshuacoles fe15365524 Add lecture kinds 2023-10-02 16:37:52 +01:00
joshuacoles 9a5116f29e Add Toggl data to attendances, fix attendance creation for past lectures. Change styling a little. 2023-10-02 16:19:37 +01:00
joshuacoles 2530ee629a Improve styling 2023-10-02 13:26:12 +01:00
joshuacoles fcff7ca839 Add the rest of my modules 2023-10-02 11:13:31 +01:00
joshuacoles 58c1280309 Update Lecture-Recording relationship and add Lecture cancellation status
The commit introduces notable changes to the Lecture-Recording model relationship in our application and adds a new cancellation status to Lecture model.

Models Lecture and Recording previously had a belongs_to :recording and belongs_to :lecture relationship respectively. However, this setup was not reflecting the correct relationship between these two entities in the actual educational setup where a lecture can have a recording but a recording is always of a lecture. Thus, the relationship has been revised to has_one :recording in Lecture and belongs_to :lecture in Recording models.

Also, added the ability to mark a lecture as "cancelled". This addresses the requirement of representing real-world scenarios where lectures are sometimes cancelled. This cancellation status is then reflected in the Attendance Tracker view and is also handled in the ScrapePanoptoJob.

Additionally, new changes are reflected in the application's schema, migration files, admin dashboard, and stylesheets (for displaying cancelled lectures).
2023-10-02 09:47:46 +01:00
joshuacoles d8a6f27734 Customise dashboards 2023-10-01 20:00:23 +01:00
joshuacoles d44460df93 Add recordings dashboard 2023-10-01 19:50:00 +01:00
joshuacoles d9d182bc94 Update lecture properties and various migration changes
Modified code to remove 'status' field from lecture's table and added 'event_uuid' field. Also refined the 'start_time' field in recordings' table to handle datetime instead of strings. Further, made minor changes in scraping jobs and seeding logic. Implemented these changes to allow lectures to be associated with calendar events and streamlined various fields.
2023-10-01 19:44:20 +01:00
joshuacoles 070816f0a2 Rename job to be more inline with other jobs 2023-10-01 18:01:41 +01:00
joshuacoles 83bc134998 Add basic calendar scraping 2023-10-01 17:58:37 +01:00
joshuacoles 915ce5112d Fix week numbering being off by one and add custom semester starts per module 2023-10-01 17:57:03 +01:00
joshuacoles ef34d1c5b5 Update panopto scraping to separate lectures from recordings. Implement naive lecture creation on new recordings. 2023-10-01 17:51:05 +01:00
joshuacoles 9923067a17 Stash 2023-10-01 17:34:41 +01:00
joshuacoles 69a97a3fa9 Add Recording model 2023-10-01 17:16:08 +01:00
joshuacoles 3300017d98 Add administrate 2023-10-01 15:05:10 +01:00
joshuacoles 285cf78d63 Add sidekiq 2023-10-01 14:31:52 +01:00
joshuacoles 3c55c64b3f Add future styling 2023-09-29 21:40:52 +01:00