From 915ce5112ddf61b6bbdd6d19acb336cfcec78ac2 Mon Sep 17 00:00:00 2001 From: Joshua Coles Date: Sun, 1 Oct 2023 17:57:03 +0100 Subject: [PATCH] Fix week numbering being off by one and add custom semester starts per module --- app/models/lecture.rb | 2 +- .../20231001165128_add_semester_start_date_to_course.rb | 5 +++++ db/schema.rb | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20231001165128_add_semester_start_date_to_course.rb diff --git a/app/models/lecture.rb b/app/models/lecture.rb index 5e2ebf8..ad8fb54 100644 --- a/app/models/lecture.rb +++ b/app/models/lecture.rb @@ -13,7 +13,7 @@ class Lecture < ApplicationRecord ], default: :undetermined def week_number - ((start_time.beginning_of_week - START_OF_YEAR_5_SEMESTER_1) / 1.week).floor + ((start_time.beginning_of_week - course.semester_start_date.to_time) / 1.week).floor + 1 end def live_video_url diff --git a/db/migrate/20231001165128_add_semester_start_date_to_course.rb b/db/migrate/20231001165128_add_semester_start_date_to_course.rb new file mode 100644 index 0000000..ac6fc64 --- /dev/null +++ b/db/migrate/20231001165128_add_semester_start_date_to_course.rb @@ -0,0 +1,5 @@ +class AddSemesterStartDateToCourse < ActiveRecord::Migration[7.0] + def change + add_column :courses, :semester_start_date, :date, default: START_OF_YEAR_5_SEMESTER_1.to_date + end +end diff --git a/db/schema.rb b/db/schema.rb index 2d6c9c6..8014af4 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2023_10_01_163055) do +ActiveRecord::Schema[7.0].define(version: 2023_10_01_165128) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -30,6 +30,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_10_01_163055) do t.jsonb "panopto_folders" t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.date "semester_start_date", default: "2023-10-02" end create_table "lectures", force: :cascade do |t|