From e94a8a45ba8a51bc5d288e6cda713059a1c6ae1f Mon Sep 17 00:00:00 2001 From: Andy Allan Date: Wed, 13 Jan 2021 17:01:51 +0000 Subject: [PATCH] Refactor user_blocks form to use bootstrap Further refactoring could involve a virtual attribute for duration. --- app/views/user_blocks/edit.html.erb | 23 +++++++++-------------- app/views/user_blocks/new.html.erb | 28 +++++++++++----------------- config/locales/en.yml | 7 +++---- 3 files changed, 23 insertions(+), 35 deletions(-) diff --git a/app/views/user_blocks/edit.html.erb b/app/views/user_blocks/edit.html.erb index 6d06eeb87..882eb27b1 100644 --- a/app/views/user_blocks/edit.html.erb +++ b/app/views/user_blocks/edit.html.erb @@ -9,22 +9,17 @@ <% end %> -<%= form_for(@user_block, :html => { :class => "standard-form" }) do |f| %> - <%= f.error_messages %> +<%= bootstrap_form_for(@user_block) do |f| %> + <%= f.richtext_field :reason, :cols => 80, :rows => 20, :format => @user_block.reason_format %> -

- <%= f.label :reason, t(".reason", :name => @user_block.user.display_name) %>
- <%= richtext_area :user_block, :reason, :cols => 80, :rows => 20, :format => @user_block.reason_format %> -

-

+ <%= f.form_group do %> <%= label_tag "user_block_period", t(".period") %>
<%= select_tag("user_block_period", options_for_select(UserBlock::PERIODS.collect { |h| [block_duration_in_words(h.hours), h.to_s] }, params[:user_block_period])) %> -

-

+ <% end %> + + <%= f.form_group :needs_view do %> <%= f.check_box :needs_view %> - <%= f.label :needs_view, t(".needs_view") %> -

-

- <%= f.submit %> -

+ <% end %> + + <%= f.primary %> <% end %> diff --git a/app/views/user_blocks/new.html.erb b/app/views/user_blocks/new.html.erb index 1ebba0f04..c339d9f96 100644 --- a/app/views/user_blocks/new.html.erb +++ b/app/views/user_blocks/new.html.erb @@ -4,25 +4,19 @@ :name => link_to(@user.display_name, user_path(@user))) %> <% end %> -<%= form_for(@user_block, :html => { :class => "standard-form" }) do |f| %> - <%= f.error_messages %> +<%= bootstrap_form_for(@user_block) do |f| %> + <%= hidden_field_tag "display_name", @user.display_name %> + <%= f.richtext_field :reason, :cols => 80, :rows => 20 %> -

- <%= f.label :reason, t(".reason", :name => @user.display_name) %>
- <%= richtext_area :user_block, :reason, :cols => 80, :rows => 20 %> -

-

+ <%= f.form_group do %> <%= label_tag "user_block_period", t(".period") %>
<%= select_tag("user_block_period", options_for_select(UserBlock::PERIODS.collect { |h| [block_duration_in_words(h.hours), h.to_s] }, params[:user_block_period])) %> -

-

+ <% end %> + + <%= f.form_group :needs_view do %> <%= f.check_box :needs_view %> - <%= f.label :needs_view, t(".needs_view") %> -

-

- <%= hidden_field_tag "display_name", @user.display_name %> - <%= f.submit %> -

-<% end %> + <% end %> -<%= link_to t(".back"), user_blocks_path %> + <%= f.primary %> + <%= link_to t(".back"), user_blocks_path, :class => "btn btn-link" %> +<% end %> diff --git a/config/locales/en.yml b/config/locales/en.yml index a520fcb02..68517bee6 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -130,6 +130,9 @@ en: help: trace: tagstring: comma delimited + user_block: + reason: The reason why the user is being blocked. Please be as calm and as reasonable as possible, giving as much detail as you can about the situation, remembering that the message will be publicly visible. Bear in mind that not all users understand the community jargon, so please try to use laymans terms. + needs_view: Does the user need to log in before this block will be cleared? datetime: distance_in_words_ago: about_x_hours: @@ -2552,20 +2555,16 @@ en: new: title: "Creating block on %{name}" heading_html: "Creating block on %{name}" - reason: "The reason why %{name} is being blocked. Please be as calm and as reasonable as possible, giving as much detail as you can about the situation, remembering that the message will be publicly visible. Bear in mind that not all users understand the community jargon, so please try to use laymans terms." period: "How long, starting now, the user will be blocked from the API for." tried_contacting: "I have contacted the user and asked them to stop." tried_waiting: "I have given a reasonable amount of time for the user to respond to those communications." - needs_view: "User needs to log in before this block will be cleared" back: "View all blocks" edit: title: "Editing block on %{name}" heading_html: "Editing block on %{name}" - reason: "The reason why %{name} is being blocked. Please be as calm and as reasonable as possible, giving as much detail as you can about the situation. Bear in mind that not all users understand the community jargon, so please try to use laymans terms." period: "How long, starting now, the user will be blocked from the API for." show: "View this block" back: "View all blocks" - needs_view: "Does the user need to log in before this block will be cleared?" filter: block_expired: "The block has already expired and cannot be edited." block_period: "The blocking period must be one of the values selectable in the drop-down list." -- 2.39.5