Class: Admin::Config::AboutController

Inherits:
AdminController
  • Object
show all
Defined in:
app/controllers/admin/config/about_controller.rb

Instance Method Summary collapse

Instance Method Details

#indexObject



4
5
# File 'app/controllers/admin/config/about_controller.rb', line 4

def index
end

#updateObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'app/controllers/admin/config/about_controller.rb', line 7

def update
  settings_map = {}
  if general_settings = params[:general_settings]
    settings_map[:title] = general_settings[:name]
    settings_map[:site_description] = general_settings[:summary]
    settings_map[:about_banner_image] = general_settings[:about_banner_image]

    settings_map[:extended_site_description] = general_settings[:extended_description]
    settings_map[:short_site_description] = general_settings[:community_title]
    if settings_map[:extended_site_description].present?
      settings_map[:extended_site_description_cooked] = PrettyText.markdown(
        settings_map[:extended_site_description],
      )
    else
      settings_map[:extended_site_description_cooked] = ""
    end
  end

  if contact_information = params[:contact_information]
    settings_map[:community_owner] = contact_information[:community_owner]
    settings_map[:contact_email] = contact_information[:contact_email]
    settings_map[:contact_url] = contact_information[:contact_url]
    settings_map[:site_contact_username] = contact_information[:contact_username]
    settings_map[:site_contact_group_name] = contact_information[:contact_group_name]
  end

  if your_organization = params[:your_organization]
    settings_map[:company_name] = your_organization[:company_name]
    settings_map[:governing_law] = your_organization[:governing_law]
    settings_map[:city_for_disputes] = your_organization[:city_for_disputes]
  end

  settings_map.each do |name, value|
    SiteSetting::Update.call(
      guardian:,
      params: {
        setting_name: name,
        new_value: value,
      },
      options: {
        allow_changing_hidden: %i[
          extended_site_description
          extended_site_description_cooked
          about_banner_image
          community_owner
        ].include?(name),
      },
    )
  end
  render json: success_json
end