diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 842c4f9..befe606 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -1,5 +1,6 @@ class ProjectsController < ApplicationController before_action :set_project, only: %i[ show edit update destroy ] + before_action :set_collections, only: %i[new edit create update] # GET /projects or /projects.json def index @@ -74,6 +75,11 @@ class ProjectsController < ApplicationController @project = Project.find(params[:id]) end + def set_collections + @clients = Client.order(:company_name, :lastname, :firstname).to_a + @projects = Project.order(:name).to_a + end + # Only allow a list of trusted parameters through. def project_params params.require(:project).permit( diff --git a/app/views/projects/_form.html.erb b/app/views/projects/_form.html.erb index 5b4b43d..e55bd22 100644 --- a/app/views/projects/_form.html.erb +++ b/app/views/projects/_form.html.erb @@ -27,7 +27,7 @@ <% [:client, :owner, :builder].each do |role| %>
<%= 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}" %> + <%= sp_form.collection_select "#{role}_id", clients, :id, :display_name, prompt: "Select #{role.capitalize}" %>
Or Create New <%= role.capitalize %> diff --git a/app/views/projects/edit.html.erb b/app/views/projects/edit.html.erb index 81f75b9..99a4fe0 100644 --- a/app/views/projects/edit.html.erb +++ b/app/views/projects/edit.html.erb @@ -2,7 +2,7 @@

Editing project

-<%= render "form", project: @project %> +<%= render "form", project: @project, clients: @clients %>
diff --git a/app/views/projects/new.html.erb b/app/views/projects/new.html.erb index ba1aa2e..89c6b79 100644 --- a/app/views/projects/new.html.erb +++ b/app/views/projects/new.html.erb @@ -3,7 +3,7 @@

New project

- <%= render "form", project: @project %> + <%= render "form", project: @project, clients: @clients %>