Class: Decidim::Initiatives::CreateInitiativeController
- Inherits:
-
ApplicationController
- Object
- DecidimController
- ApplicationController
- ApplicationController
- Decidim::Initiatives::CreateInitiativeController
- Defined in:
- decidim-initiatives/app/controllers/decidim/initiatives/create_initiative_controller.rb
Overview
Controller in charge of managing the create initiative wizard.
Instance Method Summary collapse
- #fill_data ⇒ Object
- #finish ⇒ Object
- #load_initiative_draft ⇒ Object
- #promotal_committee ⇒ Object
- #select_initiative_type ⇒ Object
- #store_data ⇒ Object
- #store_initiative_type ⇒ Object
Methods included from TranslationsHelper
empty_translatable, ensure_translatable, multi_translation, translated_in_current_locale?
Methods included from TranslatableAttributes
#attachment?, #default_locale?
Methods included from InitiativeHelper
#can_edit_custom_signature_end_date?, #hero_background_path, #humanize_admin_state, #metadata_badge_css_class, #render_committee_tooltip
Methods included from ResourceVersionsHelper
#link_to_other_resource_versions, #resource_version, #resource_version_number, #resource_version_of
Methods included from ResourceHelper
#linked_classes_filter_values_for, #linked_classes_for, #resource_locator
Methods included from SanitizeHelper
#decidim_escape_translated, #decidim_html_escape, #decidim_rich_text, #decidim_sanitize, #decidim_sanitize_admin, #decidim_sanitize_editor, #decidim_sanitize_editor_admin, #decidim_sanitize_newsletter, #decidim_sanitize_translated, #decidim_url_escape, included
Methods inherited from ApplicationController
#permission_class_chain, #permission_scope, #permissions_context
Methods included from RegistersPermissions
Methods inherited from ApplicationController
Methods included from UserBlockedChecker
#check_user_block_status, #check_user_not_blocked
Methods included from NeedsSnippets
Methods included from Headers::HttpCachingDisabler
Methods included from HasStoredPath
#skip_store_location?, #store_current_location
Methods included from NeedsOrganization
enhance_controller, extended, included
Instance Method Details
#fill_data ⇒ Object
64 65 66 67 68 69 70 71 |
# File 'decidim-initiatives/app/controllers/decidim/initiatives/create_initiative_controller.rb', line 64 def fill_data @form = if session[:initiative_id].present? form(Decidim::Initiatives::InitiativeForm).from_model(current_initiative, { initiative_type: }) else extras = { type_id: initiative_type_id, signature_type: initiative_type.signature_type } form(Decidim::Initiatives::InitiativeForm).from_params(params.merge(extras), { initiative_type: }) end end |
#finish ⇒ Object
85 86 87 88 89 90 91 92 |
# File 'decidim-initiatives/app/controllers/decidim/initiatives/create_initiative_controller.rb', line 85 def finish current_initiative.presence if current_initiative.validating? session[:type_id] = nil session[:initiative_id] = nil end end |
#load_initiative_draft ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 |
# File 'decidim-initiatives/app/controllers/decidim/initiatives/create_initiative_controller.rb', line 34 def load_initiative_draft session[:initiative_id] = params[:initiative_id] if current_initiative.validating? redirect_to finish_create_initiative_index_path elsif current_initiative.created? redirect_to promotal_committee_create_initiative_index_path else redirect_to initiatives_path end end |
#promotal_committee ⇒ Object
81 82 83 |
# File 'decidim-initiatives/app/controllers/decidim/initiatives/create_initiative_controller.rb', line 81 def promotal_committee redirect_to finish_create_initiative_index_path unless promotal_committee_required? end |
#select_initiative_type ⇒ Object
46 47 48 49 50 51 |
# File 'decidim-initiatives/app/controllers/decidim/initiatives/create_initiative_controller.rb', line 46 def select_initiative_type session[:initiative_id] = nil @form = form(Decidim::Initiatives::SelectInitiativeTypeForm).from_params(params) redirect_to fill_data_create_initiative_index_path if single_initiative_type? end |
#store_data ⇒ Object
73 74 75 76 77 78 79 |
# File 'decidim-initiatives/app/controllers/decidim/initiatives/create_initiative_controller.rb', line 73 def store_data if current_initiative store_data_update_initiative else store_data_create_initiative end end |
#store_initiative_type ⇒ Object
53 54 55 56 57 58 59 60 61 62 |
# File 'decidim-initiatives/app/controllers/decidim/initiatives/create_initiative_controller.rb', line 53 def store_initiative_type @form = form(Decidim::Initiatives::SelectInitiativeTypeForm).from_params(params) if @form.valid? session[:type_id] = @form.type_id redirect_to fill_data_create_initiative_index_path else render :select_initiative_type end end |