From 94b6ef89dd15f2ce5901bf7314a50ce9edd8f22a Mon Sep 17 00:00:00 2001 From: Christophe Robillard Date: Thu, 26 Feb 2026 17:17:39 +0100 Subject: [PATCH] guess moods according to user pref --- app/helpers/moods_helper.rb | 4 ++-- app/views/moods/index.html.erb | 2 +- db/migrate/20260226101258_add_guess_to_users.rb | 5 +++++ db/schema.rb | 3 ++- 4 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 db/migrate/20260226101258_add_guess_to_users.rb diff --git a/app/helpers/moods_helper.rb b/app/helpers/moods_helper.rb index f676d1d..0c04021 100644 --- a/app/helpers/moods_helper.rb +++ b/app/helpers/moods_helper.rb @@ -1,6 +1,6 @@ module MoodsHelper - def mode_for(mood) - if params[:guess] == "active" + def mode_for(mood, user) + if user.guess? mood[:mode] || mood[:guess] || "unknown" else mood[:mode] || "unknown" diff --git a/app/views/moods/index.html.erb b/app/views/moods/index.html.erb index db55032..0bfb4e2 100644 --- a/app/views/moods/index.html.erb +++ b/app/views/moods/index.html.erb @@ -48,7 +48,7 @@ <% month[:weeks].each do |week| %>
<% week.each do |mood| %> - <% mode = mode_for(mood) %> + <% mode = mode_for(mood, Current.user) %>
" data-mode="<%= mode %>" data-day="<%= l mood[:recorded_at].to_date %>" data-action="click->mood#updateDayInfo" title="<%= l(mood[:recorded_at].to_date) %> : <%= mode %>" class="day <%= mode %>">
<% end %>
diff --git a/db/migrate/20260226101258_add_guess_to_users.rb b/db/migrate/20260226101258_add_guess_to_users.rb new file mode 100644 index 0000000..038ae1c --- /dev/null +++ b/db/migrate/20260226101258_add_guess_to_users.rb @@ -0,0 +1,5 @@ +class AddGuessToUsers < ActiveRecord::Migration[8.0] + def change + add_column :users, :guess, :boolean, default: false + end +end diff --git a/db/schema.rb b/db/schema.rb index 3922a6e..db0c294 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[8.0].define(version: 2026_02_19_114040) do +ActiveRecord::Schema[8.0].define(version: 2026_02_26_101258) do create_table "moods", force: :cascade do |t| t.string "mode" t.datetime "recorded_at" @@ -48,6 +48,7 @@ ActiveRecord::Schema[8.0].define(version: 2026_02_19_114040) do t.datetime "invitation_accepted_at" t.string "username", null: false t.boolean "public", default: false + t.boolean "guess", default: false t.index ["email_address"], name: "index_users_on_email_address", unique: true end