FEATURE: log site text changes

This commit is contained in:
Arpit Jalan
2015-12-18 19:01:04 +05:30
parent f48419526d
commit 4c967d11b4
6 changed files with 36 additions and 0 deletions

View File

@@ -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

View File

@@ -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,

View File

@@ -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({