65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| <%= form_with(model: project) do |form| %>
 | |
|   <% if project.errors.any? %>
 | |
|     <div style="color: red">
 | |
|       <h2><%= pluralize(project.errors.count, "error") %> prohibited this project from being saved:</h2>
 | |
| 
 | |
|       <ul>
 | |
|         <% project.errors.each do |error| %>
 | |
|           <li><%= error.full_message %></li>
 | |
|         <% end %>
 | |
|       </ul>
 | |
|     </div>
 | |
|   <% end %>
 | |
| 
 | |
|   <% project_form_fields.each do |attrib| %>
 | |
|   <div>
 | |
|     <%= form.label attrib, style: "display: block" %>
 | |
|     <%= form.text_field attrib, value: project.send(attrib) %>
 | |
|   </div>
 | |
|   <% end %>
 | |
| 
 | |
|   <h3>Subprojects</h3>
 | |
|   <%= form.fields_for :subprojects do |sp_form| %>
 | |
|     <div class="subproject-fields">
 | |
|       <%= sp_form.label :subproject_name %>
 | |
|       <%= sp_form.text_field :subproject_name %>
 | |
| 
 | |
|       <% [:client, :owner, :builder].each do |role| %>
 | |
|         <div>
 | |
|           <%= sp_form.label "#{role}_id", "Select Existing #{role.capitalize}" %>
 | |
|           <%= sp_form.collection_select "#{role}_id", Client.all, :id, -> (client) { "#{client.company_name} (#{client.lastname}, #{client.firstname})" }, prompt: "Select #{role.capitalize}" %>
 | |
| 
 | |
|           <fieldset>
 | |
|             <legend>Or Create New <%= role.capitalize %></legend>
 | |
|             <%= sp_form.fields_for role do |c_form| %>
 | |
|               <% [:company_name, :firstname, :lastname, :streetname, :zipcode, :city, :country, :email, :phone].each do |attrib| %>
 | |
|                 <%= c_form.label attrib %>
 | |
|                 <%= c_form.text_field attrib %><br>
 | |
|               <% end %>
 | |
|             <% end %>
 | |
|           </fieldset>
 | |
|         </div>
 | |
|       <% end %>
 | |
|     </div>
 | |
|     <div class="subproject-address-fields">
 | |
| 
 | |
|       <fieldset>
 | |
|         <legend>Address</legend>
 | |
|         <%= sp_form.fields_for :subproject_address do |spaddress_form| %>
 | |
|           <% [:streetname, :zipcode, :city, :country].each do |attrib| %>
 | |
|             <%= spaddress_form.label attrib %>
 | |
|             <%= spaddress_form.text_field attrib %><br>
 | |
|           <% end %>
 | |
|         <% end %>
 | |
|       </fieldset>
 | |
| 
 | |
|     </div>
 | |
|   <% end %>
 | |
| 
 | |
| </div>
 | |
| 
 | |
|   <div>
 | |
|     <%= form.submit %>
 | |
|   </div>
 | |
| <% end %>
 | 
