diff --git a/app/assets/javascripts/admin/templates/logs/staff-action-logs.hbs b/app/assets/javascripts/admin/templates/logs/staff-action-logs.hbs
index 594dd18a314..399a824d623 100644
--- a/app/assets/javascripts/admin/templates/logs/staff-action-logs.hbs
+++ b/app/assets/javascripts/admin/templates/logs/staff-action-logs.hbs
@@ -32,7 +32,7 @@
{{else}}
{{i18n "admin.logs.staff_actions.filter"}} {{combo-box content=userHistoryActions value=filterActionId none="admin.logs.staff_actions.all"}}
{{/if}}
-
+
{{d-button action="exportStaffActionLogs" label="admin.export_csv.button_text" icon="download"}}
@@ -57,8 +57,14 @@
- {{#link-to 'adminUser' item.acting_user}}{{avatar item.acting_user imageSize="tiny"}}{{/link-to}}
- {{item.acting_user.username}}
+ {{#if item.acting_user}}
+ {{#link-to 'adminUser' item.acting_user}}{{avatar item.acting_user imageSize="tiny"}}{{/link-to}}
+ {{item.acting_user.username}}
+ {{else}}
+
+ {{d-icon "trash-o"}}
+
+ {{/if}}
|
diff --git a/app/assets/stylesheets/common/admin/staff_logs.scss b/app/assets/stylesheets/common/admin/staff_logs.scss
index 585b848e93d..d20eef94dbb 100644
--- a/app/assets/stylesheets/common/admin/staff_logs.scss
+++ b/app/assets/stylesheets/common/admin/staff_logs.scss
@@ -163,6 +163,9 @@
a:first-of-type {
margin-right: 0.25em;
}
+ .deleted-user {
+ font-size: $font-up-2;
+ }
}
.created_at {
text-align: center;
diff --git a/app/services/user_destroyer.rb b/app/services/user_destroyer.rb
index 956171593b8..adba7e45457 100644
--- a/app/services/user_destroyer.rb
+++ b/app/services/user_destroyer.rb
@@ -49,6 +49,17 @@ class UserDestroyer
post_action.remove_act!(Discourse.system_user)
end
+ # Add info about the user to staff action logs
+ UserHistory.staff_action_records(
+ Discourse.system_user, acting_user: user.username
+ ).each do |log|
+ log.details ||= ''
+ log.details = (log.details.split("\n") +
+ ["user_id: #{user.id}", "username: #{user.username}"]
+ ).join("\n")
+ log.save!
+ end
+
# keep track of emails used
user_emails = user.user_emails.pluck(:email)
diff --git a/spec/services/user_destroyer_spec.rb b/spec/services/user_destroyer_spec.rb
index bb526d40400..fdfa12b39f8 100644
--- a/spec/services/user_destroyer_spec.rb
+++ b/spec/services/user_destroyer_spec.rb
@@ -360,6 +360,28 @@ describe UserDestroyer do
}.to change { User.count }.by(-1)
end
end
+
+ context 'user has staff action logs' do
+ before do
+ logger = StaffActionLogger.new(user)
+ logger.log_site_setting_change(
+ 'site_description',
+ 'Our friendly community',
+ 'My favourite community'
+ )
+ end
+
+ it "should keep the staff action log and add the username" do
+ username = user.username
+ log = UserHistory.staff_action_records(
+ Discourse.system_user,
+ acting_user: username
+ ).to_a[0]
+ UserDestroyer.new(admin).destroy(user, delete_posts: true)
+ log.reload
+ expect(log.details).to include(username)
+ end
+ end
end
end
|