Skip to content
This repository was archived by the owner on Sep 29, 2020. It is now read-only.

Commit a4bea49

Browse files
committed
Can view assignments
1 parent 392e280 commit a4bea49

File tree

6 files changed

+59
-3
lines changed

6 files changed

+59
-3
lines changed

app/controllers/assignments_controller.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
class AssignmentsController < ApplicationController
22
before_action :load_referral, except: :new
3+
before_action :parse_date, only: :index
4+
5+
def index
6+
@referrals = Referral.joins(:assignees).order(created_at: :desc)
7+
.by_month(@date, col: 'referrals.created_at')
8+
.select('referrals.*', 'users.first_name', 'users.last_name')
9+
end
310

411
def create
512
@assignment = Assignment.new(form_params)

app/controllers/referrals_controller.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ def index
1919

2020
def show
2121
@referral = @partner.referrals.find_by(sequential_id: params[:id])
22+
@users = User.all - User.joins(:assignments).where('referral_id = ?', @referral)
2223
render_status(404) if @referral.nil?
2324
end
2425

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<div class="mt50 mb40">
2+
3+
<% if @referrals.any? %>
4+
5+
<div class="row bold h2">
6+
<div class="sm f1 truncate">Identifier</div>
7+
<div class="sm f1 truncate">Partner</div>
8+
<div class="sm f1 truncate">Status</div>
9+
<div class="sm f1 truncate">Date</div>
10+
</div>
11+
12+
<% @referrals.group_by { |o| "#{o.first_name} #{o.last_name}" }.each do |g| %>
13+
14+
<div class="mb10">Assigned to <%= g[0] %> (<%= g[1].size %>)</div>
15+
16+
<% g[1].each.each do |r| %>
17+
18+
<%= link_to(
19+
referral_path(r.partner, r),
20+
class: "row h3 mb10 #{requires_review(r.last_state)}"
21+
) do %>
22+
<span class="sm f1 truncate bold">
23+
<%= r.response_identifier %>
24+
</span>
25+
<span class="sm f1 truncate">
26+
<%= r.partner.name %>
27+
</span>
28+
<%= status_text(r.last_state) %>
29+
<span class="sm f1 truncate">
30+
<%= r.created_at.strftime('%d / %m / %y') %>
31+
</span>
32+
<% end %>
33+
<% end %>
34+
35+
<% end %>
36+
37+
<% else %>
38+
39+
<div class="center">No assignees this month.</div>
40+
41+
<% end %>
42+
43+
</div>
44+
45+
<%= render(partial: 'layouts/month_picker', locals: { date: @date, path: :advisors_path }) %>

app/views/layouts/application.html.erb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
<div class="mw-767 mx-auto flex justify-between">
1717
<div>
1818
<%= link_to('Slots', root_path, class: "nav-item h2 bold black mr40 #{current_page?(root_path) ? 'active' : ''}") %>
19-
<%= link_to('Referrals', referrals_path, class: "nav-item h2 bold black #{current_page?(referrals_path) ? 'active' : ''}") %>
19+
<%= link_to('Referrals', referrals_path, class: "nav-item h2 bold black mr40 #{current_page?(referrals_path) ? 'active' : ''}") %>
20+
<%= link_to('Advisors', advisors_path, class: "nav-item h2 bold black #{current_page?(advisors_path) ? 'active' : ''}") %>
2021
</div>
2122
<%= link_to('Log Out', destroy_user_session_path, method: :delete, class: 'nav-item h2 bold black underline') %>
2223
</div>

app/views/referrals/show.html.erb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div class="mt50 mb20">
2-
<%= link_to("❮ Go back", referrals_path, class: "h1 bold underline") %>
2+
<%= link_to("❮ Back to referrals", referrals_path, class: "bold underline") %>
33
</div>
44

55
<div class="row bold h2">
@@ -88,7 +88,7 @@
8888
<p><strong>Assign advisor</strong></p>
8989

9090
<%= simple_form_for Assignment.new, url: new_assignment_path(@partner, @referral) do |f| %>
91-
<%= f.input :user_id, collection: User.where("id NOT IN (SELECT DISTINCT(user_id) FROM assignments)"), label_method: :full_name, label: false, wrapper_html: { style: "display: inline-block" } %>
91+
<%= f.input :user_id, collection: @users, label_method: :full_name, label: false, wrapper_html: { style: "display: inline-block" } %>
9292
<%= f.button :submit, "Assign", class: "no-style", data: { disable_with: "Assigning..." } %>
9393
<% end %>
9494
</div>

config/routes.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
root 'partners#index'
77

8+
get '/advisors', to: 'assignments#index', as: 'advisors'
9+
810
get '/:slug/referrals/new', to: 'referrals#new', as: 'new_partner_referral'
911
get '/referrals', to: 'referrals#index', as: 'referrals'
1012
get '/:slug/referrals/:id', to: 'referrals#show', as: 'referral'

0 commit comments

Comments
 (0)