diff --git a/app/helpers/cards_helper.rb b/app/helpers/cards_helper.rb index 08165c2d5..e13defa96 100644 --- a/app/helpers/cards_helper.rb +++ b/app/helpers/cards_helper.rb @@ -1,8 +1,4 @@ module CardsHelper - def card_title(card) - card.title.presence || "Untitled" - end - def cards_next_page_link(target, page:, filter:, fetch_on_visible: false, data: {}, **options) url = cards_previews_path(target: target, page: page.next_param, **filter.as_params) diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index ee0a908c2..a65236e7e 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -66,30 +66,30 @@ module EventsHelper case event.action when "assigned" if event.assignees.include?(Current.user) - "#{ event.creator == Current.user ? "You" : event.creator.name } will handle #{ card_title(event.card) }".html_safe + "#{ event.creator == Current.user ? "You" : event.creator.name } will handle #{ event.card.title }".html_safe else - "#{ event.creator == Current.user ? "You" : event.creator.name } assigned #{ event.assignees.pluck(:name).to_sentence } to #{ card_title(event.card) }".html_safe + "#{ event.creator == Current.user ? "You" : event.creator.name } assigned #{ event.assignees.pluck(:name).to_sentence } to #{ event.card.title }".html_safe end when "unassigned" "#{ event.creator == Current.user ? "You" : event.creator.name } unassigned #{ event.assignees.include?(Current.user) ? "yourself" : event.assignees.pluck(:name).to_sentence } from #{ card_title(event.card) }".html_safe when "commented" - "#{ event.creator == Current.user ? "You" : event.creator.name } commented on #{ card_title(event.card) }".html_safe + "#{ event.creator == Current.user ? "You" : event.creator.name } commented on #{ event.card.title }".html_safe when "published" - "#{ event.creator == Current.user ? "You" : event.creator.name } added #{ card_title(event.card) }".html_safe + "#{ event.creator == Current.user ? "You" : event.creator.name } added #{ event.card.title }".html_safe when "closed" - "#{ event.creator == Current.user ? "You" : event.creator.name } closed #{ card_title(event.card) }".html_safe + "#{ event.creator == Current.user ? "You" : event.creator.name } closed #{ event.card.title }".html_safe when "staged" - "#{event.creator == Current.user ? "You" : event.creator.name} moved #{ card_title(event.card) } to the #{event.stage_name} stage".html_safe + "#{event.creator == Current.user ? "You" : event.creator.name} moved #{ event.card.title } to the #{event.stage_name} stage".html_safe when "unstaged" - "#{event.creator == Current.user ? "You" : event.creator.name} moved #{ card_title(event.card) } out ofthe #{event.stage_name} stage".html_safe + "#{event.creator == Current.user ? "You" : event.creator.name} moved #{ event.card.title } out ofthe #{event.stage_name} stage".html_safe when "due_date_added" - "#{event.creator == Current.user ? "You" : event.creator.name} set the date to #{event.particulars.dig('particulars', 'due_date').to_date.strftime('%B %-d')} on #{ card_title(event.card) }".html_safe + "#{event.creator == Current.user ? "You" : event.creator.name} set the date to #{event.particulars.dig('particulars', 'due_date').to_date.strftime('%B %-d')} on #{ event.card.title }".html_safe when "due_date_changed" - "#{event.creator == Current.user ? "You" : event.creator.name} changed the date to #{event.particulars.dig('particulars', 'due_date').to_date.strftime('%B %-d')} on #{ card_title(event.card) }".html_safe + "#{event.creator == Current.user ? "You" : event.creator.name} changed the date to #{event.particulars.dig('particulars', 'due_date').to_date.strftime('%B %-d')} on #{ event.card.title }".html_safe when "due_date_removed" - "#{event.creator == Current.user ? "You" : event.creator.name} removed the date on #{ card_title(event.card) }" + "#{event.creator == Current.user ? "You" : event.creator.name} removed the date on #{ event.card.title }" when "title_changed" - "#{event.creator == Current.user ? "You" : event.creator.name} renamed #{ card_title(event.card) } (was: '#{event.particulars.dig('particulars', 'old_title')})'".html_safe + "#{event.creator == Current.user ? "You" : event.creator.name} renamed #{ event.card.title } (was: '#{event.particulars.dig('particulars', 'old_title')})'".html_safe end end diff --git a/app/helpers/notifications_helper.rb b/app/helpers/notifications_helper.rb index 12bc5f745..0b30ce9cb 100644 --- a/app/helpers/notifications_helper.rb +++ b/app/helpers/notifications_helper.rb @@ -1,11 +1,9 @@ module NotificationsHelper def notification_title(notification) - title = card_title(notification.card) - if notification.resource.is_a? Comment - "RE: " + title + "RE: " + notification.card.title elsif notification_event_action(notification) == "assigned" - "Assigned to you: " + title + "Assigned to you: " + notification.card.title else title end diff --git a/app/models/card.rb b/app/models/card.rb index 8b826e73b..e2191aa41 100644 --- a/app/models/card.rb +++ b/app/models/card.rb @@ -37,6 +37,10 @@ class Card < ApplicationRecord end end + def title=(new_title) + self[:title] = new_title.presence || "Untitled" + end + def cache_key [ super, collection&.name ].compact.join("/") end diff --git a/app/views/cards/display/_mini.html.erb b/app/views/cards/display/_mini.html.erb index 8ed453216..7d1961d2c 100644 --- a/app/views/cards/display/_mini.html.erb +++ b/app/views/cards/display/_mini.html.erb @@ -11,7 +11,7 @@

