Allow to enter addresses stored in a separate table.

This commit is contained in:
Roland 2011-07-20 21:46:22 +02:00
parent 0da81b043d
commit 83e90f1177
4 changed files with 59 additions and 60 deletions

View file

@ -21,11 +21,11 @@ class ContactsController < ApplicationController
c.lastname = params[:contact][:lastname]
c.build_address
c.address.street = params[:contact][:street]
c.address.housenr = params[:contact][:housenr]
c.address.zipcode = params[:contact][:zipcode]
c.address.place = params[:contact][:place]
c.address.country = params[:contact][:country]
c.address.street = params[:contact][:address_attributes][:street]
c.address.housenr = params[:contact][:address_attributes][:housenr]
c.address.zipcode = params[:contact][:address_attributes][:zipcode]
c.address.place = params[:contact][:address_attributes][:place]
c.address.country = params[:contact][:address_attributes][:country]
# birthdate comes with the year as optional value
c.birth_year = params[:birth_year].to_i unless params[:birth_year].blank?

View file

@ -1,10 +1,11 @@
<tr>
<td align="right"><%= f.label :address, "Mail" %></td>
<td><%= f.text_field :address %></td>
</tr>
<div class="row">
<div class="twocol"><%= f.label :address, "Mail" %></div>
<div class="threecol"><%= f.text_field :desc, :placeholder => "Bezeichnung" %></div>
<div class="threecol"><%= f.text_field :address, :placeholder => "Mailadresse" %></div>
</div>
<% unless f.object.new_record? %>
<tr>
<td align="right"><%= f.label :_delete, "Remove Mail" %></td>
<td><%= f.check_box :_delete %></td>
</tr>
<div class="row">
<div class="twocol"><%= f.label :_delete, "Remove Mail" %></div>
<div class="threecol"><%= f.check_box :_delete %></div>
</div>
<% end %>

View file

@ -2,63 +2,60 @@
<fieldset>
<legend>Contact details</legend>
<table>
<tr>
<td align="right"><%= label_tag(:firstname, "First name") %></td>
<td><%= f.text_field :firstname %></td>
</tr>
<tr>
<td align="right"><%= label_tag(:lastname, "Last name") %></td>
<td><%= f.text_field :lastname %></td>
</tr>
<div class="row">
<div class="twocol"><%= label_tag(:firstname, "First name") %></div>
<div class="threecol"><%= f.text_field :firstname, :placeholder => "Vorname" %></div>
</div>
<div class="row">
<div class="twocol"><%= label_tag(:lastname, "Last name") %></div>
<div class="threecol"><%= f.text_field :lastname, :placeholder => "Nachname" %></div>
</div>
<%= f.fields_for :address do |address_f| %>
<div class="row">
<div class="threecol"><%= address_f.label :street, "Street &middot; no.".html_safe %></div>
<div class="fivecol"><%= address_f.text_field :street %></div>
<div class="twocol"><%= address_f.text_field :housenr %></div>
<div class="twocol"><%= address_f.label :street, "Street &middot; no.".html_safe %></div>
<div class="threecol"><%= address_f.text_field :street, :placeholder => "Straße" %></div>
<div class="twocol"><%= address_f.text_field :housenr, :placeholder => "No." %></div>
</div>
<div class="row">
<div class="threecol"><%= label_tag(:zipcode, "ZIP &middot; Place".html_safe) %></div>
<div class="twocol"><%= address_f.text_field :zipcode %></div>
<div class="fivecol"><%= address_f.text_field :place %></div>
<div class="twocol"><%= label_tag(:zipcode, "ZIP &middot; Place".html_safe) %></div>
<div class="threecol"><%= address_f.text_field :zipcode, :placeholder => "PLZ" %></div>
<div class="fivecol"><%= address_f.text_field :place, :placeholder => "Ort" %></div>
</div>
<div class="row">
<div class="threecol"><%= label_tag(:country, "Country") %></div>
<div class="sevencol"><%= address_f.text_field :country %></div>
<div class="twocol"><%= label_tag(:country, "Country") %></div>
<div class="sevencol"><%= address_f.text_field :country, :placeholder => "Land" %></div>
</div>
<% end %> <%# fields_for :adress %>
<table>
<%= f.fields_for :emails do |emails_f| %>
<%= f.fields_for :emails do |emails_f| %>
<%= render "email_fields", :f => emails_f %>
<% end %> <%# fields_for :emails %>
<tr>
<td>&nbsp;</td>
<td>
<div class="row">
<div class="twocol">&nbsp;</div>
<div class="threecol">
<%= link_to 'Add an email', '#emails', :class => "add_nested_item", :rel => "emails" %>
</td>
</tr>
</div>
</div>
<%= f.fields_for :phones do |phones_f| %>
<%= render "phone_fields", :f => phones_f %>
<% end %> <%# fields_for :phones %>
<tr>
<td>&nbsp;</td>
<td>
<div class="row">
<div class="twocol">&nbsp;</div>
<div class="threecol">
<%= link_to 'Add a phone', '#phones', :class => "add_nested_item", :rel => "phones" %>
</td>
</tr>
<tr>
<td align="right"><%= label_tag(:birth_date, "Birthday") %></td>
<td>
</div>
</div>
<div class="row">
<div class="twocol"><%= label_tag(:birth_date, "Birthday") %></div>
<div class="threecol">
<%= select_tag(:birth_day, options_for_select(@days, @contact.birth_day)) %>
<%= select_tag(:birth_month, options_for_select(@months, @contact.birth_month)) %>
<%= text_field(:contact, :birth_year, :placeholder => "Jahr") %>
</td>
</tr>
<tr>
<td align="right"><td><%= f.submit("Save contact") %></td>
</tr>
</table>
</fieldset>
</div>
</div>
<div class="row">
<div class="twocol"><%= f.submit("Save contact") %></div>
</div>
</fieldset>
<% end %>

View file

@ -1,10 +1,11 @@
<tr>
<td align="right"><%= f.label :address, "Phone" %></td>
<td><%= f.text_field :nr %></td>
</tr>
<div class="row">
<div class="twocol"><%= f.label :address, "Phone" %></div>
<div class="threecol"><%= f.text_field :desc, :placeholder => "Bezeichnung" %></div>
<div class="threecol"><%= f.text_field :nr, :placeholder => "Nr." %></div>
</div>
<% unless f.object.new_record? %>
<tr>
<td align="right"><%= f.label :_delete, "Remove Phone" %></td>
<td><%= f.check_box :_delete %></td>
</tr>
<div class="row">
<div class="twocol"><%= f.label :_delete, "Remove Phone" %></div>
<div class="threecol"><%= f.check_box :_delete %></div>
</div>
<% end %>