if !user_block_was_active && @user_block.active?
flash.now[:error] = t(".inactive_block_cannot_be_reactivated")
render :action => "edit"
- elsif @user_block.save
- flash[:notice] = t(".success")
- redirect_to @user_block
else
- render :action => "edit"
+ @user_block.ends_at = @user_block.ends_at_was unless user_block_was_active
+ if @user_block.save
+ flash[:notice] = t(".success")
+ redirect_to @user_block
+ else
+ render :action => "edit"
+ end
end
end
else
get "/user/:display_name/blocks" => "user_blocks#blocks_on", :as => "user_blocks_on"
get "/user/:display_name/blocks_by" => "user_blocks#blocks_by", :as => "user_blocks_by"
get "/blocks/new/:display_name" => "user_blocks#new", :as => "new_user_block"
- resources :user_blocks
+ resources :user_blocks, :except => :new
match "/blocks/:id/revoke" => "user_blocks#revoke", :via => [:get, :post], :as => "revoke_user_block"
match "/user/:display_name/blocks/revoke_all" => "user_blocks#revoke_all", :via => [:get, :post], :as => "revoke_all_user_blocks"
{ :path => "/user_blocks", :method => :get },
{ :controller => "user_blocks", :action => "index" }
)
- assert_routing(
- { :path => "/user_blocks/new", :method => :get },
- { :controller => "user_blocks", :action => "new" }
- )
assert_routing(
{ :path => "/user_blocks", :method => :post },
{ :controller => "user_blocks", :action => "create" }
end
def check_inactive_block_updates(block)
+ original_ends_at = block.ends_at
+
put user_block_path(block,
:user_block_period => "0",
:user_block => { :needs_view => false, :reason => "Updated Reason" })
block.reload
assert_not_predicate block, :active?
assert_equal "Updated Reason", block.reason
+ assert_equal original_ends_at, block.ends_at
put user_block_path(block,
:user_block_period => "0",
block.reload
assert_not_predicate block, :active?
assert_equal "Updated Reason", block.reason
+ assert_equal original_ends_at, block.ends_at
put user_block_path(block,
:user_block_period => "1",
block.reload
assert_not_predicate block, :active?
assert_equal "Updated Reason", block.reason
+ assert_equal original_ends_at, block.ends_at
put user_block_path(block,
:user_block_period => "0",
block.reload
assert_not_predicate block, :active?
assert_equal "Updated Reason Again", block.reason
+ assert_equal original_ends_at, block.ends_at
end
def check_user_blocks_table(user_blocks)