diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb index 95478709b..1749178af 100644 --- a/app/controllers/reports_controller.rb +++ b/app/controllers/reports_controller.rb @@ -1,7 +1,7 @@ class ReportsController < ApplicationController before_filter :member_only, :except => [:upload_tags] before_filter :gold_only, :only => [:similar_users] - before_filter :moderator_only, :only => [:post_versions, :post_versions_create] + before_filter :moderator_only, :only => [:post_versions, :post_versions_create, :down_voting_post_report, :down_voting_post_report_create] def uploads @report = Reports::Uploads.new(params[:min_date], params[:max_date], params[:queries]) @@ -23,4 +23,16 @@ class ReportsController < ApplicationController @user = User.find(params[:user_id]) @upload_reports = Reports::UploadTags.includes(versions: { post: :versions }).for_user(params[:user_id]).order("id desc").paginate(params[:page], :limit => params[:limit]) end + + def down_voting_post + end + + def down_voting_post_create + user_id = CurrentUser.id + post_id = params[:post_id].to_i + sqs = SqsService.new(Danbooru.config.aws_sqs_async_reports) + sqs.send_message("targetedpostdownvoting-#{user_id}-#{post_id}") + flash[:notice] = "You will be messaged when the report has finished generating" + redirect_to reports_down_voting_post_path + end end diff --git a/app/views/posts/partials/show/_options.html.erb b/app/views/posts/partials/show/_options.html.erb index dfa9ca9a7..126c18ca0 100644 --- a/app/views/posts/partials/show/_options.html.erb +++ b/app/views/posts/partials/show/_options.html.erb @@ -56,6 +56,10 @@ <% end %>
This report uses stastistical analysis to determine if a user's uploads are being targeted by an attacker. It will take some time to generate so you will receive a DMail with the results when it finishes.
+ + <%= form_tag(reports_down_voting_post_create_path) do %> + <%= hidden_field_tag "post_id", params[:post_id] %> + <%= submit_tag "Build" %> + <% end %> +