Remove duration and needs_view inputs from inactive block edit form
This commit is contained in:
parent
a0013c8f56
commit
afffd3bf4b
2 changed files with 48 additions and 9 deletions
|
@ -12,16 +12,25 @@
|
||||||
<%= bootstrap_form_for(@user_block) do |f| %>
|
<%= bootstrap_form_for(@user_block) do |f| %>
|
||||||
<%= f.richtext_field :reason, :cols => 80, :rows => 20, :format => @user_block.reason_format %>
|
<%= f.richtext_field :reason, :cols => 80, :rows => 20, :format => @user_block.reason_format %>
|
||||||
|
|
||||||
<%= f.form_group do %>
|
<% if @user_block.active? %>
|
||||||
<%= label_tag "user_block_period", t(".period"), :class => "form-label" %>
|
<%= f.form_group do %>
|
||||||
<%= select_tag("user_block_period",
|
<%= label_tag "user_block_period", t(".period"), :class => "form-label" %>
|
||||||
options_for_select(UserBlock::PERIODS.collect { |h| [block_duration_in_words(h.hours), h.to_s] },
|
<%= select_tag "user_block_period",
|
||||||
UserBlock::PERIODS.min_by { |h| (params[:user_block_period].to_i - h).abs }),
|
options_for_select(UserBlock::PERIODS.collect { |h| [block_duration_in_words(h.hours), h.to_s] },
|
||||||
:class => "form-select") %>
|
UserBlock::PERIODS.min_by { |h| (params[:user_block_period].to_i - h).abs }),
|
||||||
<% end %>
|
:class => "form-select" %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
<%= f.form_group :needs_view do %>
|
<%= f.form_group :needs_view do %>
|
||||||
<%= f.check_box :needs_view %>
|
<%= f.check_box :needs_view %>
|
||||||
|
<% end %>
|
||||||
|
<% else %>
|
||||||
|
<div class="alert alert-info">
|
||||||
|
<%= t "user_blocks.update.inactive_block_cannot_be_reactivated" %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<%= hidden_field_tag "user_block_period", 0 %>
|
||||||
|
<%= f.hidden_field :needs_view %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= f.primary %>
|
<%= f.primary %>
|
||||||
|
|
|
@ -68,4 +68,34 @@ class UserBlocksSystemTest < ApplicationSystemTestCase
|
||||||
assert_unchecked_field "Are you sure you wish to revoke 2 active blocks?"
|
assert_unchecked_field "Are you sure you wish to revoke 2 active blocks?"
|
||||||
assert_button "Revoke!"
|
assert_button "Revoke!"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "duration controls are present for active blocks" do
|
||||||
|
creator_user = create(:moderator_user)
|
||||||
|
block = create(:user_block, :creator => creator_user, :reason => "Testing editing active blocks", :ends_at => Time.now.utc + 2.days)
|
||||||
|
sign_in_as(creator_user)
|
||||||
|
|
||||||
|
visit edit_user_block_path(block)
|
||||||
|
assert_field "Reason", :with => "Testing editing active blocks"
|
||||||
|
assert_select "user_block_period", :selected => "2 days"
|
||||||
|
assert_unchecked_field "Needs view"
|
||||||
|
|
||||||
|
fill_in "Reason", :with => "Editing active blocks works"
|
||||||
|
click_on "Update block"
|
||||||
|
assert_text(/Reason for block:\s+Editing active blocks works/)
|
||||||
|
end
|
||||||
|
|
||||||
|
test "duration controls are removed for inactive blocks" do
|
||||||
|
creator_user = create(:moderator_user)
|
||||||
|
block = create(:user_block, :expired, :creator => creator_user, :reason => "Testing editing expired blocks")
|
||||||
|
sign_in_as(creator_user)
|
||||||
|
|
||||||
|
visit edit_user_block_path(block)
|
||||||
|
assert_field "Reason", :with => "Testing editing expired blocks"
|
||||||
|
assert_no_select "user_block_period"
|
||||||
|
assert_no_field "Needs view"
|
||||||
|
|
||||||
|
fill_in "Reason", :with => "Editing expired blocks works"
|
||||||
|
click_on "Update block"
|
||||||
|
assert_text(/Reason for block:\s+Editing expired blocks works/)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue