14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/generators/active_admin/logins/install/install_generator.rb', line 14
def create_user_login_file
create_file "app/admin/user_login.rb" do
%Q{ActiveAdmin.register UserLogin do
config.batch_actions = false
config.sort_order = 'created_at_desc'
filter :ip, as: :string
filter :user_agent
filter :created_at
filter :country
filter :city
# In order to hack the heroku issue with collations
# We're sorting in rails and not on the DB level
filter :user, collection: proc { User.all.sort_by { |u| u.email.downcase } }
index do
column(:user, sortable: "users.email") do |login|
link_to login.user.email, admin_user_path(login.user)
end
column :ip
column :user_agent
column :country
column :city
column(:date, sortable: "created_at") do |login|
login.created_at
end
column(:filter) do |login|
link_to(I18n.t("messages.filters.this_user", default: "Filter by this user"),
admin_user_logins_path({ q: { user_id_eq: login.user.id } }))
end
end
controller do
def scoped_collection
super.includes :user # prevents N+1 queries to your database
end
end
end
}
end
end
|