Skip to content

Commit 3abeb5f

Browse files
committed
Staff action logs can be filtered to changes of one site setting
1 parent 31dac4b commit 3abeb5f

File tree

6 files changed

+20
-4
lines changed

6 files changed

+20
-4
lines changed

app/assets/javascripts/admin/controllers/admin_logs_staff_action_logs_controller.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ Discourse.AdminLogsStaffActionLogsController = Ember.ArrayController.extend(Disc
1818
self.set('content', result);
1919
self.set('loading', false);
2020
});
21-
}.observes('filters.action_name', 'filters.staff_user', 'filters.target_user'),
21+
}.observes('filters.action_name', 'filters.staff_user', 'filters.target_user', 'filters.subject'),
2222

2323
toggleFullDetails: function(target) {
2424
target.set('showFullDetails', !target.get('showFullDetails'));
2525
},
2626

2727
filtersExists: function() {
2828
return (_.size(this.get('filters')) > 0);
29-
}.property('filters.action_name', 'filters.staff_user', 'filters.target_user'),
29+
}.property('filters.action_name', 'filters.staff_user', 'filters.target_user', 'filters.subject'),
3030

3131
clearFilter: function(key) {
3232
delete this.get('filters')[key];
@@ -55,5 +55,9 @@ Discourse.AdminLogsStaffActionLogsController = Ember.ArrayController.extend(Disc
5555

5656
filterByTargetUser: function(target_user) {
5757
this.set('filters.target_user', target_user.username);
58+
},
59+
60+
filterBySubject: function(subject) {
61+
this.set('filters.subject', subject);
5862
}
5963
});

app/assets/javascripts/admin/templates/logs/staff_action_logs.js.handlebars

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@
2020
<i class="icon icon-remove-sign"></i>
2121
</a>
2222
{{/if}}
23+
{{#if filters.subject}}
24+
<a {{action clearFilter "subject"}} class="filter">
25+
<span class="label">{{i18n admin.logs.staff_actions.subject}}</span>: {{filters.subject}}
26+
<i class="icon icon-remove-sign"></i>
27+
</a>
28+
{{/if}}
2329
</div>
2430

2531
<div class='table staff-actions'>

app/assets/javascripts/admin/templates/logs/staff_action_logs_list_item.js.handlebars

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<a {{action filterByTargetUser target_user}}>{{target_user.username}}</a>
1212
{{/if}}
1313
{{#if subject}}
14-
<span {{bindAttr title="subject"}}>{{subject}}</span>
14+
<a {{action filterBySubject subject}} {{bindAttr title="subject"}}>{{subject}}</a>
1515
{{/if}}
1616
</div>
1717
<div class="col value created_at">{{unboundAgeWithTooltip created_at}}</div>

app/controllers/admin/staff_action_logs_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
class Admin::StaffActionLogsController < Admin::AdminController
22

33
def index
4-
staff_action_logs = StaffActionLog.with_filters(params.slice(:action_name, :staff_user, :target_user)).limit(200).order('id DESC').includes(:staff_user, :target_user).to_a
4+
staff_action_logs = StaffActionLog.with_filters(params.slice(:action_name, :staff_user, :target_user, :subject)).limit(200).order('id DESC').includes(:staff_user, :target_user).to_a
55
render_serialized(staff_action_logs, StaffActionLogSerializer)
66
end
77

app/models/staff_action_log.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ def self.with_filters(filters)
2222
query = query.where("#{key.to_s}_id = ?", obj_id)
2323
end
2424
end
25+
query = query.where("subject = ?", filters[:subject]) if filters[:subject]
2526
query
2627
end
2728
end
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
class AddSubjectIndexToStaffActionLogs < ActiveRecord::Migration
2+
def change
3+
add_index :staff_action_logs, [:subject, :id]
4+
end
5+
end

0 commit comments

Comments
 (0)