From 6b57a8c160475a9f5d4eb9238856d5f06fb929ae Mon Sep 17 00:00:00 2001 From: Thibaud Guillaume-Gentil Date: Sun, 26 Jan 2025 19:17:05 +0100 Subject: [PATCH] Member, membership listing period display To avoid confusion with membership using delivery cycles, the membership calendar period is now displayed with the first and last delivery dates instead of the start and end dates. --- app/models/membership.rb | 4 ++++ app/views/members/memberships/_membership.html.slim | 2 +- test/system/members/membership_renewals_test.rb | 6 +++--- test/system/members/memberships_test.rb | 6 +++--- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/models/membership.rb b/app/models/membership.rb index 247e1d32..c4ebabac 100644 --- a/app/models/membership.rb +++ b/app/models/membership.rb @@ -453,6 +453,10 @@ def first_delivery baskets.first&.delivery end + def last_delivery + baskets.last&.delivery + end + def period started_on..ended_on end diff --git a/app/views/members/memberships/_membership.html.slim b/app/views/members/memberships/_membership.html.slim index 5be7b92d..5d4d228b 100644 --- a/app/views/members/memberships/_membership.html.slim +++ b/app/views/members/memberships/_membership.html.slim @@ -10,7 +10,7 @@ div id=membership.fiscal_year.year li class='flex flex-row items-center' = icon "calendar-days", class: "h-6 w-6 text-gray-300 dark:text-gray-700" span class='ml-2' - = [ membership.started_on, membership.ended_on ].map { |d| l(d) }.join(" – ") + = [ membership.first_delivery.date, membership.last_delivery.date ].map { |d| l(d) }.join(" – ") li class='mt-1 flex flex-row items-center' = icon "shopping-bag", class: "h-6 w-6 text-gray-300 dark:text-gray-700" diff --git a/test/system/members/membership_renewals_test.rb b/test/system/members/membership_renewals_test.rb index 30aa8730..e6d74f76 100644 --- a/test/system/members/membership_renewals_test.rb +++ b/test/system/members/membership_renewals_test.rb @@ -38,7 +38,7 @@ class Members::MembershipRenewalsTest < ApplicationSystemTestCase assert_includes menu_nav, "Membership\n⤷ Current" within "#2025 ul" do - assert_text "1 January 2025 – 31 December 2025" + assert_text "7 April 2025 – 12 June 2025" assert_text "Medium basket" assert_text "2x Bread and Eggs" assert_text "Home" @@ -89,7 +89,7 @@ class Members::MembershipRenewalsTest < ApplicationSystemTestCase assert_includes menu_nav, "Membership\n⤷ Current" within "#2025 ul" do - assert_text "1 January 2025 – 31 December 2025" + assert_text "10 April 2025 – 12 June 2025" end renewed_membership = membership.reload.renewed_membership @@ -117,7 +117,7 @@ class Members::MembershipRenewalsTest < ApplicationSystemTestCase assert_selector ".flash", text: "Your membership has been renewed. Thank you!" assert_includes menu_nav, "Membership\n⤷ Current" within "#2025 ul" do - assert_text "1 January 2025 – 31 December 2025" + assert_text "10 April 2025 – 12 June 2025" assert_text "Salary baskets" end diff --git a/test/system/members/memberships_test.rb b/test/system/members/memberships_test.rb index 4034e2f7..bb8ded8f 100644 --- a/test/system/members/memberships_test.rb +++ b/test/system/members/memberships_test.rb @@ -15,7 +15,7 @@ class Members::MembershipsTest < ApplicationSystemTestCase click_on "Membership" within "#2024 ul" do - assert_text "1 January 2024 – 31 December 2024" + assert_text "1 April 2024 – 3 June 202" assert_text " Medium basket" assert_text "Our farm" assert_text "10 Deliveries, one absence" @@ -32,11 +32,11 @@ class Members::MembershipsTest < ApplicationSystemTestCase click_on "Membership" within "#2024 ul" do - assert_text "1 January 2024 – 31 December 2024" + assert_text "4 April 2024 – 6 June 2024" assert_text "Large basket" assert_text "Bread" assert_text "Bakery" - assert_text " 10 Deliveries, 2 more on trial and without commitmen" + assert_text " 10 Deliveries, 2 more on trial and without commitment" assert_text "½ Days: 2 requested" assert_text "CHF 380.00" end