Removed code for handling Osmrender export requests
[rails.git] / app / controllers / user_blocks_controller.rb
index 7d3830c251791c029b737fb5a2885da4b73bc418..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
@@ -109,11 +111,10 @@ class UserBlocksController < ApplicationController
   private
   ##
   # require that the user is a moderator, or fill out a helpful error message
-  # and return them to the login screen where they might be able to login as
-  # a moderator.
+  # 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
@@ -122,12 +123,16 @@ class UserBlocksController < ApplicationController
   # ensure that there is a "this_user" instance variable
   def lookup_this_user
     @this_user = User.find_by_display_name(params[:display_name])
+  rescue ActiveRecord::RecordNotFound
+    redirect_to :controller => 'user', :action => 'view', :display_name => params[:display_name] unless @this_user
   end
 
   ##
   # ensure that there is a "user_block" instance variable
   def lookup_user_block
     @user_block = UserBlock.find(params[:id])
+  rescue ActiveRecord::RecordNotFound
+    render :action => "not_found", :status => :not_found
   end
 
   ##
@@ -140,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