Class: Decidim::Toggle::UpdateAuthorizationsForm
- Inherits:
-
Form
- Object
- Form
- Decidim::Toggle::UpdateAuthorizationsForm
- Defined in:
- app/forms/decidim/toggle/update_authorizations_form.rb
Overview
Vanilla Decidim: available_authorizations is a string array of workflow names.
Other gems may replace this tab (same identifier :authorizations); see
OrganizationSettingsTabs.
Class Method Summary collapse
- .collection_for_available_authorizations ⇒ Object
- .from_model(organization) ⇒ Object
- .from_params(params, additional_params = {}) ⇒ Object
Instance Method Summary collapse
Class Method Details
.collection_for_available_authorizations ⇒ Object
19 20 21 |
# File 'app/forms/decidim/toggle/update_authorizations_form.rb', line 19 def self. Decidim..map { |w| [w.name, w.description] } end |
.from_model(organization) ⇒ Object
15 16 17 |
# File 'app/forms/decidim/toggle/update_authorizations_form.rb', line 15 def self.from_model(organization) from_params(organization: { available_authorizations: Array(organization.).map(&:to_s) }) end |
.from_params(params, additional_params = {}) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'app/forms/decidim/toggle/update_authorizations_form.rb', line 23 def self.from_params(params, additional_params = {}) params = params.to_h.with_indifferent_access if params.respond_to?(:to_h) attrs = params[:organization] || params if attrs[:available_authorizations].nil? params = params.dup params[:organization] = (params[:organization] || {}).merge(available_authorizations: []) end super(params, additional_params) end |
Instance Method Details
#clean_available_authorizations ⇒ Object
33 34 35 36 37 38 39 |
# File 'app/forms/decidim/toggle/update_authorizations_form.rb', line 33 def @clean_available_authorizations ||= if .blank? [] else .map(&:to_s).select(&:present?) end end |