To be continued : Add position form (autocomplete)

This commit is contained in:
Nadia Arfaoui 2016-02-14 17:21:23 +01:00
parent 559135472e
commit f16db07eb6
5 changed files with 30 additions and 13 deletions

View file

@ -2,6 +2,8 @@ class AutocompleteController < ApplicationController
autocomplete :subject, :title, full: true, extra_data: [:presentation] autocomplete :subject, :title, full: true, extra_data: [:presentation]
autocomplete :public_figure, :name, full: true
def autocomplete_position_title def autocomplete_position_title
term = params[:term] term = params[:term]
subject_id = params[:subject_id] subject_id = params[:subject_id]

View file

@ -4,4 +4,14 @@ class Position < ActiveRecord::Base
validates :subject_id, presence: true validates :subject_id, presence: true
validates :title, presence: true validates :title, presence: true
validates :description, presence: true validates :description, presence: true
validate :at_least_one_statement
private
def at_least_one_statement
if statements.size < 1
errors.add("Il faut au moins une prise de position pour cette position")
end
end
end end

View file

@ -72,7 +72,6 @@
} }
%> %>
<%= label_tag t "Position" %>
<%= f.label :position_id, "Position prise" %> <%= f.label :position_id, "Position prise" %>
<%= f.select :position_id, {} %> <%= f.select :position_id, {} %>

View file

@ -22,7 +22,7 @@
<%= render partial: "position", collection:@subject.positions, as: :position %> <%= render partial: "position", collection:@subject.positions, as: :position %>
<% if false && logged_in? && allowed_to?(:add_position) && allowed_to?(:add_statement) %> <% if logged_in? && allowed_to?(:add_position) && allowed_to?(:add_statement) %>
<li id="new-position"> <li id="new-position">
<%= form_for(@new_position) do |f| %> <%= form_for(@new_position) do |f| %>
<%= render 'shared/error_messages', object: f.object %> <%= render 'shared/error_messages', object: f.object %>
@ -32,7 +32,12 @@
<!-- Il est obligatoire d'ajouter une première prise de position pour valider une nouvelle position, donc on la met tout de suite dans le même formulaire --> <!-- Il est obligatoire d'ajouter une première prise de position pour valider une nouvelle position, donc on la met tout de suite dans le même formulaire -->
<p>Qui a pris cette position ?</p> <p>Qui a pris cette position ?</p>
<%= autocomplete_field_tag 'PublicFigure', '',
autocomplete_autocomplete_public_figure_name_path,
id_element: '#position_public_figure_id',
class: "Autocomplete"
%>
<%= f.hidden_field :public_figure_id, value: ""%>
<%= f.submit "Ajouter", class: "btn btn-primary" %> <%= f.submit "Ajouter", class: "btn btn-primary" %>
<% end %> <% end %>

View file

@ -23,6 +23,7 @@ Rails.application.routes.draw do
# AUTOCOMPLETE # AUTOCOMPLETE
get 'autocomplete/autocomplete_subject_title' get 'autocomplete/autocomplete_subject_title'
get 'autocomplete/autocomplete_position_title' get 'autocomplete/autocomplete_position_title'
get 'autocomplete/autocomplete_public_figure_name'
get 'a-propos', to: 'static_pages#a_propos', as: 'a_propos' get 'a-propos', to: 'static_pages#a_propos', as: 'a_propos'
get 'contact', to: 'static_pages#contact', as: 'contact' get 'contact', to: 'static_pages#contact', as: 'contact'