]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/user_blocks_controller.rb
Fix mass assignment errors with user blocks
[rails.git] / app / controllers / user_blocks_controller.rb
index fd9f03c4a9c4315d614dbd1a0855fa1576bd4a4b..2bdafa80e482aace89ced8123091255fb82fc9c1 100644 (file)
@@ -39,11 +39,13 @@ class UserBlocksController < ApplicationController
       return
     end
 
-    @user_block = UserBlock.new(:user_id => @this_user.id,
-                                :creator_id => @user.id,
-                                :reason => params[:user_block][:reason],
-                                :ends_at => Time.now.getutc() + @block_period.hours,
-                                :needs_view => params[:user_block][:needs_view])
+    @user_block = UserBlock.new({
+      :user_id => @this_user.id,
+      :creator_id => @user.id,
+      :reason => params[:user_block][:reason],
+      :ends_at => Time.now.getutc() + @block_period.hours,
+      :needs_view => params[:user_block][:needs_view]
+    }, :without_protection => true)
     
     if @user_block.save
       flash[:notice] = t('user_block.create.flash', :name => @this_user.display_name)
@@ -60,14 +62,14 @@ class UserBlocksController < ApplicationController
     end
 
     if @user_block.creator_id != @user.id
-      flash[:notice] = t('user_block.update.only_creator_can_edit')
+      flash[:error] = t('user_block.update.only_creator_can_edit')
       redirect_to :action => "edit"
       return
     end
       
     if @user_block.update_attributes({ :ends_at => Time.now.getutc() + @block_period.hours,
                                        :reason => params[:user_block][:reason],
-                                       :needs_view => params[:user_block][:needs_view] })
+                                       :needs_view => params[:user_block][:needs_view] }, :without_protection => true)
       flash[:notice] = t('user_block.update.success')
       redirect_to(@user_block)
     else
@@ -112,7 +114,7 @@ class UserBlocksController < ApplicationController
   # and return them to the blocks index.
   def require_moderator
     unless @user.moderator?
-      flash[:notice] = t('user_block.filter.not_a_moderator')
+      flash[:error] = t('user_block.filter.not_a_moderator')
       redirect_to :action => 'index'
     end
   end
@@ -143,10 +145,10 @@ class UserBlocksController < ApplicationController
     @valid_params = false
 
     if !UserBlock::PERIODS.include?(@block_period)
-      flash[:notice] = t('user_block.filter.block_period')
+      flash[:error] = t('user_block.filter.block_period')
       
     elsif @user_block and !@user_block.active?
-      flash[:notice] = t('user_block.filter.block_expired')
+      flash[:error] = t('user_block.filter.block_expired')
       
     else
       @valid_params = true