diff --git a/app/models/report.rb b/app/models/report.rb index 54157ed8c748eccb84c910cec6a6c5fa26d1115c..c7d88774580ce0a3bc05dafc0529220d1388832c 100644 --- a/app/models/report.rb +++ b/app/models/report.rb @@ -11,4 +11,12 @@ class Report < ApplicationRecord def statuses Status.where(id: status_ids) end + + def media_attachments + media_attachments = [] + statuses.each do |s| + media_attachments.concat s.media_attachments + end + media_attachments + end end diff --git a/app/views/admin/accounts/_card.html.haml b/app/views/admin/accounts/_card.html.haml new file mode 100644 index 0000000000000000000000000000000000000000..434fb38f8802fc23dce9d4aa74e7def5a65f2cb0 --- /dev/null +++ b/app/views/admin/accounts/_card.html.haml @@ -0,0 +1,16 @@ +%table.table + %tbody + %tr + %td= t('admin.accounts.show.created_reports') + %td= link_to pluralize(account.reports.count, t('admin.accounts.show.report')), admin_reports_path(account_id: account.id) + %tr + %td= t('admin.accounts.show.targeted_reports') + %td= link_to pluralize(account.targeted_reports.count, t('admin.accounts.show.report')), admin_reports_path(target_account_id: account.id) + - if account.silenced? or account.suspended? + %tr + %td= t('admin.accounts.moderation.title') + %td + - if account.silenced? + %p= t('admin.moderation.silenced') + - if account.suspended? + %p= t('admin.moderation.suspended') diff --git a/app/views/admin/reports/index.html.haml b/app/views/admin/reports/index.html.haml index 7309c719a70d8e035c738c7f01f8b876382ea2ef..7db9af6d16fb35c662c4c5e6159e3542c9bffdc3 100644 --- a/app/views/admin/reports/index.html.haml +++ b/app/views/admin/reports/index.html.haml @@ -13,20 +13,32 @@ %table.table %thead %tr - %th + -# %th %th= t('admin.reports.id') %th= t('admin.reports.target') %th= t('admin.reports.reported_by') %th= t('admin.reports.comment.label') + %th= t('admin.reports.report_contents') %th %tbody - @reports.each do |report| %tr - %td= check_box_tag 'select', report.id + -# %td= check_box_tag 'select', report.id %td= "##{report.id}" %td= link_to report.target_account.acct, admin_account_path(report.target_account.id) %td= link_to report.account.acct, admin_account_path(report.account.id) - %td= truncate(report.comment, length: 30, separator: ' ') + %td + %span{title: report.comment} + = truncate(report.comment, length: 30, separator: ' ') + %td + - unless report.statuses.empty? + %span{title: t('admin.accounts.statuses')} + = fa_icon('comment') + = report.statuses.count + - unless report.media_attachments.empty? + %span{title: t('admin.accounts.media_attachments')} + = fa_icon('camera') + = report.media_attachments.count %td= table_link_to 'circle', t('admin.reports.view'), admin_report_path(report) = paginate @reports diff --git a/app/views/admin/reports/show.html.haml b/app/views/admin/reports/show.html.haml index aa144170d8912fc2750d171ac199138968801862..3868d4fada6f718d30277a85a0c20844c0660f7c 100644 --- a/app/views/admin/reports/show.html.haml +++ b/app/views/admin/reports/show.html.haml @@ -5,14 +5,16 @@ .report-accounts__item %strong= t('admin.reports.reported_account') = render partial: 'authorize_follow/card', locals: { account: @report.target_account } + = render partial: 'admin/accounts/card', locals: { account: @report.target_account } .report-accounts__item %strong= t('admin.reports.reported_by') = render partial: 'authorize_follow/card', locals: { account: @report.account } + = render partial: 'admin/accounts/card', locals: { account: @report.account } %p %strong= t('admin.reports.comment.label') \: - = @report.comment.presence || t('admin.reports.comment.none') + = simple_format(@report.comment.presence || t('admin.reports.comment.none')) - unless @report.statuses.empty? %hr/ diff --git a/app/views/authorize_follow/_card.html.haml b/app/views/authorize_follow/_card.html.haml index 16af9220e58e5431436f14a8b50705d066479688..ee76f628d08f7382799252f0ae0766283530757d 100644 --- a/app/views/authorize_follow/_card.html.haml +++ b/app/views/authorize_follow/_card.html.haml @@ -4,8 +4,9 @@ = image_tag account.avatar.url(:original), alt: '', width: 48, height: 48, class: 'avatar' %span.display-name - %strong.emojify= display_name(account) - %span= "@#{account.acct}" + = link_to TagManager.instance.url_for(account), class: 'detailed-status__display-name p-author h-card', target: '_blank', rel: 'noopener' do + %strong.emojify= display_name(account) + %span= "@#{account.acct}" - if account.note? .account__header__content.emojify= Formatter.instance.simplified_format(account) diff --git a/config/locales/en.yml b/config/locales/en.yml index dda2acc135a415031a2a24e3354a5bf4ff145f52..aa5cc096f2305b8d9154f788ffcd0072c2485b07 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -147,6 +147,7 @@ en: report: 'Report #%{id}' reported_account: Reported account reported_by: Reported by + report_contents: Contents resolved: Resolved silence_account: Silence account status: Status