Skip to content
Snippets Groups Projects
Commit 9d9f7961 authored by Eugen Rochko's avatar Eugen Rochko
Browse files

Adding more to admin accounts UI

parent d236dcde
No related branches found
No related tags found
No related merge requests found
......@@ -3,6 +3,7 @@
max-width: 100%;
border-spacing: 0;
border-collapse: collapse;
margin-bottom: 20px;
th, td {
padding: 8px;
......@@ -18,8 +19,39 @@
border-top: 0;
font-weight: 500;
}
& > tbody > tr > th {
font-weight: 500;
}
a {
color: #2b90d9;
text-decoration: underline;
&:hover {
text-decoration: none;
}
}
}
samp {
font-family: 'Roboto Mono', monospace;
}
.filters {
list-style: none;
margin-bottom: 20px;
li {
display: inline-block;
}
a {
color: #2b90d9;
text-decoration: underline;
&:hover {
text-decoration: none;
}
}
}
......@@ -2,14 +2,37 @@
class Admin::AccountsController < ApplicationController
before_action :require_admin!
before_action :set_account, except: :index
layout 'public'
def index
@accounts = Account.order('domain ASC, username ASC').paginate(page: params[:page], per_page: 40)
@accounts = @accounts.local if params[:local].present?
@accounts = @accounts.remote if params[:remote].present?
@accounts = @accounts.where(domain: params[:by_domain]) if params[:by_domain].present?
@accounts = @accounts.where(silenced: true) if params[:silenced].present?
@accounts = @accounts.reorder('id desc') if params[:recent].present?
end
def show; end
def update
if @account.update(account_params)
redirect_to admin_accounts_path
else
render :show
end
end
def show
private
def set_account
@account = Account.find(params[:id])
end
def account_params
params.require(:account).permit(:silenced)
end
end
%ul.filters
%li= link_to 'Local', admin_accounts_path(local: '1')
%li= link_to 'Remote', admin_accounts_path(remote: '1')
%li= link_to 'Silenced', admin_accounts_path(silenced: '1')
%li= link_to 'Most recent', admin_accounts_path(recent: '1')
%table.table
%thead
%tr
%th Username
%th Domain
%th Subscribed
%th Silenced
%th
%tbody
- @accounts.each do |account|
%tr
%td= account.username
%td= account.domain
%th
%td
- unless account.local?
= link_to account.domain, admin_accounts_path(by_domain: account.domain)
%td
- if account.local?
Local
- elsif account.subscribed?
%i.fa.fa-check
- else
%i.fa.fa-times
%td
- if account.silenced?
%i.fa.fa-check
- else
%i.fa.fa-times
%td= link_to 'Edit', admin_account_path(account.id)
= will_paginate @accounts, pagination_options
%table.table
%tbody
%tr
%th Username
%td= @account.username
%tr
%th Domain
%td= @account.domain
%tr
%th Display name
%td= @account.display_name
- if @account.local?
%tr
%th E-mail
%td= @account.user.email
%tr
%th Current IP
%td= @account.user.current_sign_in_ip
- else
%tr
%th Profile URL
%td= link_to @account.url
%tr
%th Feed URL
%td= link_to @account.remote_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
.actions
= f.button :button, t('generic.save_changes'), type: :submit
......@@ -46,7 +46,7 @@ Rails.application.routes.draw do
namespace :admin do
resources :pubsubhubbub, only: [:index]
resources :accounts, only: [:index, :show]
resources :accounts, only: [:index, :show, :update]
end
namespace :api do
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment