49 lines
1.0 KiB
Ruby
49 lines
1.0 KiB
Ruby
|
ActiveAdmin.register User do
|
||
|
require 'csv'
|
||
|
|
||
|
filter :email
|
||
|
filter :login
|
||
|
filter :created_at
|
||
|
|
||
|
permit_params :email, :login, :bio, :website
|
||
|
|
||
|
index do
|
||
|
column :id
|
||
|
column :email
|
||
|
column :login
|
||
|
column :created_at
|
||
|
default_actions
|
||
|
end
|
||
|
|
||
|
show do
|
||
|
attributes_table do
|
||
|
rows :id, :email, :login, :time_zone, :bio, :website, :created_at, :sign_in_count, :current_sign_in_at, :last_sign_in_at, :current_sign_in_ip, :last_sign_in_ip
|
||
|
end
|
||
|
panel 'Channels' do
|
||
|
table_for user.channels do
|
||
|
column :id
|
||
|
column(:name) { |channel| link_to channel.name, channel }
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
form do |f|
|
||
|
f.semantic_errors *f.object.errors.keys
|
||
|
f.inputs :email, :login
|
||
|
f.actions
|
||
|
end
|
||
|
|
||
|
# custom action for signups per day
|
||
|
collection_action :signups, :method => :get, :format => :csv do
|
||
|
@csv_headers = [:day, :signups]
|
||
|
@days = User.signups_per_day
|
||
|
end
|
||
|
|
||
|
# custom action for emails list
|
||
|
collection_action :emails, :method => :get do
|
||
|
@users = User.all
|
||
|
end
|
||
|
|
||
|
end
|
||
|
|