You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.1 KiB
67 lines
2.1 KiB
class RegistrationFormFieldsController < ApplicationController
|
|
before_action :set_registration_form_field, only: [:show, :edit, :update, :destroy]
|
|
|
|
# GET /registration_form_fields
|
|
def index
|
|
@registration_form_fields = RegistrationFormField.all
|
|
end
|
|
|
|
# GET /registration_form_fields/1
|
|
def show
|
|
end
|
|
|
|
# GET /registration_form_fields/new
|
|
def new
|
|
@registration_form_field = RegistrationFormField.new
|
|
end
|
|
|
|
# GET /registration_form_fields/1/edit
|
|
def edit
|
|
end
|
|
|
|
# POST /registration_form_fields
|
|
def create
|
|
@registration_form_field = RegistrationFormField.new(registration_form_field_params)
|
|
ajax_return(@registration_form_field.save)
|
|
end
|
|
|
|
# PATCH/PUT /registration_form_fields/1
|
|
def update
|
|
ajax_return(@registration_form_field.update(registration_form_field_params))
|
|
end
|
|
|
|
# DELETE /registration_form_fields/1
|
|
def destroy
|
|
@registration_form_field.destroy
|
|
redirect_to registration_form_fields_url, notice: 'Registration form field was successfully destroyed.'
|
|
end
|
|
|
|
private
|
|
def ajax_return(success)
|
|
if params[:conference_id]
|
|
@conference = Conference.find(params[:conference_id])
|
|
@registration_form_fields = RegistrationFormField.where(["id NOT IN (?)", @conference.registration_form_fields.map(&:id)])
|
|
end
|
|
if success
|
|
@registration_form_field = RegistrationFormField.new
|
|
end
|
|
|
|
form = render_to_string :partial => 'form'
|
|
list = render_to_string :partial => 'list'
|
|
render json: {form: form, list: list}
|
|
end
|
|
# Use callbacks to share common setup or constraints between actions.
|
|
def set_registration_form_field
|
|
@registration_form_field = RegistrationFormField.find(params[:id])
|
|
end
|
|
|
|
# Only allow a trusted parameter "white list" through.
|
|
def registration_form_field_params
|
|
rff_params = params.require(:registration_form_field)
|
|
allowed = RegistrationFormField::GetNonOptionKeys(rff_params[:field_type], rff_params)
|
|
p = rff_params.send('permit', *allowed)#permit(:title, :help, :required, :field_type, :options, :is_retired)
|
|
p[:options] = RegistrationFormField::GetOptions(rff_params[:field_type], rff_params).to_json.to_s
|
|
p[:field_type] = rff_params[:field_type]
|
|
p
|
|
end
|
|
end
|
|
|