From 32d96db7d9ff605ce2fe962a85df7f4039a39fed Mon Sep 17 00:00:00 2001 From: "Stanko K.R." Date: Tue, 11 Nov 2025 18:48:27 +0100 Subject: [PATCH] Replace card id with card number --- app/models/card.rb | 7 ++++++- app/views/cards/display/_public_preview.html.erb | 2 +- app/views/cards/display/common/_board.html.erb | 2 +- app/views/events/event/_layout.html.erb | 2 +- app/views/prompts/cards/_card.html.erb | 4 ++-- db/migrate/20251111153019_add_number_to_cards.rb | 7 +++++++ db/schema.rb | 5 ++++- script/import-sqlite-database.rb | 6 +++--- test/fixtures/accounts.yml | 2 ++ test/fixtures/cards.yml | 5 +++++ test/models/card_test.rb | 13 +++++++++++++ 11 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 db/migrate/20251111153019_add_number_to_cards.rb diff --git a/app/models/card.rb b/app/models/card.rb index fb1025d4d..a509b4ff2 100644 --- a/app/models/card.rb +++ b/app/models/card.rb @@ -3,7 +3,7 @@ class Card < ApplicationRecord Golden, Mentions, Multistep, Pinnable, Postponable, Promptable, Readable, Searchable, Stallable, Statuses, Taggable, Triageable, Watchable - belongs_to :account, default: -> { Current.account } + belongs_to :account, default: -> { board.account } belongs_to :board, touch: true belongs_to :creator, class_name: "User", default: -> { Current.user } @@ -14,6 +14,7 @@ class Card < ApplicationRecord before_save :set_default_title, if: :published? after_update :handle_board_change, if: :saved_change_to_board_id? + before_create :assign_number scope :reverse_chronologically, -> { order created_at: :desc, id: :desc } scope :chronologically, -> { order created_at: :asc, id: :asc } @@ -81,4 +82,8 @@ class Card < ApplicationRecord def grant_access_to_assignees board.accesses.grant_to(assignees) end + + def assign_number + self.number ||= account.increment!(:cards_count).cards_count + end end diff --git a/app/views/cards/display/_public_preview.html.erb b/app/views/cards/display/_public_preview.html.erb index d3b36e229..edf73d3de 100644 --- a/app/views/cards/display/_public_preview.html.erb +++ b/app/views/cards/display/_public_preview.html.erb @@ -4,7 +4,7 @@
Card number - <%= card.id %> + <%= card.number %> <%= card.board.name %> diff --git a/app/views/cards/display/common/_board.html.erb b/app/views/cards/display/common/_board.html.erb index 96c2e191d..3e91a0d78 100644 --- a/app/views/cards/display/common/_board.html.erb +++ b/app/views/cards/display/common/_board.html.erb @@ -1,7 +1,7 @@