diff --git a/app/controllers/madmp_fragments_controller.rb b/app/controllers/madmp_fragments_controller.rb index 9d84e42..893950b 100644 --- a/app/controllers/madmp_fragments_controller.rb +++ b/app/controllers/madmp_fragments_controller.rb @@ -25,19 +25,7 @@ authorize @fragment - if p_params[:source] == "modal" - data = data_reformater(schema.schema, schema_params(schema), schema.classname) - additional_info = @fragment.additional_info.merge( - { - "validations" => MadmpFragment.validate_data(data, schema.schema) - } - ) - @fragment.assign_attributes( - additional_info: additional_info - ) - @fragment.instantiate - @fragment.save_as_multifrag(data, schema) - else + if source == "form" @fragment.answer = Answer.create!( { research_output_id: p_params[:answer][:research_output_id], @@ -49,6 +37,18 @@ } ) @fragment.instantiate + else + data = data_reformater(schema.schema, schema_params(schema), schema.classname) + additional_info = @fragment.additional_info.merge( + { + "validations" => MadmpFragment.validate_data(data, schema.schema) + } + ) + @fragment.assign_attributes( + additional_info: additional_info + ) + @fragment.instantiate + @fragment.save_as_multifrag(data, schema) end return unless @fragment.present? diff --git a/app/models/madmp_fragment.rb b/app/models/madmp_fragment.rb index b4a943e..4595e04 100644 --- a/app/models/madmp_fragment.rb +++ b/app/models/madmp_fragment.rb @@ -253,10 +253,15 @@ def save_as_multifrag(param_data, schema) fragmented_data = {} + p "####" + p schema + p "####" param_data.each do |prop, content| schema_prop = schema.schema["properties"][prop] - - if schema_prop["type"].eql?("object") + p "####" + p prop + p "####" + if schema_prop["type"].present? && schema_prop["type"].eql?("object") sub_data = content # TMP: for readability sub_schema = MadmpSchema.find(schema_prop["schema_id"]) diff --git a/app/views/branded/phases/_edit_plan_answers.html.erb b/app/views/branded/phases/_edit_plan_answers.html.erb index 6fb8e2a..f0e031f 100644 --- a/app/views/branded/phases/_edit_plan_answers.html.erb +++ b/app/views/branded/phases/_edit_plan_answers.html.erb @@ -99,14 +99,6 @@
" class="answer-form"> <% if question.question_format.structured? %> <% fragment = answer.madmp_fragment unless answer.nil? %> - <% - p "##################" - p fragment - p answer - p question - p "##################" - - %> <% madmp_schema = fragment ? fragment.madmp_schema : question.madmp_schema %> <% dmp_id = plan.json_fragment.id %> <% parent_id = research_output.json_fragment.id %> diff --git a/app/views/branded/shared/dynamic_form/_form.html.erb b/app/views/branded/shared/dynamic_form/_form.html.erb index 5904783..0b9d65b 100644 --- a/app/views/branded/shared/dynamic_form/_form.html.erb +++ b/app/views/branded/shared/dynamic_form/_form.html.erb @@ -100,7 +100,7 @@ select_values: values, selected_value: value, readonly: readonly, - parent_id: fragment_id, + parent_id: current_fragment.id, schema: sub_schema, required: required, template_locale: template_locale, diff --git a/app/views/branded/shared/dynamic_form/fields/_fragment_list_field.html.erb b/app/views/branded/shared/dynamic_form/fields/_fragment_list_field.html.erb index 17302c1..40f1b13 100644 --- a/app/views/branded/shared/dynamic_form/fields/_fragment_list_field.html.erb +++ b/app/views/branded/shared/dynamic_form/fields/_fragment_list_field.html.erb @@ -29,7 +29,7 @@ :parent_id => parent_id, :schema_id => schema.id, :template_locale => template_locale, - :source => "list-modal" + :source => "list-modal", :property_name => property_name ), { :remote => true, diff --git a/lib/dmpopidor/controllers/plans.rb b/lib/dmpopidor/controllers/plans.rb index b22530e..bd86d68 100644 --- a/lib/dmpopidor/controllers/plans.rb +++ b/lib/dmpopidor/controllers/plans.rb @@ -251,6 +251,9 @@ redirect_to "#{plan_path(@plan)}", alert: failure_message(@plan, _("save")) end format.json do + p "################" + p @plan.errors + p "################" render json: { code: 0, msg: failure_message(@plan, _("save")) } end end