]> cat aescling's git repositories - mastodon.git/commitdiff
Report processing improvements (#2349)
authorEffy Elden <github@effy.is>
Sun, 23 Apr 2017 22:44:37 +0000 (08:44 +1000)
committerEugen <eugen@zeonfederated.com>
Sun, 23 Apr 2017 22:44:37 +0000 (00:44 +0200)
* Expose media attachments on reported statuses directly

* Comment out unused bulk report checkbox. Add title to report comment for viewing full comment. Add 'contents' column, with icons and numerical indicators to show the number of referenced statuses and media attachments in the report

* Link account name on authorize_follow card back to account

* Add localisation string for report_contents

* Show new admin accounts card partial on report view. Apply simple_format to report comment so newlines are preserved.

* Add new admin accounts card partial, for display quick useful admin stats (e.g. report history, moderation status).

* Fix localized variable

app/models/report.rb
app/views/admin/accounts/_card.html.haml [new file with mode: 0644]
app/views/admin/reports/index.html.haml
app/views/admin/reports/show.html.haml
app/views/authorize_follow/_card.html.haml
config/locales/en.yml

index 54157ed8c748eccb84c910cec6a6c5fa26d1115c..c7d88774580ce0a3bc05dafc0529220d1388832c 100644 (file)
@@ -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 (file)
index 0000000..434fb38
--- /dev/null
@@ -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')
index 7309c719a70d8e035c738c7f01f8b876382ea2ef..7db9af6d16fb35c662c4c5e6159e3542c9bffdc3 100644 (file)
   %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
index aa144170d8912fc2750d171ac199138968801862..3868d4fada6f718d30277a85a0c20844c0660f7c 100644 (file)
@@ -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/
index 16af9220e58e5431436f14a8b50705d066479688..ee76f628d08f7382799252f0ae0766283530757d 100644 (file)
@@ -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)
index dda2acc135a415031a2a24e3354a5bf4ff145f52..aa5cc096f2305b8d9154f788ffcd0072c2485b07 100644 (file)
@@ -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