diff --git a/app/controllers/content_controller.rb b/app/controllers/content_controller.rb index 12ead5c8..ced2df0d 100644 --- a/app/controllers/content_controller.rb +++ b/app/controllers/content_controller.rb @@ -146,8 +146,8 @@ class ContentController < ApplicationController 'content_type': content_type.name }) if Rails.env.production? - if params.key? 'image_uploads' - upload_files params['image_uploads'], content_type.name, @content.id + if params.key?('image_uploads') + upload_files(params['image_uploads'], content_type.name, @content.id) end if @content.is_a?(Universe) && params.key?('contributors') && @content.user == current_user diff --git a/app/services/autocomplete_service.rb b/app/services/autocomplete_service.rb index 71bc235b..9e5b9e83 100644 --- a/app/services/autocomplete_service.rb +++ b/app/services/autocomplete_service.rb @@ -4,7 +4,7 @@ class AutocompleteService < Service # Adding a field name to this switch/case will enable autocompleting # for that field across any page type. - def self.for(field_name) + def self.for_field_name(field_name) case field_name when 'bodytype' t('body_types') @@ -65,9 +65,19 @@ class AutocompleteService < Service end.uniq end - def self.autocompleteable?(field_name) - return false - self.for(field_name).any? + # Adding a field label to this switch/case will enable autocompleting + # for that field across any page type. + def self.for_field_label(field_label) + case field_label.downcase + when 'eye color', 'eyecolor' + t('eye_colors') + else + [] + end.uniq + end + + def self.autocompleteable?(field_label) + self.for_field_label(field_label).any? end # helper method so we don't have to I18n every time diff --git a/app/views/content/form/_panel.html.erb b/app/views/content/form/_panel.html.erb index 51f57e02..b83dd76e 100644 --- a/app/views/content/form/_panel.html.erb +++ b/app/views/content/form/_panel.html.erb @@ -188,8 +188,8 @@ <% end %> <% else %> - <% if AutocompleteService.autocompleteable?(field.name) %> - <%= render 'content/form/text_input', f: f, content: content, field: field, autocomplete: AutocompleteService.for(field.name) %> + <% if AutocompleteService.autocompleteable?(field.label) %> + <%= render 'content/form/text_input', f: f, content: content, field: field, autocomplete: AutocompleteService.for_field_label(field.label) %> <% else %> <%= render 'content/form/text_input', f: f, content: content, field: field %> <% end %> diff --git a/app/views/content/form/_text_input.html.erb b/app/views/content/form/_text_input.html.erb index c9c75200..a15cb98d 100644 --- a/app/views/content/form/_text_input.html.erb +++ b/app/views/content/form/_text_input.html.erb @@ -29,20 +29,25 @@ %> <%= hidden_field_tag "#{content_name}[custom_attribute_values][][name]", field.name %> - <%= text_area_tag "#{content_name}[custom_attribute_values][][value]", value && value.value, class: "materialize-textarea #{'autocomplete' if defined?(autocomplete) && autocomplete}", placeholder: placeholder %> + <%= + text_area_tag "#{content_name}[custom_attribute_values][][value]", + value && value.value, + class: "materialize-textarea #{defined?(autocomplete) && autocomplete ? ('autocomplete ' + 'js-autocomplete-' + field.id.to_s) : ''}", + placeholder: placeholder + %> <% unless field.name_field? || field.universe_field? %> <%= render 'content/form/attribute_field_dropdown', field: field %> <% end %> <% if defined?(autocomplete) && autocomplete %> - <%# todo re-enable this %> - <%# content_for :javascript do %> - - <%# end %> + }); + <% end %> <% end %>