Skip to content

Commit 7ee7710

Browse files
committed
Update controller with search parameters
1 parent 6418a35 commit 7ee7710

1 file changed

Lines changed: 22 additions & 4 deletions

File tree

app/controllers/admin_controller.rb

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,32 @@ def audit_log
8383
@page = helpers.safe_page(params)
8484
@per_page = helpers.safe_per_page(params)
8585

86+
@log_types = AuditLog.unscoped.select(:log_type).distinct.map(&:log_type) - ['user_annotation', 'user_history']
87+
@event_types = AuditLog.unscoped.select(:event_type).distinct.map(&:event_type)
88+
8689
@logs = if current_user.is_global_admin
8790
AuditLog.unscoped.where.not(log_type: ['user_annotation', 'user_history'])
8891
else
8992
AuditLog.where.not(log_type: ['block_log', 'user_annotation', 'user_history'])
90-
end.user_sort({ term: params[:sort], default: :created_at },
91-
age: :created_at, type: :log_type, event: :event_type,
92-
related: Arel.sql('related_type DESC, related_id DESC'), user: :user_id)
93-
.paginate(page: @page, per_page: @per_page)
93+
end
94+
95+
[:log_type, :event_type].each do |key|
96+
if params[key].present?
97+
@logs = @logs.where(key => params[key])
98+
end
99+
end
100+
101+
if params[:from].present? || params[:to].present?
102+
from = params[:from] || params[:to]
103+
to = params[:to] || params[:from] # these lines are deliberate so that if only one is set it's an exact date query
104+
@logs = @logs.where('date(created_at) >= ?', from)
105+
.where('date(created_at) <= ?', to)
106+
end
107+
108+
@logs = @logs.user_sort({ term: params[:sort], default: :created_at },
109+
age: :created_at, type: :log_type, event: :event_type,
110+
related: Arel.sql('related_type DESC, related_id DESC'), user: :user_id)
111+
.paginate(page: @page, per_page: @per_page)
94112

95113
render layout: 'without_sidebar'
96114
end

0 commit comments

Comments
 (0)