diff --git a/app/controllers/protocols_controller.rb b/app/controllers/protocols_controller.rb index 888062ef6..e8afb09fe 100644 --- a/app/controllers/protocols_controller.rb +++ b/app/controllers/protocols_controller.rb @@ -626,11 +626,11 @@ class ProtocolsController < ApplicationController @db_json['name'] = sanitize_input(params['protocol']['name']) # since scinote only has description field, and protocols.io has many others # ,here i am putting everything important from protocols.io into description - description_string = protocols_io_fill_desc(@json_object) + # description_string = protocols_io_fill_desc(@json_object) @db_json['authors'] = sanitize_input(params['protocol']['authors']) @db_json['created_at'] = sanitize_input(params['protocol']['created_at']) @db_json['updated_at'] = sanitize_input(params['protocol']['last_modified']) - @db_json['description'] = sanitize_input(description_string) + # @db_json['description'] = sanitize_input(description_string) @db_json['steps'] = {} @db_json['steps'] = protocols_io_fill_step(@json_object, @db_json['steps']) protocol = nil @@ -1038,31 +1038,40 @@ class ProtocolsController < ApplicationController ( before_start warning guidelines manuscript_citation publish_date created_on vendor_name vendor_link keywords tags link ) ] - description_string = sanitize_input(params['protocol']['description']) + # description_string = sanitize_input(params['protocol']['description']) + description_string = + if json_hash['description'].present? + '' + t('protocols.protocols_io_import.preview.prot_desc') + + '' + sanitize_input(json_hash['description'].html_safe) + else + '' + t('protocols.protocols_io_import.preview.prot_desc') + + '' + t('protocols.protocols_io_import.comp_append.missing_desc') + end + description_string += '
' description_array.each do |e| if e == 'created_on' && json_hash[e].present? - new_e = e.humanize + new_e = '' + e.humanize + '' description_string += new_e.to_s + ': ' + - sanitize_input(params['protocol']['created_at'].to_s) + "\n" + sanitize_input(params['protocol']['created_at'].to_s) + '
' elsif e == 'tags' && json_hash[e].any? && json_hash[e] != '' - new_e = e.humanize + new_e = '' + e.humanize + '' description_string += new_e.to_s + ': ' json_hash[e].each do |tag| description_string += sanitize_input(tag['tag_name']) + ' , ' end - description_string += "\n" + description_string += '
' # Since protocols description field doesnt show html,i just remove it # because its even messier (using Sanitize) # what this does is basically appends "FIELD NAME: "+" FIELD VALUE" # to description for various fields elsif json_hash[e].present? - new_e = e.humanize + new_e = '' + e.humanize + '' description_string += new_e.to_s + ': ' + - sanitize_input(json_hash[e].to_s) + "\n" + sanitize_input(json_hash[e].html_safe) + '
' end end description_string @@ -1076,7 +1085,14 @@ class ProtocolsController < ApplicationController # id 9 = dataset, id 15 = command, id 18 = attached sub protocol # id 19= safety information , # id 20= regents (materials, like scinote samples kind of) - original_json['steps'].each_with_index do |step, i| # loop over steps + newj['0'] = {} + newj['0']['position'] = 0 + newj['0']['name'] = 'Protocol info' + newj['0']['description'] = sanitize_input( + protocols_io_fill_desc(original_json).html_safe + ) + original_json['steps'].each_with_index do |step, pos_orig| # loop over steps + i = pos_orig + 1 # position of step (first, second.... etc), newj[i.to_s] = {} # the json we will insert into db newj[i.to_s]['position'] = i diff --git a/app/views/protocols/import_export/_import_json_protocol_preview_modal.html.erb b/app/views/protocols/import_export/_import_json_protocol_preview_modal.html.erb index efcd64ec0..185030f20 100644 --- a/app/views/protocols/import_export/_import_json_protocol_preview_modal.html.erb +++ b/app/views/protocols/import_export/_import_json_protocol_preview_modal.html.erb @@ -44,9 +44,8 @@
- - <%= f.text_area :description, :value => @json_object['description'], class: - "form-control" %> + <%= f.text_area :description_notice, :value => t('protocols.protocols_io_import.import_description_notice'), class: + "form-control",readonly: true %>
diff --git a/config/locales/en.yml b/config/locales/en.yml index 3331e45cd..1fca83453 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1381,7 +1381,9 @@ en: manager: "Protocol management" edit: "Edit protocol" protocols_io_import: + import_description_notice: "The protocols description is listed below under \"Protocol info\"." preview: + prot_desc: "Protocol Description: " b_s_p: "Before starting protocol information:" warn: "Protocol warning:" guideln: "Guidelines:" @@ -1404,6 +1406,7 @@ en: key_wrd: "Keywords:" tags: "Tags:" comp_append: + table_moved: "
There was a table here, it was moved to the end of this step. " missing_step: "Step" missing_desc: "Description missing" general_link: "
Link: " @@ -1421,7 +1424,7 @@ en: desc: "
Description: " os: "
OS name , OS version: " sub_protocol: - title: "
This protocol also contains an attached sub-protocol: " + title: "
This step also contains an attached sub-protocol: " author: "
Author: " safety_infor: title: "
Safety information: "