- <%= card_title(card) %> + <%= card.title %>

@@ -19,6 +19,6 @@
<%= link_to collection_card_path(card.collection, card), class: "card__link" do %> - <%= card_title(card) %> + <%= card.title %> <% end %> <% end %> diff --git a/app/views/cards/display/_perma.html.erb b/app/views/cards/display/_perma.html.erb index c4c89046c..8210f0af6 100644 --- a/app/views/cards/display/_perma.html.erb +++ b/app/views/cards/display/_perma.html.erb @@ -12,7 +12,7 @@

<% if card.published? %> <%= turbo_frame_tag card, :edit do %> - <%= link_to card_title(card), edit_collection_card_path(card.collection, card), class: "card__title-link overflow-line-clamp" %> + <%= link_to card.title, edit_collection_card_path(card.collection, card), class: "card__title-link overflow-line-clamp" %> <% end %> <% else %> <%= form_with model: card, url: collection_card_path(card.collection, card), id: "card_form", data: { controller: "auto-save" } do |form| %> diff --git a/app/views/cards/display/_preview.html.erb b/app/views/cards/display/_preview.html.erb index ceffc0867..bc1c86e13 100644 --- a/app/views/cards/display/_preview.html.erb +++ b/app/views/cards/display/_preview.html.erb @@ -8,12 +8,12 @@

- <%= card_title(card) %> + <%= card.title %>

<%= link_to collection_card_path(card.collection, card), class: "card__link" do %> - <%= card_title(card) %> + <%= card.title %> <% end %> <%= render "cards/stagings/stages", card: card if card.doing? %> diff --git a/app/views/cards/edit.html.erb b/app/views/cards/edit.html.erb index db9ae674d..5e5e0d1d9 100644 --- a/app/views/cards/edit.html.erb +++ b/app/views/cards/edit.html.erb @@ -2,10 +2,10 @@ <%= form_with model: @card, url: collection_card_path(@card.collection, @card), class: "flex flex-column gap full-width", data: { controller: "form" } do |form| %> <%= form.label :title, class: "flex flex-column align-center" do %> <%= form.text_area :title, class: "input input--textarea full-width borderless txt-align-start card__title-field", - required: true, autofocus: true, placeholder: "Name it…", - rows: 3, - data: { action: "keydown.enter->form#submit:prevent keydown.ctrl+enter->form#submit:prevent keydown.meta+enter->form#submit:prevent keydown.esc->form#cancel focus->form#select" }, - style: "color: var(--spat-color); --input-border-radius: 0" %> + required: true, autofocus: true, placeholder: "Name it…", + rows: 3, + data: { action: "keydown.enter->form#submit:prevent keydown.ctrl+enter->form#submit:prevent keydown.meta+enter->form#submit:prevent keydown.esc->form#cancel focus->form#select" }, + style: "color: var(--spat-color); --input-border-radius: 0" %> <% end %> <%= form.button "Save", type: :submit, hidden: true %> <%= link_to "Close editor and discard changes", collection_card_path(@card.collection, @card), data: { form_target: "cancel" }, hidden: true %> diff --git a/app/views/cards/show.html.erb b/app/views/cards/show.html.erb index 4878312af..cc284ec5d 100644 --- a/app/views/cards/show.html.erb +++ b/app/views/cards/show.html.erb @@ -1,4 +1,4 @@ -<% @page_title = card_title(@card) %> +<% @page_title = @card.title %> <%= turbo_stream_from @card %> <% content_for :header do %> diff --git a/app/views/my/pins/_pin.html.erb b/app/views/my/pins/_pin.html.erb index 2a3e35689..36e7ce132 100644 --- a/app/views/my/pins/_pin.html.erb +++ b/app/views/my/pins/_pin.html.erb @@ -17,7 +17,7 @@ <% end %>
- <%= card_title(pin.card) %> + <%= pin.card.title %>