To be continued : Add position form (autocomplete)
This commit is contained in:
parent
559135472e
commit
f16db07eb6
5 changed files with 30 additions and 13 deletions
|
|
@ -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]
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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, {} %>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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 %>
|
||||||
|
|
|
||||||
|
|
@ -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'
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue