# GET /comptes/1/edit
def edit
@structures = Structure.all
+ 3.times { @compte.contacts.build }
end
# POST /comptes
# Never trust parameters from the scary internet, only allow the white list through.
def compte_params
params.require(:compte).permit(:structure_id, :nom, :civilité, :adresse1, :adresse2, :cp, :ville, :num_allocataire, :mémo,
- contacts_attributes: [:id, :nom, :_destroy])
+ contacts_attributes: [:id, :nom, :fixe, :portable, :email, :mémo, :_destroy])
end
end
class ReservationsController < ApplicationController
before_action :set_reservation, only: [:show, :edit, :update, :destroy]
+ before_action :set_prestation_types, only: [:new, :edit]
# GET /reservations
# GET /reservations.json
# GET /reservations/new
def new
@reservation = Reservation.new
+ @reservation.enfant_id = params[:enfant_id]
end
# GET /reservations/1/edit
@reservation = Reservation.find(params[:id])
end
+ def set_prestation_types
+ @prestation_types = current_user.organisation.prestation_types
+ end
+
# Never trust parameters from the scary internet, only allow the white list through.
def reservation_params
params.require(:reservation).permit(:enfant_id, :prestation_type_id, :début, :fin, :lundi, :mardi, :mercredi, :jeudi, :vendredi, :matin, :midi, :soir)
has_many :prestations
has_many :reservations
+
+ def nom_et_prénom
+ "#{self.nom} #{self.prénom}"
+ end
end
</div>
<% end %>
- <%= form.select :structure_id, options_from_collection_for_select(@structures, 'id', 'nom'), { label: "Structure:", wrapper: { class: 'has-warning', data: { foo: 'bar' } } }, { class: "selectpicker" } %>
- <%= form.text_field :nom %>
- <%= form.select :civilité, ["M","Mme","M et Mme"] %>
- <%= form.text_field :adresse1 %>
- <%= form.text_field :adresse2 %>
- <%= form.text_field :cp %>
- <%= form.text_field :ville %>
- <%= form.text_field :num_allocataire %>
- <%= form.text_area :mémo %>
+ <div class="row">
+ <div class="col-sm-4">
+ <%= form.select :structure_id, options_from_collection_for_select(@structures, 'id', 'nom'), { label: "Structure:", wrapper: { class: 'has-warning', data: { foo: 'bar' } } }, { class: "selectpicker" } %>
+ <%= form.text_field :nom %>
+ <%= form.select :civilité, ["M","Mme","M et Mme"] %>
+ <%= form.text_field :adresse1 %>
+ <%= form.text_field :adresse2 %>
+ <div class="row">
+ <div class="col-sm-4"><%= form.text_field :cp %></div>
+ <div class="col-sm-8"><%= form.text_field :ville %></div>
+ </div>
+ </div>
+ <div class="col-sm-8">
+ <%= form.text_field :num_allocataire %>
+ <%= form.text_area :mémo %>
- <%= form.fields_for :contacts do |contact_form| %>
- <p>
- Contact: <%= contact_form.text_field :nom %>
- <%= contact_form.check_box :_destroy, label: "Supprimer ?" %>
- </p>
- <% end %>
+ <h3>Contacts</h3>
+ <%= form.fields_for :contacts do |contact_form| %>
+ <div class="row">
+ <div class="col"><%= contact_form.text_field :nom, label_as_placeholder: true %></div>
+ <div class="col"><%= contact_form.text_field :fixe, label_as_placeholder: true %></div>
+ <div class="col"><%= contact_form.text_field :portable, label_as_placeholder: true %></div>
+ <div class="col"><%= contact_form.text_field :email, label_as_placeholder: true %></div>
+ <div class="col"><%= contact_form.check_box :_destroy, label: "Supprimer ?" %></div>
+ </div>
+ <% end %>
+ </div>
+ </div>
<div class="actions">
<%= form.submit "Enregistrer", class: "btn btn-success" %>
-<p>
- <h2>
- <%= @compte.nom %>
- </h2>
-</p>
-
<div class="row">
<div class="col">
+ <p>
+ <h2>
+ <%= @compte.nom %>
+ </h2>
+ </p>
+
<p>
<strong>Structure:</strong>
<%= @compte.structure.nom %>
<strong>Num allocataire:</strong>
<%= @compte.num_allocataire %>
</p>
-
+ <%= link_to 'Editer', edit_compte_path(@compte) %>
</div>
<div class="col">
-
<p>
- <strong>Mémo:</strong>
- <%= @compte.mémo %>
+ <h3>Contacts</h3>
+ <table class="table table-striped table-bordered table-sm">
+ <% @compte.contacts.each do |contact| %>
+ <tr>
+ <td><%= contact.nom %></td>
+ <td><%= contact.fixe %></td>
+ <td><%= contact.portable %></td>
+ <td><%= contact.email %></td>
+ <td><%= contact.mémo %></td>
+ </tr>
+ <% end %>
+ </table>
</p>
+ <br />
<p>
- <h3>Contacts</h3>
- <% @compte.contacts.each do |contact| %>
- <%= contact.nom %><br />
- <% end %>
+ <strong>Mémo</strong>
+ <div class="jumbotron">
+ <%= @compte.mémo %>
+ </div>
</p>
+
</div>
</div>
-<%= link_to 'Editer', edit_compte_path(@compte) %>
-
<p>
- <h3>Enfants</h3>
- <% @compte.enfants.each do |enfant| %>
- <%= enfant.nom %> <%= enfant.prénom %><br />
- <% end %>
+ <h3><i class="fas fa-child"></i> Enfants</h3>
+ <table class="table table-striped">
+ <thead>
+ <tr>
+ <th>Nom</th>
+ <th>Prénom</th>
+ <th>Date naissance</th>
+ <th>Classe</th>
+ <th>Menu SP?</th>
+ <th>Menu ALLERGIE?</th>
+ <th colspan="3"></th>
+ </tr>
+ </thead>
+ <% @compte.enfants.each do |enfant| %>
+ <tr>
+ <td><%= enfant.nom %></td>
+ <td><%= enfant.prénom %></td>
+ <td><%= enfant.date_naissance %></td>
+ <td><%= enfant.classroom.nom %></td>
+ <td><%= enfant.menuSP %></td>
+ <td><%= enfant.menuALL %></td>
+ <td><%= link_to 'Show', enfant %></td>
+ </tr>
+ <% end %>
+ </table>
</p>
<%= link_to "Ajouter un enfant", new_enfant_path(compte_id: @compte) %>
</table>
<br>
-
-<%= link_to 'New Enfant', new_enfant_path %>
+<p>
+ <h2>
+ <%= @enfant.nom %>
+ <%= @enfant.prénom %>
+ </h2>
+</p>
+
<p>
<strong>Compte:</strong>
<%= @enfant.compte.nom %>
<%= @enfant.classroom.nom %>
</p>
-<p>
- <strong>Nom:</strong>
- <%= @enfant.nom %>
-</p>
-
-<p>
- <strong>Prénom:</strong>
- <%= @enfant.prénom %>
-</p>
-
<p>
<strong>Date naissance:</strong>
<%= @enfant.date_naissance %>
</p>
<p>
- <strong>Menusp:</strong>
+ <strong>Menu 'Sans porc' ?:</strong>
<%= @enfant.menuSP %>
</p>
<p>
- <strong>Menuall:</strong>
+ <strong>Menu 'Allergie' ?:</strong>
<%= @enfant.menuALL %>
</p>
-<%= link_to 'Edit', edit_enfant_path(@enfant) %> |
-<%= link_to 'Back', enfants_path %>
+<%= link_to 'Editer', edit_enfant_path(@enfant) %>
<br /><br />
-<h3>Réservations</h3>
-<table class="table table-striped">
- <% @enfant.reservations.each do |reservation| %>
- <tr>
- <td><%= reservation.début %></td>
- <td><%= reservation.fin %></td>
- <td><%= reservation.prestation_type.nom %>
- <td><%= reservation.lundi %>
- <td><%= reservation.mardi %>
- <td><%= reservation.mercredi %>
- <td><%= reservation.jeudi %>
- <td><%= reservation.vendredi %>
- <td><%= reservation.matin %>
- <td><%= reservation.midi %>
- <td><%= reservation.soir %>
- </tr>
- <% end %>
-</table>
+<p>
+ <h3><i class="fas fa-calendar-alt"></i> Réservations</h3>
+ <table class="table table-striped">
+ <% @enfant.reservations.each do |reservation| %>
+ <tr>
+ <td><%= reservation.début %></td>
+ <td><%= reservation.fin %></td>
+ <td><%= reservation.prestation_type.nom %>
+ <td><%= reservation.lundi %>
+ <td><%= reservation.mardi %>
+ <td><%= reservation.mercredi %>
+ <td><%= reservation.jeudi %>
+ <td><%= reservation.vendredi %>
+ <td><%= reservation.matin %>
+ <td><%= reservation.midi %>
+ <td><%= reservation.soir %>
+ </tr>
+ <% end %>
+ </table>
+ <%= link_to "Ajouter une réservation", new_reservation_path(enfant_id: @enfant) %>
+</p>
-<h3>Prestations</h3>
+<h3><i class="fas fa-utensils"></i> Prestations</h3>
<table class="table table-striped">
<% @enfant.prestations.each do |prestation| %>
<tr>
</div>
<% end %>
- <%= form.text_field :nom %>
- <%= form.text_field :adresse %>
- <%= form.text_field :cp %>
- <%= form.text_field :ville %>
- <%= form.text_field :téléphone %>
- <%= form.text_field :email %>
- <%= form.file_field :logo %>
- <%= form.select :zone, ["A", "B", "C"], { label: "Zone de vacances scolaires:", wrapper: { class: 'has-warning', data: { foo: 'bar' } } }, { class: "selectpicker" } %>
+ <div class="row">
+ <div class="col">
+ <%= form.text_field :nom %>
+ <%= form.text_field :adresse %>
+ <%= form.text_field :cp %>
+ <%= form.text_field :ville %>
+ </div>
+ <div class="col">
+ <%= form.text_field :téléphone %>
+ <%= form.text_field :email %>
+ <%= form.file_field :logo %>
+ <%= form.select :zone, ["A", "B", "C"], { label: "Zone de vacances scolaires:", wrapper: { class: 'has-warning', data: { foo: 'bar' } } }, { class: "selectpicker" } %>
+ </div>
+ </div>
+ <h3>Structures</h3>
<%= form.fields_for :structures do |structure_form| %>
- <p>
- Structure: <%= structure_form.text_field :nom %>
- <%= structure_form.check_box :_destroy, label: "Supprimer ?" %>
- </p>
+ <div class="row">
+ <div class="col"><%= structure_form.text_field :nom, label_as_placeholder: true %></div>
+ <div class="col"><%= structure_form.check_box :_destroy, label: "Supprimer ?" %></div>
+ </div>
<% end %>
<div class="actions">
</p>
<p>
- <strong>Zone:</strong>
- <%= @organisation.zone %>
+ <h3>Structures</h3>
+ <table class="table table-bordered table-striped table-sm">
+ <% @organisation.structures.each do |structure| %>
+ <tr>
+ <td><%= link_to structure.nom, structure %></td>
+ </tr>
+ <% end %>
+ </table>
</p>
-
<%= link_to 'Editer', edit_organisation_path(@organisation) %>
- <hr>
<p>
- <h3>Structures</h3>
- <% @organisation.structures.each do |structure| %>
- <%= link_to structure.nom, structure %><br />
- <% end %>
+ <h3>Types de prestations</h3>
+ <table class="table table-bordered table-striped table-sm">
+ <% @organisation.prestation_types.each do |prestation| %>
+ <tr>
+ <td><%= link_to prestation.nom, prestation %></td>
+ </tr>
+ <% end %>
+ </table>
</p>
- </div>
- <div class="col">
- <h3>Types de tarifs</h3>
- <% @organisation.tarif_types.each do |tarif| %>
- <%= link_to tarif.nom, tarif %><br />
- <% end %>
- <%= link_to "Ajouter un type de tarif", new_tarif_type_path(organisation_id: @organisation) %>
+ <%= link_to "Ajouter un type de prestation", new_prestation_type_path(organisation_id: @organisation) %>
+ </div>
+ <div class="col">
<p>
- <h3>Types de prestations</h3>
- <% @organisation.prestation_types.each do |prestation| %>
- <%= link_to prestation.nom, prestation %><br />
- <% end %>
+ <h3>Types de tarifs</h3>
+ <table class="table table-bordered table-striped table-sm">
+ <% @organisation.tarif_types.each do |tarif| %>
+ <tr>
+ <td><%= link_to tarif.nom, tarif %></td>
+ </tr>
+ <% end %>
+ </table>
</p>
- <%= link_to "Ajouter un type de prestation", new_prestation_type_path(organisation_id: @organisation) %>
+ <%= link_to "Ajouter un type de tarif", new_tarif_type_path(organisation_id: @organisation) %>
<p>
<h3>Tarifs</h3>
- <table class="table table-striped">
+ <table class="table table-bordered table-striped table-sm">
<% @organisation.tarifs.each do |tarif| %>
<tr>
<td><%= tarif.tarif_type.nom %></td>
<td><%= tarif.prestation_type.nom %></td>
- <td><%= tarif.prix %></td>
+ <td><%= number_to_currency(tarif.prix, unit: '€', precision: 2, format: "%n %u") %></td>
</tr>
<% end %>
</table>
</p>
+
+ <p>
+ <h3>Vacances (Zone <%= @organisation.zone %>)</h3>
+ <table class="table table-bordered table-striped table-sm">
+ <% Vacance.where(zone: @organisation.zone).each do | vacance | %>
+ <tr>
+ <td><%= vacance.nom %></td>
+ <td><%= vacance.début %></td>
+ <td><%= vacance.fin %></td>
+ </tr>
+ <% end %>
+ </table>
+ </p>
+
+
</div>
</div>
-<%= form_with(model: reservation, local: true) do |form| %>
+<%= bootstrap_form_with(model: reservation, local: true) do |form| %>
<% if reservation.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(reservation.errors.count, "error") %> prohibited this reservation from being saved:</h2>
</div>
<% end %>
- <div class="field">
- <%= form.label :enfant_id %>
- <%= form.text_field :enfant_id %>
- </div>
-
- <div class="field">
- <%= form.label :prestation_type_id %>
- <%= form.text_field :prestation_type_id %>
- </div>
-
- <div class="field">
- <%= form.label :début %>
- <%= form.date_select :début %>
- </div>
-
- <div class="field">
- <%= form.label :fin %>
- <%= form.date_select :fin %>
- </div>
-
- <div class="field">
- <%= form.label :lundi %>
- <%= form.text_field :lundi %>
- </div>
-
- <div class="field">
- <%= form.label :mardi %>
- <%= form.text_field :mardi %>
- </div>
-
- <div class="field">
- <%= form.label :mercredi %>
- <%= form.text_field :mercredi %>
- </div>
-
- <div class="field">
- <%= form.label :jeudi %>
- <%= form.text_field :jeudi %>
- </div>
-
- <div class="field">
- <%= form.label :vendredi %>
- <%= form.text_field :vendredi %>
- </div>
-
- <div class="field">
- <%= form.label :matin %>
- <%= form.check_box :matin %>
- </div>
-
- <div class="field">
- <%= form.label :midi %>
- <%= form.check_box :midi %>
- </div>
-
- <div class="field">
- <%= form.label :soir %>
- <%= form.check_box :soir %>
- </div>
+ <p>
+ <h2>
+ <%= @reservation.enfant.nom_et_prénom %>
+ </h2>
+ </p>
+
+ <%= form.hidden_field :enfant_id %>
+ <%= form.select :prestation_type_id, options_from_collection_for_select(@prestation_types, 'id', 'nom'), { label: "Prestation type:", wrapper: { class: 'has-warning', data: { foo: 'bar' } } }, { class: "selectpicker" } %>
+ <%= form.date_select :début %>
+ <%= form.date_select :fin %>
+
+ <div class="row">
+ <div class="col"><%= form.text_field :lundi %></div>
+ <div class="col"><%= form.text_field :mardi %></div>
+ <div class="col"><%= form.text_field :mercredi %></div>
+ <div class="col"><%= form.text_field :jeudi %></div>
+ <div class="col"><%= form.text_field :vendredi %></div>
+ </div>
+
+ <%= form.check_box :matin, custom: :switch %>
+ <%= form.check_box :midi, custom: :switch %>
+ <%= form.check_box :soir, custom: :switch %>
+ <br />
<div class="actions">
<%= form.submit %>