Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/controllers/boards_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ def show_columns
end

def board_params
params.expect(board: [ :name, :all_access, :auto_postpone_period_in_days, :public_description ])
params.expect(board: [ :name, :all_access, :auto_postpone_period_in_days, :public_description, :triage_column_name, :postponed_column_name, :closed_column_name ])
end

def grantees
Expand Down
2 changes: 2 additions & 0 deletions app/models/board.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ class Board < ApplicationRecord

has_rich_text :public_description

validates :triage_column_name, :postponed_column_name, :closed_column_name, presence: true

has_many :tags, -> { distinct }, through: :cards
has_many :events
has_many :webhooks, dependent: :destroy
Expand Down
1 change: 1 addition & 0 deletions app/views/boards/edit.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
boards_form_self_removal_prompt_message_value: "Are you sure you want to remove yourself from this board? You won’t be able to get back in unless someone invites you.",
action: "turbo:submit-start->boards-form#submitWithWarning" } do |form| %>
<%= render "boards/edit/name", form: form, board: @board %>
<%= render "boards/edit/column_names", form: form, board: @board %>
<%= render "boards/edit/users", board: @board, selected_users: @selected_users, unselected_users: @unselected_users, form: form %>

<button type="submit" id="log_in" class="btn btn--link center txt-normal" data-bridge--form-target="submit" <%= "disabled" unless Current.user.can_administer_board?(@board) %>>
Expand Down
2 changes: 1 addition & 1 deletion app/views/boards/edit/_auto_close.html.erb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<%= turbo_frame_tag board, :entropy do %>
<div class="margin-block-end">
<h2 class="divider txt-large">Auto close</h2>
<p class="margin-none-block-start">Fizzy doesn’t let stale cards stick around forever. Cards automatically move to “Not now” if no one updates, comments, or moves a card for…</p>
<p class=margin-none-block-start>Fizzy doesn’t let stale cards stick around forever. Cards automatically move to “<%= board.postponed_column_name %>” if no one updates, comments, or moves a card for…</p>
Comment thread
jaspermayone marked this conversation as resolved.
Outdated
<%= render "entropy/auto_close", model: board, url: board_entropy_path(board), disabled: !Current.user.can_administer_board?(board) %>
</div>
<% end %>
27 changes: 27 additions & 0 deletions app/views/boards/edit/_column_names.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<div class="margin-block-end">
<h2 class="divider txt-large">Column names</h2>
<p class="margin-none-block-start">Customize the names of the built-in columns on this board.</p>

<div class="flex flex-column gap margin-block-start">
<label>
<div class="txt-small translucent margin-block-end-half">Inbox</div>
<%= form.text_field :triage_column_name, class: "input full-width", required: true,
placeholder: "Maybe?",
readonly: !Current.user.can_administer_board?(board) %>
</label>

<label>
<div class="txt-small translucent margin-block-end-half">Postponed</div>
<%= form.text_field :postponed_column_name, class: "input full-width", required: true,
placeholder: "Not Now",
readonly: !Current.user.can_administer_board?(board) %>
</label>

