diff --git a/app/controllers/admin/valuators_controller.rb b/app/controllers/admin/valuators_controller.rb index 35c449299..0f35dc676 100644 --- a/app/controllers/admin/valuators_controller.rb +++ b/app/controllers/admin/valuators_controller.rb @@ -19,9 +19,14 @@ class Admin::ValuatorsController < Admin::BaseController end def create - @valuator.user_id = params[:user_id] + @valuator = Valuator.new(create_params) @valuator.save redirect_to admin_valuators_path end + + private + def create_params + params.require(:valuator).permit(:user_id, :description) + end end diff --git a/app/views/admin/valuators/_valuator.html.erb b/app/views/admin/valuators/_valuator.html.erb index 68c2ae46d..772784476 100644 --- a/app/views/admin/valuators/_valuator.html.erb +++ b/app/views/admin/valuators/_valuator.html.erb @@ -1,7 +1,24 @@ -<%= valuator.name %> - •  -<%= valuator.email %> -<% unless valuator.persisted? %> - <%= link_to t('admin.valuators.valuator.add'),{ controller: "admin/valuators", action: :create, user_id: valuator.user_id }, - method: :post, class: "button small success float-right" %> -<% end %> +

<%= t('admin.valuators.valuator.user_found') %>:

+
+
+

+ <%= valuator.name %> +  •  + <%= valuator.email %> +

+
+ + <% unless @valuator.persisted? %> + <%= form_for @valuator, url: admin_valuators_path do |f| %> +
+
+ <%= f.text_field :description, label: false, placeholder: "descripción (opcional)" %> + <%= f.hidden_field :user_id %> +
+
+ <%= f.submit t('admin.valuators.valuator.add'), class: "button success float-left" %> +
+
+ <% end %> + <% end %> +
\ No newline at end of file diff --git a/app/views/admin/valuators/index.html.erb b/app/views/admin/valuators/index.html.erb index ba5881192..f3abe5e03 100644 --- a/app/views/admin/valuators/index.html.erb +++ b/app/views/admin/valuators/index.html.erb @@ -16,7 +16,13 @@ diff --git a/app/views/admin/valuators/search.js.erb b/app/views/admin/valuators/search.js.erb index e899668ee..4068c146e 100644 --- a/app/views/admin/valuators/search.js.erb +++ b/app/views/admin/valuators/search.js.erb @@ -1 +1 @@ -$("#search-result").html("
<%= j render 'valuator', valuator: @valuator %>
"); +$("#search-result").html("<%= j render 'valuator', valuator: @valuator %>"); diff --git a/app/views/admin/valuators/user_not_found.js.erb b/app/views/admin/valuators/user_not_found.js.erb index c28e72e01..1425577f4 100644 --- a/app/views/admin/valuators/user_not_found.js.erb +++ b/app/views/admin/valuators/user_not_found.js.erb @@ -1 +1 @@ -$("#search-result").html("
<%= j t('admin.valuators.search.user_not_found') %>
"); +$("#search-result").html("

<%= j t('admin.valuators.search.user_not_found') %>

"); diff --git a/config/locales/admin.en.yml b/config/locales/admin.en.yml index 4ecf9cbda..b38a069aa 100755 --- a/config/locales/admin.en.yml +++ b/config/locales/admin.en.yml @@ -74,7 +74,8 @@ en: index: title: Valuators valuator: - add: Add + user_found: User found + add: Add to valuators search: email_placeholder: Search user by email search: Search diff --git a/config/locales/admin.es.yml b/config/locales/admin.es.yml index bc882fab2..67c846158 100644 --- a/config/locales/admin.es.yml +++ b/config/locales/admin.es.yml @@ -74,7 +74,8 @@ es: index: title: Evaluadores valuator: - add: Añadir + user_found: Usuario encontrado + add: Añadir como evaluador search: email_placeholder: Buscar usuario por email search: Buscar diff --git a/spec/features/admin/valuators_spec.rb b/spec/features/admin/valuators_spec.rb index a4b17f699..d95432474 100644 --- a/spec/features/admin/valuators_spec.rb +++ b/spec/features/admin/valuators_spec.rb @@ -20,9 +20,12 @@ feature 'Admin valuators' do click_button 'Search' expect(page).to have_content @user.name - click_link 'Add' + fill_in 'valuator_description', with: 'environmental expert' + click_button 'Add to valuators' + within("#valuators") do expect(page).to have_content @user.name + expect(page).to have_content 'environmental expert' end end