mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: Terms of Service v1.0.0
Co-authored-by: Gerhard Schlager <mail@gerhard-schlager.at>
This commit is contained in:
committed by
Gerhard Schlager
parent
52a5a5983a
commit
15e793fd3b
@@ -92,31 +92,28 @@ class Wizard
|
||||
contact.add_choice(Discourse.system_user.username)
|
||||
|
||||
step.on_update do |updater|
|
||||
update_tos do |raw|
|
||||
replace_company(updater, raw, 'contact_email')
|
||||
end
|
||||
|
||||
updater.apply_settings(:contact_email, :contact_url)
|
||||
updater.update_setting(:site_contact_username, updater.fields[:site_contact])
|
||||
end
|
||||
end
|
||||
|
||||
@wizard.append_step('corporate') do |step|
|
||||
step.add_field(id: 'company_short_name', type: 'text', value: SiteSetting.company_short_name)
|
||||
step.add_field(id: 'company_full_name', type: 'text', value: SiteSetting.company_full_name)
|
||||
step.add_field(id: 'company_domain', type: 'text', value: SiteSetting.company_domain)
|
||||
step.add_field(id: 'company_name', type: 'text', value: SiteSetting.company_name)
|
||||
step.add_field(id: 'governing_law', type: 'text', value: SiteSetting.governing_law)
|
||||
step.add_field(id: 'city_for_disputes', type: 'text', value: SiteSetting.city_for_disputes)
|
||||
|
||||
step.on_update do |updater|
|
||||
|
||||
tos_post = Post.where(topic_id: SiteSetting.tos_topic_id, post_number: 1).first
|
||||
if tos_post.present?
|
||||
raw = tos_post.raw.dup
|
||||
|
||||
replace_company(updater, raw, 'company_full_name')
|
||||
replace_company(updater, raw, 'company_short_name')
|
||||
replace_company(updater, raw, 'company_domain')
|
||||
|
||||
revisor = PostRevisor.new(tos_post)
|
||||
revisor.revise!(@wizard.user, raw: raw)
|
||||
update_tos do |raw|
|
||||
replace_company(updater, raw, 'company_name')
|
||||
replace_company(updater, raw, 'governing_law')
|
||||
replace_company(updater, raw, 'city_for_disputes')
|
||||
end
|
||||
|
||||
updater.apply_settings(:company_short_name, :company_full_name, :company_domain)
|
||||
updater.apply_settings(:company_name, :governing_law, :city_for_disputes)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -227,8 +224,9 @@ class Wizard
|
||||
"<img src='#{Discourse.base_uri}/images/emoji/#{set[:value]}/#{e}.png'>"
|
||||
end
|
||||
|
||||
sets.add_choice(set[:value], label: I18n.t("js.#{set[:name]}"),
|
||||
extra_label: "<span class='emoji-preview'>#{imgs.join}</span>")
|
||||
sets.add_choice(set[:value],
|
||||
label: I18n.t("js.#{set[:name]}"),
|
||||
extra_label: "<span class='emoji-preview'>#{imgs.join}</span>")
|
||||
|
||||
step.on_update do |updater|
|
||||
updater.apply_settings(:emoji_set)
|
||||
@@ -269,7 +267,7 @@ class Wizard
|
||||
@wizard
|
||||
end
|
||||
|
||||
protected
|
||||
protected
|
||||
|
||||
def replace_company(updater, raw, field_name)
|
||||
old_value = SiteSetting.send(field_name)
|
||||
@@ -284,5 +282,18 @@ class Wizard
|
||||
def reserved_usernames
|
||||
@reserved_usernames ||= SiteSetting.defaults[:reserved_usernames].split('|')
|
||||
end
|
||||
|
||||
def update_tos
|
||||
tos_post = Post.find_by(topic_id: SiteSetting.tos_topic_id, post_number: 1)
|
||||
|
||||
if tos_post.present?
|
||||
raw = tos_post.raw.dup
|
||||
|
||||
yield(raw)
|
||||
|
||||
revisor = PostRevisor.new(tos_post)
|
||||
revisor.revise!(@wizard.user, raw: raw)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user