<label>
<div class="txt-small translucent margin-block-end-half">Closed</div>
<%= form.text_field :closed_column_name, class: "input full-width", required: true,
placeholder: "Done",
readonly: !Current.user.can_administer_board?(board) %>
</label>
</div>
</div>
4 changes: 2 additions & 2 deletions app/views/boards/show/_closed.html.erb
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<%= column_tag id: "closed-cards", name: "Done", drop_url: columns_card_drops_closure_path("__id__"), class: "cards--closed", style: "--card-color: var(--color-card-complete);",
<%= column_tag id: "closed-cards", name: board.closed_column_name, drop_url: columns_card_drops_closure_path("__id__"), class: "cards--closed", style: "--card-color: var(--color-card-complete);",
data: {
card_hotkeys_disabled: true,
drag_and_strum_target: "container",
collapsible_columns_target: "column",
action: "focus->collapsible-columns#focusOnColumn"
} do %>
<header class="cards__header">
<%= render "boards/show/expander", title: "Done", count: board.cards.closed.count, column_id: "closed-cards" %>
<%= render "boards/show/expander", title: board.closed_column_name, count: board.cards.closed.count, column_id: "closed-cards" %>
<%= render "boards/show/menu/maximize", column_path: board_columns_closed_path(board) %>
</header>
<%= column_frame_tag :closed_column, src: board_columns_closed_path(board) %>
Expand Down
4 changes: 2 additions & 2 deletions app/views/boards/show/_not_now.html.erb
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<%= column_tag id: "not-now", name: "Not Now", drop_url: columns_card_drops_not_now_path("__id__"), class: "cards--on-deck", style: "--card-color: var(--color-card-complete);",
<%= column_tag id: "not-now", name: board.postponed_column_name, drop_url: columns_card_drops_not_now_path("__id__"), class: "cards--on-deck", style: "--card-color: var(--color-card-complete);",
data: {
card_hotkeys_disabled: true,
collapsible_columns_target: "column",
drag_and_strum_target: "container",
action: "focus->collapsible-columns#focusOnColumn"
} do %>
<header class="cards__header">
<%= render "boards/show/expander", title: "Not Now", count: board.cards.postponed.count, column_id: "not-now" %>
<%= render "boards/show/expander", title: board.postponed_column_name, count: board.cards.postponed.count, column_id: "not-now" %>
<%= render "boards/show/menu/maximize", column_path: board_columns_not_now_path(board) %>
</header>
<%= column_frame_tag :not_now_column, src: board_columns_not_now_path(board) %>
Expand Down
4 changes: 2 additions & 2 deletions app/views/boards/show/_stream.html.erb
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<%= column_tag id: "maybe", name: "Maybe?", drop_url: columns_card_drops_stream_path("__id__"), collapsed: false, selected: "true", class: "cards--maybe", data: {
<%= column_tag id: "maybe", name: board.triage_column_name, drop_url: columns_card_drops_stream_path("__id__"), collapsed: false, selected: "true", class: "cards--maybe", data: {
drag_and_strum_target: "container",
collapsible_columns_target: "column maybeColumn",
action: "focus->collapsible-columns#focusOnColumn"
} do %>
<header class="cards__header">
<%= render "boards/show/expander", title: "Maybe?", count: board.cards.awaiting_triage.count, column_id: "maybe" %>
<%= render "boards/show/expander", title: board.triage_column_name, count: board.cards.awaiting_triage.count, column_id: "maybe" %>
<%= render "boards/show/menu/maximize", column_path: board_columns_stream_path(board) %>
</header>
<div data-bridge-disabled="true">
Expand Down
6 changes: 3 additions & 3 deletions app/views/cards/columns/edit.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<div class="card__stages" role="radiogroup" data-controller="scroll-to">
<legend class="for-screen-reader">Choose a column for this card</legend>

<%= button_to "Not now", card_not_now_path(@card),
<%= button_to @card.board.postponed_column_name, card_not_now_path(@card),
class: [ "card__column-name btn", { "card__column-name--current": @card.postponed? } ],
style: "--column-color: var(--color-card-complete)",
disabled: @card.postponed?,
Expand All @@ -11,7 +11,7 @@
data: { scroll_to_target: @card.postponed? ? "target" : nil },
form_class: "flex gap-half" %>

<%= button_to "Maybe?", card_triage_path(@card), method: :delete,
<%= button_to @card.board.triage_column_name, card_triage_path(@card), method: :delete,
class: [ "card__column-name card__column-name--stream btn", { "card__column-name--current": @card.awaiting_triage? } ],
style: "--column-color: var(--color-card-default)",
disabled: @card.awaiting_triage?,
Expand All @@ -33,7 +33,7 @@
data: { scroll_to_target: @card.closed? ? "target" : nil },
form_class: "flex gap-half" do %>
<%= icon_tag "check", class: "icon--mobile-only" %>
Done
<%= @card.board.closed_column_name %>
<% end %>
</div>
<% end %>
10 changes: 6 additions & 4 deletions app/views/cards/display/common/_stamp.html.erb
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
<% if card.postponed? %>
<% postponed_column_name = card.board.postponed_column_name %>
<%= tag.div class: token_list("card__closed", "card__closed--system": card.postponed_by&.system?), data: {
controller: "bridge--stamp",
bridge__stamp_scope_selector_value: ".card-perma",
bridge_title: "Not Now",
bridge_title: postponed_column_name,
bridge_description: card.postponed_at.strftime("%b %d, %Y")
} do %>
<span class="card__closed-title" data-text="Not Now">Not Now</span>
<span class="card__closed-title" data-text="<%= postponed_column_name %>"><%= postponed_column_name %></span>
<strong class="card__closed-date"><%= card.postponed_at.strftime("%b %d, %Y") %></strong>
<span class="card__closed-by-line">by <span class="card__closed-by"><%= card.postponed_by&.familiar_name %></span></span>
<% end %>
<% end %>

<% if card.closed? %>
<% closed_column_name = card.board.closed_column_name %>
<%= tag.div class: "card__closed", data: {
controller: "bridge--stamp",
bridge__stamp_scope_selector_value: ".card-perma",
bridge_title: "Done",
bridge_title: closed_column_name,
bridge_description: card.closed_at.strftime("%b %d, %Y")
} do %>
<span class="card__closed-title" data-text="Done">Done</span>
<span class="card__closed-title" data-text="<%= closed_column_name %>"><%= closed_column_name %></span>
<strong class="card__closed-date"><%= card.closed_at.strftime("%b %d, %Y") %></strong>
<span class="card__closed-by-line">by <span class="card__closed-by"><%= card.closed_by.familiar_name %></span></span>
<% end %>
Expand Down
2 changes: 1 addition & 1 deletion app/views/public/boards/show/_closed.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<div class="cards__transition-container">
<header class="cards__header">
<%= render "boards/show/expander", title: "Done", count: board.cards.closed.published.count, column_id: "closed-cards" %>
<%= render "boards/show/expander", title: board.closed_column_name, count: board.cards.closed.published.count, column_id: "closed-cards" %>

<%= link_to public_board_columns_closed_url(board.publication.key), class: "cards__maximize-button btn btn--circle txt-x-small borderless", data: { turbo_frame: "_top" } do %>
<%= icon_tag "grid", class: "translucent" %>
Expand Down
2 changes: 1 addition & 1 deletion app/views/public/boards/show/_not_now.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<div class="cards__transition-container">
<header class="cards__header">
<%= render "boards/show/expander", title: "Not Now", count: board.cards.postponed.count, column_id: "not-now" %>
<%= render "boards/show/expander", title: board.postponed_column_name, count: board.cards.postponed.count, column_id: "not-now" %>

<%= link_to public_board_columns_not_now_url(board.publication.key), class: "cards__maximize-button btn btn--circle txt-x-small borderless", data: { turbo_frame: "_top" } do %>
<%= icon_tag "grid", class: "translucent" %>
Expand Down
6 changes: 3 additions & 3 deletions app/views/public/boards/show/_stream.html.erb
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<section id="maybe"
class="cards cards--maybe is-expanded"
data-column-name="Maybe?"
data-column-name="<%= board.triage_column_name %>"
data-collapsible-columns-target="column maybeColumn"
data-action="turbo:before-morph-attribute->collapsible-columns#preventToggle">
<div class="cards__transition-container">
<header class="cards__header">
<div hidden class="cards__expander">
<h2 class="cards__expander-title" data-collapsible-columns-target="title">Maybe?</h2>
<h2 class="cards__expander-title" data-collapsible-columns-target="title"><%= board.triage_column_name %></h2>
</div>

<%# render "boards/show/expander", title: "Maybe?", count: column.cards.active.count, column_id: dom_id(column) %>
<%= render "boards/show/expander", title: "Maybe?", count: 2, column_id: "maybe" %>
<%= render "boards/show/expander", title: board.triage_column_name, count: 2, column_id: "maybe" %>

<%= link_to public_board_columns_stream_url(board.publication.key), class: "cards__maximize-button btn btn--circle txt-x-small borderless", data: { turbo_frame: "_top" } do %>
<%= icon_tag "grid", class: "translucent" %>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
class AddCustomColumnNamesToBoards < ActiveRecord::Migration[8.0]
Comment thread
jaspermayone marked this conversation as resolved.
Outdated
def change
add_column :boards, :triage_column_name, :string, null: false, default: "Maybe?"
add_column :boards, :postponed_column_name, :string, null: false, default: "Not Now"
add_column :boards, :closed_column_name, :string, null: false, default: "Done"
end
end
5 changes: 4 additions & 1 deletion db/schema.rb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.