Class: Decidim::Toggle::UpdateSecurityForm

Inherits:
Form
  • Object
show all
Defined in:
app/forms/decidim/toggle/update_security_form.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.collection_for_users_registration_modeObject



45
46
47
48
49
# File 'app/forms/decidim/toggle/update_security_form.rb', line 45

def self.collection_for_users_registration_mode
  Decidim::Organization.users_registration_modes.map do |mode|
    [mode.first, I18n.t("decidim.system.organizations.users_registration_mode.#{mode.first}", default: mode.first)]
  end
end

.from_model(organization) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'app/forms/decidim/toggle/update_security_form.rb', line 22

def self.from_model(organization)
  csp = organization.content_security_policy || {}
  attrs = {
    force_users_to_authenticate_before_access_organization: organization.force_users_to_authenticate_before_access_organization,
    users_registration_mode: organization.users_registration_mode,
    "default-src": csp["default-src"],
    "img-src": csp["img-src"],
    "media-src": csp["media-src"],
    "script-src": csp["script-src"],
    "style-src": csp["style-src"],
    "frame-src": csp["frame-src"],
    "font-src": csp["font-src"],
    "connect-src": csp["connect-src"]
  }
  from_params({ organization: attrs })
end

.from_params(params, additional_params = {}) ⇒ Object



39
40
41
42
43
# File 'app/forms/decidim/toggle/update_security_form.rb', line 39

def self.from_params(params, additional_params = {})
  params = params.to_h.with_indifferent_access if params.respond_to?(:to_h)
  params[:organization] || params
  super(params, additional_params)
end

Instance Method Details

#content_security_policyObject



51
52
53
54
55
56
57
58
59
60
61
62
# File 'app/forms/decidim/toggle/update_security_form.rb', line 51

def content_security_policy
  {
    "default-src" => send(:"default-src"),
    "img-src" => send(:"img-src"),
    "media-src" => send(:"media-src"),
    "script-src" => send(:"script-src"),
    "style-src" => send(:"style-src"),
    "frame-src" => send(:"frame-src"),
    "font-src" => send(:"font-src"),
    "connect-src" => send(:"connect-src")
  }.compact_blank
end