FogBugz #60: Ermoeglichen der Eingabe von Mails und Telefonen.
This commit is contained in:
parent
6213fa6312
commit
41f59e08fd
5 changed files with 71 additions and 45 deletions
|
|
@ -7,6 +7,9 @@ class ContactsController < ApplicationController
|
|||
|
||||
def new
|
||||
@contact = Contact.new
|
||||
3.times do
|
||||
email = @contact.emails.build
|
||||
end
|
||||
end
|
||||
|
||||
def create
|
||||
|
|
@ -19,6 +22,13 @@ class ContactsController < ApplicationController
|
|||
c.place = params[:contact][:place]
|
||||
c.country = params[:contact][:country]
|
||||
|
||||
params[:contact][:emails_attributes].each do |e|
|
||||
unless e.address.blank?
|
||||
email = c.emails.build
|
||||
email.address = e.address
|
||||
end
|
||||
end
|
||||
|
||||
if c.save
|
||||
flash[:notice] = 'Kontakt hervorragend angelegt!'
|
||||
redirect_to :action => 'index'
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
class Contact < ActiveRecord::Base
|
||||
has_many :emails
|
||||
has_many :phones
|
||||
has_many :emails, :dependent => :destroy
|
||||
has_many :phones, :dependent => :destroy
|
||||
|
||||
accepts_nested_attributes_for :emails, :allow_destroy => true
|
||||
accepts_nested_attributes_for :phones, :allow_destroy => true
|
||||
accepts_nested_attributes_for :emails, :reject_if => lambda { |a| a[:address].blank? }, :allow_destroy => true
|
||||
accepts_nested_attributes_for :phones, :reject_if => lambda { |a| a[:nr].blank? }, :allow_destroy => true
|
||||
end
|
||||
|
|
|
|||
10
app/views/contacts/_email_fields.html.erb
Normal file
10
app/views/contacts/_email_fields.html.erb
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<tr>
|
||||
<td align="right"><%= f.label :address, "Mail" %></td>
|
||||
<td><%= f.text_field :address %></td>
|
||||
</tr>
|
||||
<% unless f.object.new_record? %>
|
||||
<tr>
|
||||
<td align="right"><%= f.label :_delete, "Remove Mail" %></td>
|
||||
<td><%= f.check_box :_delete %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
46
app/views/contacts/_form.html.erb
Normal file
46
app/views/contacts/_form.html.erb
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
<%= form_for @contact, :html => {:class => "new_data_form"} do |f| %>
|
||||
<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>
|
||||
<tr>
|
||||
<td align="right"><%= label_tag(:street, "Street name") %></td>
|
||||
<td><%= f.text_field :street %></td>
|
||||
<tr>
|
||||
<td align="right"><%= label_tag(:housenr, "House number") %></td>
|
||||
<td><%= f.text_field :housenr %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><%= label_tag(:plz, "Zip code") %></td>
|
||||
<td><%= f.text_field :plz %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><%= label_tag(:place, "Place") %></td>
|
||||
<td><%= f.text_field :place %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><%= label_tag(:country, "Country") %></td>
|
||||
<td><%= f.text_field :country %></td>
|
||||
</tr>
|
||||
<% f.fields_for :emails do |emails_f| %>
|
||||
<%= render "email_fields", :f => emails_f %>
|
||||
<% end %> <%# fields_for :emails %>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>
|
||||
<%= link_to 'Add an email', '#emails', :class => "add_nested_item", :rel => "emails" %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><td><%= f.submit("Save contact") %></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
|
|
@ -1,44 +1,4 @@
|
|||
<h1>New Contact</h1>
|
||||
|
||||
<%= form_for @contact, :html => {:class => "new_data_form"} do |f| %>
|
||||
<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>
|
||||
<tr>
|
||||
<td align="right"><%= label_tag(:street, "Street name") %></td>
|
||||
<td><%= f.text_field :street %></td>
|
||||
<tr>
|
||||
<td align="right"><%= label_tag(:housenr, "House number") %></td>
|
||||
<td><%= f.text_field :housenr %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><%= label_tag(:plz, "Zip code") %></td>
|
||||
<td><%= f.text_field :plz %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><%= label_tag(:place, "Place") %></td>
|
||||
<td><%= f.text_field :place %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><%= label_tag(:country, "Country") %></td>
|
||||
<td><%= f.text_field :country %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><%= label_tag(:email, "Mail") %></td>
|
||||
<td><%= f.text_field :email %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right"><td><%= submit_tag("Save contact") %></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<% end %>
|
||||
<%= render "form" %>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue