Adding index overview for reports in admin UI
This commit is contained in:
parent
f722aa8c75
commit
24ba7c9762
7 changed files with 54 additions and 2 deletions
17
app/controllers/admin/reports_controller.rb
Normal file
17
app/controllers/admin/reports_controller.rb
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class Admin::ReportsController < ApplicationController
|
||||||
|
before_action :require_admin!
|
||||||
|
|
||||||
|
layout 'admin'
|
||||||
|
|
||||||
|
def index
|
||||||
|
@reports = Report.includes(:account, :target_account).paginate(page: params[:page], per_page: 40)
|
||||||
|
@reports = params[:action_taken].present? ? @reports.resolved : @reports.unresolved
|
||||||
|
end
|
||||||
|
|
||||||
|
def show
|
||||||
|
@report = Report.find(params[:id])
|
||||||
|
@statuses = Status.where(id: @report.status_ids)
|
||||||
|
end
|
||||||
|
end
|
|
@ -77,7 +77,7 @@ class Status < ApplicationRecord
|
||||||
|
|
||||||
def permitted?(other_account = nil)
|
def permitted?(other_account = nil)
|
||||||
if private_visibility?
|
if private_visibility?
|
||||||
(account.id == other_account&.id || other_account&.following?(account) || mentions.include?(other_account))
|
(account.id == other_account&.id || other_account&.following?(account) || mentions.where(account: other_account).exists?)
|
||||||
else
|
else
|
||||||
other_account.nil? || !account.blocking?(other_account)
|
other_account.nil? || !account.blocking?(other_account)
|
||||||
end
|
end
|
||||||
|
|
|
@ -22,7 +22,11 @@
|
||||||
%td= @account.user.current_sign_in_ip
|
%td= @account.user.current_sign_in_ip
|
||||||
%tr
|
%tr
|
||||||
%th Most recent activity
|
%th Most recent activity
|
||||||
%td= l @account.user.current_sign_in_at
|
%td
|
||||||
|
- if @account.user.current_sign_in_at
|
||||||
|
= l @account.user.current_sign_in_at
|
||||||
|
- else
|
||||||
|
Never
|
||||||
- else
|
- else
|
||||||
%tr
|
%tr
|
||||||
%th Profile URL
|
%th Profile URL
|
||||||
|
|
27
app/views/admin/reports/index.html.haml
Normal file
27
app/views/admin/reports/index.html.haml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
- content_for :page_title do
|
||||||
|
Reports
|
||||||
|
|
||||||
|
.filters
|
||||||
|
.filter-subset
|
||||||
|
%strong Status
|
||||||
|
%ul
|
||||||
|
%li= filter_link_to 'Unresolved', action_taken: nil
|
||||||
|
%li= filter_link_to 'Resolved', action_taken: '1'
|
||||||
|
|
||||||
|
%table.table
|
||||||
|
%thead
|
||||||
|
%tr
|
||||||
|
%th ID
|
||||||
|
%th Target
|
||||||
|
%th Reported by
|
||||||
|
%th Comment
|
||||||
|
%th
|
||||||
|
%tbody
|
||||||
|
- @reports.each do |report|
|
||||||
|
%tr
|
||||||
|
%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= table_link_to 'circle', 'View', admin_report_path(report)
|
||||||
|
= will_paginate @reports, pagination_options
|
2
app/views/admin/reports/show.html.haml
Normal file
2
app/views/admin/reports/show.html.haml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
- content_for :page_title do
|
||||||
|
= "Report ##{@report.id}"
|
|
@ -13,6 +13,7 @@ SimpleNavigation::Configuration.run do |navigation|
|
||||||
end
|
end
|
||||||
|
|
||||||
primary.item :admin, safe_join([fa_icon('cogs fw'), 'Administration']), admin_accounts_url, if: proc { current_user.admin? } do |admin|
|
primary.item :admin, safe_join([fa_icon('cogs fw'), 'Administration']), admin_accounts_url, if: proc { current_user.admin? } do |admin|
|
||||||
|
admin.item :reports, safe_join([fa_icon('flag fw'), 'Reports']), admin_reports_url, highlights_on: %r{/admin/reports}
|
||||||
admin.item :accounts, safe_join([fa_icon('users fw'), 'Accounts']), admin_accounts_url, highlights_on: %r{/admin/accounts}
|
admin.item :accounts, safe_join([fa_icon('users fw'), 'Accounts']), admin_accounts_url, highlights_on: %r{/admin/accounts}
|
||||||
admin.item :pubsubhubbubs, safe_join([fa_icon('paper-plane-o fw'), 'PubSubHubbub']), admin_pubsubhubbub_index_url
|
admin.item :pubsubhubbubs, safe_join([fa_icon('paper-plane-o fw'), 'PubSubHubbub']), admin_pubsubhubbub_index_url
|
||||||
admin.item :domain_blocks, safe_join([fa_icon('lock fw'), 'Domain Blocks']), admin_domain_blocks_url
|
admin.item :domain_blocks, safe_join([fa_icon('lock fw'), 'Domain Blocks']), admin_domain_blocks_url
|
||||||
|
|
|
@ -66,6 +66,7 @@ Rails.application.routes.draw do
|
||||||
resources :pubsubhubbub, only: [:index]
|
resources :pubsubhubbub, only: [:index]
|
||||||
resources :domain_blocks, only: [:index, :create]
|
resources :domain_blocks, only: [:index, :create]
|
||||||
resources :settings, only: [:index, :update]
|
resources :settings, only: [:index, :update]
|
||||||
|
resources :reports, only: [:index, :show]
|
||||||
|
|
||||||
resources :accounts, only: [:index, :show] do
|
resources :accounts, only: [:index, :show] do
|
||||||
member do
|
member do
|
||||||
|
|
Loading…
Reference in a new issue