integration of the new MVC for subproject_addresses

This commit is contained in:
Stefan Tollkühn
2025-07-22 17:33:53 +02:00
parent bae8b9318d
commit bc0df35259
11 changed files with 176 additions and 1 deletions

View File

@@ -0,0 +1,49 @@
class SubprojectAddressesController < ApplicationController
before_action :set_subproject_address, only: %i[show edit update destroy]
def index
@subproject_addresses = SubprojectAddress.all
end
def show
end
def new
@subproject_address = SubprojectAddress.new
end
def edit
end
def create
@subproject_address = SubprojectAddress.new(subproject_address_params)
if @subproject_address.save
redirect_to @subproject_address, notice: "Adresse was successfully created."
else
render :new, status: :unprocessable_entity
end
end
def update
if @subproject_address.update(subproject_address_params)
redirect_to @subproject_address, notice: "Adresse was successfully updated."
else
render :edit, status: :unprocessable_entity
end
end
def destroy
@subproject_address.destroy
redirect_to subproject_addresses_url, notice: "Adresse was successfully destroyed."
end
private
def set_subproject_address
@subproject_address = SubprojectAddress.find(params[:id])
end
def subproject_address_params
params.require(:subproject_address).permit(:subproject_id, :streetname, :zipcode, :city, :country)
end
end

View File

@@ -0,0 +1,5 @@
class SubprojectAddress < ApplicationRecord
belongs_to :subproject
validates :streetname, :zipcode, :city, :country, presence: true
end

View File

@@ -0,0 +1,24 @@
<%= form_with(model: subproject_address) do |form| %>
<% if subproject_address.errors.any? %>
<div style="color: red">
<h2><%= pluralize(subproject_address.errors.count, "error") %> prohibited this client from being saved:</h2>
<ul>
<% subproject_address.errors.each do |error| %>
<li><%= error.full_message %></li>
<% end %>
</ul>
</div>
<% end %>
<% [:streetname, :zipcode, :city, :country].each do |attrib| %>
<div>
<%= form.label attrib, style: "display: block" %>
<%= form.text_field attrib %>
</div>
<% end %>
<div>
<%= form.submit %>
</div>
<% end %>

View File

@@ -0,0 +1,22 @@
<div id="<%= dom_id subproject_address %>">
<p>
<strong>Streetname:</strong>
<%= subproject_address.streetname %>
</p>
<p>
<strong>Zipcode:</strong>
<%= subproject_address.zipcode %>
</p>
<p>
<strong>City:</strong>
<%= subproject_address.city %>
</p>
<p>
<strong>Country:</strong>
<%= subproject_address.country %>
</p>
</div>

View File

@@ -0,0 +1,12 @@
<% content_for :title, "Editing subproject address" %>
<h1>Editing subproject address</h1>
<%= render "form", subproject_address: @subproject_address %>
<br>
<div>
<%= link_to "Show this subproject address", @subproject_address %> |
<%= link_to "Back to subproject addresses", subproject_addresses_path %>
</div>

View File

@@ -0,0 +1,18 @@
<p style="color: green"><%= notice %></p>
<% content_for :title, "Subproject addresses" %>
<h1>Subproject addresses</h1>
<div id="subproject_addresses">
<% @subproject_addresses.each do |subproject_address| %>
<%= render subproject_address %>
<p>
<%= link_to "Show this subproject address", subproject_address %>
</p>
<% end %>
</div>
<%= link_to "New subproject address", new_subproject_address_path %>
<%= link_to "Back to main", "/" %>

View File

@@ -0,0 +1,11 @@
<% content_for :title, "New subproject address" %>
<h1>New subproject address</h1>
<%= render "form", subproject_address: @subproject_address %>
<br>
<div>
<%= link_to "Back to subproject addresses", subproject_addresses_path %>
</div>

View File

@@ -0,0 +1,10 @@
<p style="color: green"><%= notice %></p>
<%= render @subproject_address %>
<div>
<%= link_to "Edit this subproject address", edit_subproject_address_path(@subproject_address) %> |
<%= link_to "Back to subproject addresses", subproject_addresses_path %>
<%= button_to "Destroy this subproject address", @subproject_address, method: :delete %>
</div>