about summary refs log tree commit diff
path: root/app/controllers/admin/reported_statuses_controller.rb
diff options
context:
space:
mode:
authorabcang <abcang1015@gmail.com>2017-07-18 23:38:22 +0900
committerEugen Rochko <eugen@zeonfederated.com>2017-07-18 16:38:22 +0200
commit4d42a389540690b32886f2a38af1f86aee617d27 (patch)
tree7764542d3e92a977444fb1de17d18cc4d364aa11 /app/controllers/admin/reported_statuses_controller.rb
parent8387b3928ec7658192907da79df65e65aaa8a7fc (diff)
Improve admin page (#4121)
* Improve admin page

* Fix test

* Add spec

* Improve select style
Diffstat (limited to 'app/controllers/admin/reported_statuses_controller.rb')
-rw-r--r--app/controllers/admin/reported_statuses_controller.rb15
1 files changed, 13 insertions, 2 deletions
diff --git a/app/controllers/admin/reported_statuses_controller.rb b/app/controllers/admin/reported_statuses_controller.rb
index 32434d30f..5a31adecf 100644
--- a/app/controllers/admin/reported_statuses_controller.rb
+++ b/app/controllers/admin/reported_statuses_controller.rb
@@ -5,7 +5,14 @@ module Admin
     include Authorization
 
     before_action :set_report
-    before_action :set_status
+    before_action :set_status, only: [:update, :destroy]
+
+    def create
+      @form = Form::StatusBatch.new(form_status_batch_params)
+      flash[:alert] = t('admin.statuses.failed_to_execute') unless @form.save
+
+      redirect_to admin_report_path(@report)
+    end
 
     def update
       @status.update(status_params)
@@ -15,7 +22,7 @@ module Admin
     def destroy
       authorize @status, :destroy?
       RemovalWorker.perform_async(@status.id)
-      redirect_to admin_report_path(@report)
+      render json: @status
     end
 
     private
@@ -24,6 +31,10 @@ module Admin
       params.require(:status).permit(:sensitive)
     end
 
+    def form_status_batch_params
+      params.require(:form_status_batch).permit(:action, status_ids: [])
+    end
+
     def set_report
       @report = Report.find(params[:report_id])
     end