Skip to content

Commit 068eca2

Browse files
committed
feat: wip accountants multiselect
1 parent db4f4ca commit 068eca2

File tree

2 files changed

+31
-10
lines changed

2 files changed

+31
-10
lines changed

app/controllers/accountants_controller.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ class AccountantsController < ApplicationController
33
before_action :confirm_data_access, only: [:index]
44
before_action :confirm_data_access_async, only: [:search, :edit]
55
before_action :find_patient, only: [:edit]
6+
before_action :set_clinics, only: [:index]
67

78
def index
89
@patients = Patient.where(pledge_sent: true)
@@ -25,6 +26,11 @@ def edit
2526

2627
private
2728

29+
def set_clinics
30+
@clinics = Clinic.all
31+
@selected_clinics = (params[:clinic_id] || []).map(&:to_i)
32+
end
33+
2834
def find_patient
2935
@patient = Patient.find params[:id]
3036
end

app/views/accountants/_search_form.html.erb

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,33 @@
55
method: 'GET' do |f| %>
66
<%= f.hidden_field :locale, value: params[:locale] %>
77
<%= f.text_field :search,
8-
placeholder: t('accountants.search_placeholder'),
9-
hide_label: true,
10-
value: params[:search],
11-
class: 'search_form_input accountant mr-4' %>
12-
13-
<%= f.select :clinic_id,
14-
options_for_select(clinic_options.reject{ |x| x.blank? },
15-
params[:clinic_id]),
8+
placeholder: t("accountants.search_placeholder"),
169
hide_label: true,
17-
include_blank: t('accountants.search_all_clinics'),
18-
class: 'search_form_input accountant' %>
10+
value: params[:search],
11+
class: "search_form_input accountant mr-4" %>
12+
13+
<div class="dropdown">
14+
<button
15+
href="#"
16+
data-toggle="dropdown"
17+
class="btn dropdown-toggle navbar-text"
18+
id="clinic-dropdown"
19+
data-bs-auto-close="outside"
20+
aria-haspopup="true"
21+
aria-expanded="false"
22+
>
23+
Select a Clinic
24+
</button>
1925

26+
<div class="dropdown-menu" aria-labelledby="clinic-dropdown">
27+
<% @clinics.each do |clinic| %>
28+
<li class="flex dropdown-item">
29+
<%= label_tag "clinic_#{clinic.id}", clinic.name %>
30+
<%= check_box_tag "clinic_id[]", clinic.id, @selected_clinics.include?(clinic.id) %>
31+
</li>
32+
<% end %>
33+
</div>
34+
</div>
2035
<%= f.button title: t('common.search'), class: 'btn btn-primary ml-4' do %>
2136
<i class="fas fa-search"></i>
2237
<% end %>

0 commit comments

Comments
 (0)