mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: log site text changes
This commit is contained in:
@@ -44,6 +44,8 @@ class Admin::SiteTextsController < Admin::AdminController
|
||||
def update
|
||||
site_text = find_site_text
|
||||
site_text[:value] = params[:site_text][:value]
|
||||
old_text = I18n.t(site_text[:id])
|
||||
StaffActionLogger.new(current_user).log_site_text_change(site_text[:id], site_text[:value], old_text)
|
||||
|
||||
TranslationOverride.upsert!(I18n.locale, site_text[:id], site_text[:value])
|
||||
render_serialized(site_text, SiteTextSerializer, root: 'site_text', rest_serializer: true)
|
||||
@@ -51,8 +53,10 @@ class Admin::SiteTextsController < Admin::AdminController
|
||||
|
||||
def revert
|
||||
site_text = find_site_text
|
||||
old_text = I18n.t(site_text[:id])
|
||||
TranslationOverride.revert!(I18n.locale, site_text[:id])
|
||||
site_text = find_site_text
|
||||
StaffActionLogger.new(current_user).log_site_text_change(site_text[:id], site_text[:value], old_text)
|
||||
render_serialized(site_text, SiteTextSerializer, root: 'site_text', rest_serializer: true)
|
||||
end
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ class UserHistory < ActiveRecord::Base
|
||||
:change_site_setting,
|
||||
:change_site_customization,
|
||||
:delete_site_customization,
|
||||
:change_site_text,
|
||||
:checked_for_custom_avatar, # not used anymore
|
||||
:notified_about_avatar,
|
||||
:notified_about_sequential_replies,
|
||||
@@ -53,6 +54,7 @@ class UserHistory < ActiveRecord::Base
|
||||
:change_site_setting,
|
||||
:change_site_customization,
|
||||
:delete_site_customization,
|
||||
:change_site_text,
|
||||
:suspend_user,
|
||||
:unsuspend_user,
|
||||
:grant_badge,
|
||||
|
||||
@@ -134,6 +134,18 @@ class StaffActionLogger
|
||||
}))
|
||||
end
|
||||
|
||||
def log_site_text_change(subject, new_text, old_text, opts={})
|
||||
raise Discourse::InvalidParameters.new(:subject) unless subject.present?
|
||||
raise Discourse::InvalidParameters.new(:new_text) unless new_text.present?
|
||||
raise Discourse::InvalidParameters.new(:old_text) unless old_text.present?
|
||||
UserHistory.create( params(opts).merge({
|
||||
action: UserHistory.actions[:change_site_text],
|
||||
subject: subject,
|
||||
previous_value: old_text,
|
||||
new_value: new_text
|
||||
}))
|
||||
end
|
||||
|
||||
def log_username_change(user, old_username, new_username, opts={})
|
||||
raise Discourse::InvalidParameters.new(:user) unless user
|
||||
UserHistory.create( params(opts).merge({
|
||||
|
||||
Reference in New Issue
Block a user