Use CanCanCan for search controller
[rails.git] / app / controllers / redactions_controller.rb
index 03324ad8f30cb0fdcd0b143929c1ef452b8835a8..45a41058c04f77cc785775060e30a4663777a9d4 100644 (file)
@@ -1,78 +1,69 @@
 class RedactionsController < ApplicationController
-  layout 'site'
-  
-  before_filter :authorize_web
-  before_filter :set_locale
-  before_filter :require_user, :only => [:new, :create, :edit, :update, :destroy]
-  before_filter :require_moderator, :only => [:new, :create, :edit, :update, :destroy]
-  before_filter :lookup_redaction, :only => [:show, :edit, :update, :destroy]
-  before_filter :check_database_readable
-  before_filter :check_database_writable, :only => [:create, :update, :destroy]
+  layout "site"
+
+  before_action :authorize_web
+  before_action :set_locale
+
+  authorize_resource
+
+  before_action :lookup_redaction, :only => [:show, :edit, :update, :destroy]
+  before_action :check_database_readable
+  before_action :check_database_writable, :only => [:create, :update, :destroy]
 
   def index
-    @redactions_pages, @redactions = paginate(:redactions, :order => :id, :per_page => 10)
+    @redactions = Redaction.order(:id)
   end
 
   def new
     @redaction = Redaction.new
   end
-     
+
   def create
     @redaction = Redaction.new
-    @redaction.user = @user
+    @redaction.user = current_user
     @redaction.title = params[:redaction][:title]
     @redaction.description = params[:redaction][:description]
-    # didn't see this come in from the form - maybe i'm doing something
-    # wrong, or markdown is the only thing supported at the moment?
-    @redaction.description_format = 'markdown'
+    # note that the description format will default to 'markdown'
 
     if @redaction.save
-      flash[:notice] = t('redaction.create.flash')
+      flash[:notice] = t(".flash")
       redirect_to @redaction
     else
-      render :action => 'new'
+      render :action => "new"
     end
   end
-     
-  def show
-  end
-  
-  def edit
-  end
-     
+
+  def show; end
+
+  def edit; end
+
   def update
     # note - don't update the user ID
-    
-    if params[:redaction][:title] and params[:redaction][:title] != @redaction.title
-      @redaction.title = params[:redaction][:title]
-    end
-
-    if params[:redaction][:description] and params[:redaction][:description] != @redaction.description
-      @redaction.description = params[:redaction][:description]
-    end
+    @redaction.title = params[:redaction][:title]
+    @redaction.description = params[:redaction][:description]
 
     if @redaction.save
-      flash[:notice] = t('redaction.update.flash')
+      flash[:notice] = t(".flash")
       redirect_to @redaction
     else
-      render :action => 'edit'
+      render :action => "edit"
     end
   end
-     
+
   def destroy
-    unless @redaction.old_nodes.empty? and
-        @redaction.old_ways.empty? and
-        @redaction.old_relations.empty?
-      flash[:error] = t('redaction.destroy.not_empty')
-      redirect_to @redaction
-    else
+    if @redaction.old_nodes.empty? &&
+       @redaction.old_ways.empty? &&
+       @redaction.old_relations.empty?
       if @redaction.destroy
-        flash[:notice] = t('redaction.destroy.flash')
+        flash[:notice] = t(".flash")
         redirect_to :redactions
       else
-        flash[:error] = t('redaction.destroy.error')
+        flash[:error] = t(".error")
         redirect_to @redaction
       end
+    else
+      flash[:error] = t(".not_empty")
+      redirect_to @redaction
     end
   end