Fix admin UI for accounts somewhat
This commit is contained in:
		| @@ -76,6 +76,7 @@ | ||||
|  | ||||
|   .content-wrapper { | ||||
|     flex: 2; | ||||
|     overflow: auto; | ||||
|   } | ||||
|  | ||||
|   .content { | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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| | ||||
| @@ -43,16 +41,6 @@ | ||||
|             %i.fa.fa-check | ||||
|           - 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) | ||||
|   | ||||
| @@ -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 | ||||
|     %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') | ||||
|  | ||||
|   = f.input :silenced, as: :boolean, wrapper: :with_label | ||||
|   = f.input :suspended, as: :boolean, wrapper: :with_label | ||||
| - 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' | ||||
|  | ||||
|   .actions | ||||
|     = f.button :button, t('generic.save_changes'), type: :submit | ||||
|  | ||||
| = 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' | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user