diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/admin/reported_statuses_controller.rb | 26 | ||||
-rw-r--r-- | app/javascript/styles/admin.scss | 15 | ||||
-rw-r--r-- | app/views/admin/reports/show.html.haml | 5 |
3 files changed, 39 insertions, 7 deletions
diff --git a/app/controllers/admin/reported_statuses_controller.rb b/app/controllers/admin/reported_statuses_controller.rb index 7ae420dfe..0e7a89437 100644 --- a/app/controllers/admin/reported_statuses_controller.rb +++ b/app/controllers/admin/reported_statuses_controller.rb @@ -2,17 +2,31 @@ module Admin class ReportedStatusesController < BaseController - def destroy - status = Status.find params[:id] + before_action :set_report + before_action :set_status + + def update + @status.update(status_params) + redirect_to admin_report_path(@report) + end - RemovalWorker.perform_async(status.id) - redirect_to admin_report_path(report) + def destroy + RemovalWorker.perform_async(@status.id) + redirect_to admin_report_path(@report) end private - def report - Report.find(params[:report_id]) + def status_params + params.require(:status).permit(:sensitive) + end + + def set_report + @report = Report.find(params[:report_id]) + end + + def set_status + @status = @report.statuses.find(params[:id]) end end end diff --git a/app/javascript/styles/admin.scss b/app/javascript/styles/admin.scss index 3d3623154..d011548a7 100644 --- a/app/javascript/styles/admin.scss +++ b/app/javascript/styles/admin.scss @@ -245,4 +245,19 @@ .report-status__actions { flex: 0 0 auto; + position: relative; + + .nsfw-button { + color: $white; + font-size: 11px; + width: 11px; + display: block; + } + + .trash-button { + position: absolute; + bottom: 10px; + font-size: 24px; + width: 24px; + } } diff --git a/app/views/admin/reports/show.html.haml b/app/views/admin/reports/show.html.haml index ce5fe6cb6..560031079 100644 --- a/app/views/admin/reports/show.html.haml +++ b/app/views/admin/reports/show.html.haml @@ -24,7 +24,10 @@ .activity-stream.activity-stream-headless .entry= render partial: 'stream_entries/simple_status', locals: { status: status } .report-status__actions - = link_to admin_report_reported_status_path(@report, status), method: :delete, class: 'icon-button', style: 'font-size: 24px; width: 24px; height: 24px', title: t('admin.reports.delete') do + - unless status.media_attachments.empty? + = link_to admin_report_reported_status_path(@report, status, status: { sensitive: !status.sensitive }), method: :patch, class: 'nsfw-button', title: t("admin.reports.nsfw.#{!status.sensitive}") do + = t("admin.reports.nsfw.#{!status.sensitive}") + = link_to admin_report_reported_status_path(@report, status), method: :delete, class: 'icon-button trash-button', title: t('admin.reports.delete'), data: { confirm: t('admin.reports.are_you_sure') } do = fa_icon 'trash' - if !@report.action_taken? |