diff --git a/app/helpers/subprojects_helper.rb b/app/helpers/subprojects_helper.rb index 190170b..8255392 100644 --- a/app/helpers/subprojects_helper.rb +++ b/app/helpers/subprojects_helper.rb @@ -2,4 +2,8 @@ module SubprojectsHelper def subproject_form_fields [:subproject_name, :project_id, :client_id, :owner_id, :builder_id] end + + def subproject_view_fields + [:subproject_name, :project, :client, :owner, :builder] + end end diff --git a/app/views/projects/show.html.erb b/app/views/projects/show.html.erb index 842362a..3c9ad81 100644 --- a/app/views/projects/show.html.erb +++ b/app/views/projects/show.html.erb @@ -1,6 +1,26 @@

<%= notice %>

-<%= render @project %> +<% content_for :title, "Project: #{@project.name}" %> + +

Project: <%= @project.name %>

+ +
+ + + + <% project_view_fields.each do |attrib| %> + + <% end %> + + + + + + <%= render @project %> + + +
<%= attrib.to_s.humanize %>Subprojects
+
<%= link_to "Edit this project", edit_project_path(@project) %> | diff --git a/app/views/subprojects/_subproject.html.erb b/app/views/subprojects/_subproject.html.erb index 341780b..4cf100d 100644 --- a/app/views/subprojects/_subproject.html.erb +++ b/app/views/subprojects/_subproject.html.erb @@ -1,27 +1,14 @@ -
-

- Subproject name: - <%= subproject.subproject_name %> -

- -

- Project: - <%= subproject.project_id %> -

- -

- Client: - <%= link_to "#{subproject.client&.company_name} (#{subproject.client&.lastname}, #{subproject.client&.firstname})", client_path(subproject.client&.id) %> -

- -

- Owner: - <%= link_to "#{subproject.owner&.company_name} (#{subproject.owner&.lastname}, #{subproject.owner&.firstname})", client_path(subproject.owner&.id) %> -

- -

- Builder: - <%= link_to "#{subproject.builder&.company_name} (#{subproject.builder&.lastname}, #{subproject.builder&.firstname})", client_path(subproject.builder&.id) %> -

- -
+<% subproject_view_fields.each do |attrib| %> + + <% value = subproject.send(attrib) %> + <% if attrib == :subproject_name %> + <%= link_to value, subproject_path(subproject) %> + <% elsif attrib == :project %> + <%= link_to value.name, project_path(value) %> + <% elsif attrib == :client || attrib == :owner || attrib == :builder %> + <%= link_to "#{value&.company_name} (#{value&.lastname}, #{value&.firstname})", client_path(value&.id) %> + <% else %> + <%= value.is_a?(Date) ? l(value) : value %> + <% end %> + +<% end %> diff --git a/app/views/subprojects/index.html.erb b/app/views/subprojects/index.html.erb index 7ec5ebe..b78b534 100644 --- a/app/views/subprojects/index.html.erb +++ b/app/views/subprojects/index.html.erb @@ -5,12 +5,23 @@

Subprojects

- <% @subprojects.each do |subproject| %> - <%= render subproject %> -

- <%= link_to "Show this subproject", subproject %> -

- <% end %> + + + + <% subproject_view_fields.each do |attrib| %> + + <% end %> + + + + + <% @subprojects.each do |subproject| %> + + <%= render subproject %> + + <% end %> + +
<%= attrib.to_s.humanize %>
<%= link_to "New subproject", new_subproject_path %> diff --git a/app/views/subprojects/show.html.erb b/app/views/subprojects/show.html.erb index 12c8f78..89d0c05 100644 --- a/app/views/subprojects/show.html.erb +++ b/app/views/subprojects/show.html.erb @@ -1,6 +1,25 @@

<%= notice %>

-<%= render @subproject %> +<% content_for :title, "Subproject: #{@subproject.subproject_name}" %> + +

Subproject: <%= @subproject.subproject_name %>

+ +
+ + + + <% subproject_view_fields.each do |attrib| %> + + <% end %> + + + + + <%= render @subproject %> + + +
<%= attrib.to_s.humanize %>
+
<%= link_to "Edit this subproject", edit_subproject_path(@subproject) %> |