Bladeren bron

Adding more to admin accounts UI

master
Eugen Rochko 7 jaren geleden
bovenliggende
commit
9d9f796130
5 gewijzigde bestanden met toevoegingen van 109 en 4 verwijderingen
  1. +32
    -0
      app/assets/stylesheets/tables.scss
  2. +24
    -1
      app/controllers/admin/accounts_controller.rb
  3. +18
    -2
      app/views/admin/accounts/index.html.haml
  4. +34
    -0
      app/views/admin/accounts/show.html.haml
  5. +1
    -1
      config/routes.rb

+ 32
- 0
app/assets/stylesheets/tables.scss Bestand weergeven

@@ -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;
}
}
}

+ 24
- 1
app/controllers/admin/accounts_controller.rb Bestand weergeven

@@ -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

+ 18
- 2
app/views/admin/accounts/index.html.haml Bestand weergeven

@@ -1,20 +1,36 @@
%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

+ 34
- 0
app/views/admin/accounts/show.html.haml Bestand weergeven

@@ -0,0 +1,34 @@
%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

+ 1
- 1
config/routes.rb Bestand weergeven

@@ -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


Laden…
Annuleren
Opslaan