mirror of
https://github.com/funamitech/mastodon
synced 2024-12-23 02:58:34 +09:00
204d72fbe4
* Reports: Colocate account details with reports * Reports: Add count of account moderation notes Sometimes an account will be left with a note instead of the report, this adds a way to quickly see from a given report if this is the case.
125 lines
5.6 KiB
Plaintext
125 lines
5.6 KiB
Plaintext
- content_for :header_tags do
|
|
= javascript_pack_tag 'admin', integrity: true, async: true, crossorigin: 'anonymous'
|
|
|
|
- content_for :page_title do
|
|
= t('admin.reports.report', id: @report.id)
|
|
|
|
%div{ style: 'overflow: hidden; margin-bottom: 20px' }
|
|
- if @report.unresolved?
|
|
%div{ style: 'float: right' }
|
|
= link_to t('admin.reports.silence_account'), admin_report_path(@report, outcome: 'silence'), method: :put, class: 'button'
|
|
= link_to t('admin.reports.suspend_account'), admin_report_path(@report, outcome: 'suspend'), method: :put, class: 'button'
|
|
%div{ style: 'float: left' }
|
|
= link_to t('admin.reports.mark_as_resolved'), admin_report_path(@report, outcome: 'resolve'), method: :put, class: 'button'
|
|
- else
|
|
= link_to t('admin.reports.mark_as_unresolved'), admin_report_path(@report, outcome: 'reopen'), method: :put, class: 'button'
|
|
|
|
.table-wrapper
|
|
%table.table.inline-table
|
|
%tbody
|
|
%tr
|
|
%th= t('admin.reports.created_at')
|
|
%td{colspan: 2}
|
|
%time.formatted{ datetime: @report.created_at.iso8601 }
|
|
%tr
|
|
%th= t('admin.reports.updated_at')
|
|
%td{colspan: 2}
|
|
%time.formatted{ datetime: @report.updated_at.iso8601 }
|
|
%tr
|
|
%th= t('admin.reports.status')
|
|
%td
|
|
- if @report.action_taken?
|
|
= t('admin.reports.resolved')
|
|
- else
|
|
= t('admin.reports.unresolved')
|
|
%td{style: "text-align: right; overflow: hidden;"}
|
|
- if @report.action_taken?
|
|
= table_link_to 'envelope-open', t('admin.reports.reopen'), admin_report_path(@report, outcome: 'reopen'), method: :put
|
|
- if !@report.action_taken_by_account.nil?
|
|
%tr
|
|
%th= t('admin.reports.action_taken_by')
|
|
%td{colspan: 2}
|
|
= @report.action_taken_by_account.acct
|
|
- else
|
|
%tr
|
|
%th= t('admin.reports.assigned')
|
|
%td
|
|
- if @report.assigned_account.nil?
|
|
\-
|
|
- else
|
|
= link_to @report.assigned_account.acct, admin_account_path(@report.assigned_account.id)
|
|
%td{style: "text-align: right"}
|
|
- if @report.assigned_account != current_user.account
|
|
= table_link_to 'user', t('admin.reports.assign_to_self'), admin_report_path(@report, outcome: 'assign_to_self'), method: :put
|
|
- if !@report.assigned_account.nil?
|
|
= table_link_to 'trash', t('admin.reports.unassign'), admin_report_path(@report, outcome: 'unassign'), method: :put
|
|
|
|
%hr{ class: "section-break"}/
|
|
|
|
.report-accounts
|
|
.report-accounts__item
|
|
%h3= t('admin.reports.reported_account')
|
|
= render 'authorize_follows/card', account: @report.target_account, admin: true
|
|
= render 'admin/reports/account_details', account: @report.target_account
|
|
.report-accounts__item
|
|
%h3= t('admin.reports.reported_by')
|
|
= render 'authorize_follows/card', account: @report.account, admin: true
|
|
= render 'admin/reports/account_details', account: @report.account
|
|
|
|
%h3= t('admin.reports.comment.label')
|
|
|
|
= simple_format(@report.comment.presence || t('admin.reports.comment.none'))
|
|
|
|
- unless @report.statuses.empty?
|
|
%hr/
|
|
|
|
%h3= t('admin.reports.statuses')
|
|
|
|
= form_for(@form, url: admin_report_reported_statuses_path(@report.id)) do |f|
|
|
.batch-form-box
|
|
.batch-checkbox-all
|
|
= check_box_tag :batch_checkbox_all, nil, false
|
|
= f.select :action, Form::StatusBatch::ACTION_TYPE.map{|action| [t("admin.statuses.batch.#{action}"), action]}
|
|
= f.submit t('admin.statuses.execute'), data: { confirm: t('admin.reports.are_you_sure') }, class: 'button'
|
|
.media-spoiler-toggle-buttons
|
|
.media-spoiler-show-button.button= t('admin.statuses.media.show')
|
|
.media-spoiler-hide-button.button= t('admin.statuses.media.hide')
|
|
- @report.statuses.each do |status|
|
|
.report-status{ data: { id: status.id } }
|
|
.batch-checkbox
|
|
= f.check_box :status_ids, { multiple: true, include_hidden: false }, status.id
|
|
.activity-stream.activity-stream-headless
|
|
.entry= render 'stream_entries/simple_status', status: status
|
|
.report-status__actions
|
|
- unless status.media_attachments.empty?
|
|
= link_to admin_report_reported_status_path(@report, status, status: { sensitive: !status.sensitive }), method: :put, class: 'icon-button nsfw-button', title: t("admin.reports.nsfw.#{!status.sensitive}") do
|
|
= fa_icon status.sensitive? ? 'eye' : 'eye-slash'
|
|
= 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') }, remote: true do
|
|
= fa_icon 'trash'
|
|
|
|
%hr{ class: "section-break"}/
|
|
|
|
%h3= t('admin.reports.notes.label')
|
|
|
|
- if @report_notes.length > 0
|
|
%ul
|
|
= render @report_notes
|
|
|
|
%h4= t('admin.reports.notes.new_label')
|
|
= form_for @report_note, url: admin_report_notes_path, html: { class: 'report-note__form' } do |f|
|
|
= render 'shared/error_messages', object: @report_note
|
|
= f.text_area :content, placeholder: t('admin.reports.notes.placeholder'), rows: 6, class: 'report-note__textarea'
|
|
= f.hidden_field :report_id
|
|
%div{ class: 'report-note__buttons' }
|
|
- if @report.unresolved?
|
|
= f.submit t('admin.reports.notes.create_and_resolve'), name: :create_and_resolve, class: 'button report-note__button'
|
|
- else
|
|
= f.submit t('admin.reports.notes.create_and_unresolve'), name: :create_and_unresolve, class: 'button report-note__button'
|
|
= f.submit t('admin.reports.notes.create'), class: 'button report-note__button'
|
|
|
|
- if @report_history.length > 0
|
|
%h3= t('admin.reports.history')
|
|
|
|
%ul
|
|
= render @report_history
|