From 7e845c3825c16f8bc4addec1907fa5d65e8231e1 Mon Sep 17 00:00:00 2001 From: Martin Dolores Date: Wed, 26 Mar 2025 20:11:38 +1100 Subject: [PATCH 1/2] - modify 'users' table to include total_tutor_time --- db/migrate/20250326085802_add_total_tutor_time_to_users.rb | 5 +++++ db/schema.rb | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20250326085802_add_total_tutor_time_to_users.rb diff --git a/db/migrate/20250326085802_add_total_tutor_time_to_users.rb b/db/migrate/20250326085802_add_total_tutor_time_to_users.rb new file mode 100644 index 0000000000..66ac530fc0 --- /dev/null +++ b/db/migrate/20250326085802_add_total_tutor_time_to_users.rb @@ -0,0 +1,5 @@ +class AddTotalTutorTimeToUsers < ActiveRecord::Migration[7.1] + def change + add_column :users, :total_tutor_time, :decimal, precision: 10, scale: 2, null: false, default: 0.0 + end +end diff --git a/db/schema.rb b/db/schema.rb index 6daa71ebf1..c099b8e693 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.1].define(version: 2024_05_28_223908) do +ActiveRecord::Schema[7.1].define(version: 2025_03_26_085802) do create_table "activity_types", charset: "utf8", collation: "utf8_unicode_ci", force: :cascade do |t| t.string "name", null: false t.string "abbreviation", null: false @@ -509,6 +509,7 @@ t.string "tii_eula_version" t.datetime "tii_eula_date" t.boolean "tii_eula_version_confirmed", default: false, null: false + t.decimal "total_tutor_time", precision: 10, scale: 2, default: "0.0", null: false t.index ["login_id"], name: "index_users_on_login_id", unique: true t.index ["role_id"], name: "index_users_on_role_id" end From 1d0d64d1faa8915f406c886890732b977ef34539 Mon Sep 17 00:00:00 2001 From: Martin Dolores Date: Tue, 1 Apr 2025 19:24:49 +1100 Subject: [PATCH 2/2] - update user model to include total_tutor_time --- app/models/user.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/models/user.rb b/app/models/user.rb index 6e016badfd..e754a66d5a 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -144,6 +144,7 @@ def token_for_text?(a_token) validates :username, presence: true, uniqueness: { case_sensitive: false } validates :email, presence: true, uniqueness: { case_sensitive: false }, format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i } validates :student_id, uniqueness: true, allow_nil: true + validates :total_tutor_time, presence: true, numericality: { greater_than_or_equal_to: 0.0 } validate :can_change_to_role?, if: :will_save_change_to_role_id? # Queries