Przeglądaj źródła

Fix admin UI for accounts somewhat

master
Eugen Rochko 7 lat temu
rodzic
commit
5426f06ac2
5 zmienionych plików z 58 dodań i 31 usunięć
  1. +1
    -0
      app/assets/stylesheets/admin.scss
  2. +15
    -8
      app/controllers/admin/accounts_controller.rb
  3. +1
    -13
      app/views/admin/accounts/index.html.haml
  4. +37
    -9
      app/views/admin/accounts/show.html.haml
  5. +4
    -1
      config/routes.rb

+ 1
- 0
app/assets/stylesheets/admin.scss Wyświetl plik

@@ -76,6 +76,7 @@

.content-wrapper {
flex: 2;
overflow: auto;
}

.content {


+ 15
- 8
app/controllers/admin/accounts_controller.rb Wyświetl plik

@@ -19,19 +19,26 @@ class Admin::AccountsController < ApplicationController

def show; end

def update
if @account.update(account_params)
redirect_to admin_accounts_path
else
render :show
end
end

def suspend
Admin::SuspensionWorker.perform_async(@account.id)
redirect_to admin_accounts_path
end

def unsuspend
@account.update(suspended: false)
redirect_to admin_accounts_path
end

def silence
@account.update(silenced: true)
redirect_to admin_accounts_path
end

def unsilence
@account.update(silenced: false)
redirect_to admin_accounts_path
end

private

def set_account


+ 1
- 13
app/views/admin/accounts/index.html.haml Wyświetl plik

@@ -25,9 +25,7 @@
%tr
%th Username
%th Domain
%th Subscribed
%th Silenced
%th Suspended
%th= fa_icon 'paper-plane-o'
%th
%tbody
- @accounts.each do |account|
@@ -44,16 +42,6 @@
- else
%i.fa.fa-times
%td
- if account.silenced?
%i.fa.fa-check
- else
%i.fa.fa-times
%td
- if account.suspended?
%i.fa.fa-check
- else
%i.fa.fa-times
%td
= table_link_to 'circle', 'Web', web_path("accounts/#{account.id}")
= table_link_to 'globe', 'Public', TagManager.instance.url_for(account)
= table_link_to 'pencil', 'Edit', admin_account_path(account.id)


+ 37
- 9
app/views/admin/accounts/show.html.haml Wyświetl plik

@@ -18,8 +18,11 @@
%th E-mail
%td= @account.user.email
%tr
%th Current IP
%th Most recent IP
%td= @account.user.current_sign_in_ip
%tr
%th Most recent activity
%td= l @account.user.current_sign_in_at
- else
%tr
%th Profile URL
@@ -27,14 +30,39 @@
%tr
%th Feed URL
%td= link_to @account.remote_url
%tr
%th PuSH subscription expires
%td
- if @account.subscribed?
= l @account.subscription_expires_at
- else
Not subscribed
%tr
%th Salmon URL
%td= link_to @account.salmon_url

= simple_form_for @account, url: admin_account_path(@account.id) do |f|
= render 'shared/error_messages', object: @account

= f.input :silenced, as: :boolean, wrapper: :with_label
= f.input :suspended, as: :boolean, wrapper: :with_label
%tr
%th Follows
%td= @account.following.count
%tr
%th Followers
%td= @account.followers.count
%tr
%th Statuses
%td= @account.statuses.count
%tr
%th Media attachments
%td
= @account.media_attachments.count
= surround '(', ')' do
= number_to_human_size @account.media_attachments.sum('file_file_size')

.actions
= f.button :button, t('generic.save_changes'), type: :submit
- if @account.silenced?
= link_to 'Undo silence', unsilence_admin_account_path(@account.id), method: :post, class: 'button'
- else
= link_to 'Silence', silence_admin_account_path(@account.id), method: :post, class: 'button'

= link_to 'Perform full suspension', suspend_admin_account_path(@account.id), method: :post, data: { confirm: 'Are you sure?' }, class: 'button'
- if @account.suspended?
= link_to 'Undo suspension', unsuspend_admin_account_path(@account.id), method: :post, class: 'button'
- else
= link_to 'Perform full suspension', suspend_admin_account_path(@account.id), method: :post, data: { confirm: 'Are you sure?' }, class: 'button'

+ 4
- 1
config/routes.rb Wyświetl plik

@@ -67,9 +67,12 @@ Rails.application.routes.draw do
resources :domain_blocks, only: [:index, :create]
resources :settings, only: [:index, :update]

resources :accounts, only: [:index, :show, :update] do
resources :accounts, only: [:index, :show] do
member do
post :silence
post :unsilence
post :suspend
post :unsuspend
end
end
end


Ładowanie…
Anuluj
Zapisz