about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEffy Elden <github@effy.is>2017-04-24 08:44:37 +1000
committerEugen <eugen@zeonfederated.com>2017-04-24 00:44:37 +0200
commit1801a36414ee79bd51aad23fc5ff6a90049e7270 (patch)
tree6966c2b6f1faa719acc4fec565ee3d403661ba89
parent501514960a9de238e23cd607d2e8f4c1ff9f16c1 (diff)
Report processing improvements (#2349)
* 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
-rw-r--r--app/models/report.rb8
-rw-r--r--app/views/admin/accounts/_card.html.haml16
-rw-r--r--app/views/admin/reports/index.html.haml18
-rw-r--r--app/views/admin/reports/show.html.haml4
-rw-r--r--app/views/authorize_follow/_card.html.haml5
-rw-r--r--config/locales/en.yml1
6 files changed, 46 insertions, 6 deletions
diff --git a/app/models/report.rb b/app/models/report.rb
index 54157ed8c..c7d887745 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 000000000..434fb38f8
--- /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 7309c719a..7db9af6d1 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 aa144170d..3868d4fad 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 16af9220e..ee76f628d 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 dda2acc13..aa5cc096f 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