module CmAdmin::ViewHelpers::FormHelper

def set_form_with_sections(resource, entities, url, method)

def set_form_with_sections(resource, entities, url, method)
  url_with_query_params = extract_query_params(url)
  form_for(resource, url: url_with_query_params || url, method: method, html: { class: "cm_#{resource.class.name.downcase}_form" }) do |form_obj|
    concat form_obj.text_field 'referrer', class: 'normal-input', hidden: true, value: params[:referrer], name: 'referrer' if params[:referrer]
    if params[:polymorphic_name].present?
      concat form_obj.text_field params[:polymorphic_name] + '_type', class: 'normal-input', hidden: true, value: params[:associated_class].classify
      concat form_obj.text_field params[:polymorphic_name] + '_id', class: 'normal-input', hidden: true, value: params[:associated_id]
    elsif params[:associated_class] && params[:associated_id]
      concat form_obj.text_field params[:associated_class] + '_id', class: 'normal-input', hidden: true, value: params[:associated_id]
    end
    concat split_form_into_section(resource, form_obj, entities)
    concat tag.br
    concat form_obj.submit 'Save', class: 'btn-cta', data: { behaviour: 'form_submit', form_class: "cm_#{form_obj.object.class.name.downcase}_form" }
  end
end