Skip to content

Commit 03e1888

Browse files
1 parent 9cb4317 commit 03e1888

File tree

7 files changed

+50
-27
lines changed

7 files changed

+50
-27
lines changed

app/controllers/concerns/my_facilities_filtering.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,11 @@ def populate_facility_sizes
5050
end
5151

5252
def set_selected_facility_group
53-
@selected_facility_group = params[:facility_group] ? @facility_groups.find_by(slug: params[:facility_group]) : @facility_groups.first
53+
@selected_facility_group = if params[:facility_group]
54+
@facility_groups.find_by(slug: params[:facility_group])
55+
else
56+
(@facility_groups&.first&.protocol_drugs&.where(stock_tracked: true)&.any? ? @facility_groups&.first : @facility_groups&.second)
57+
end
5458
end
5559

5660
def set_selected_zones
@@ -67,7 +71,7 @@ def facilities_by_facility_group(facilities)
6771
end
6872

6973
def scoped_facility_groups
70-
all_district_overview_enabled?(@all_districts_params) ? @facility_groups : @selected_facility_group
74+
access_all_districts_overview?(@all_districts_params) ? @facility_groups : @selected_facility_group
7175
end
7276

7377
def facilities_by_zone(facilities)

app/controllers/my_facilities/drug_stocks_controller.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,8 @@ def prepare_district_reports(report_type)
149149
end
150150

151151
def set_all_districts_params
152-
@all_districts_params = params[:facility_group] == "all-districts"
152+
@all_districts_params ||= {}
153+
@all_districts_params[:facility_group] = params[:facility_group] || "all-districts"
153154
end
154155

155156
def drug_stock_enabled_facilities

app/helpers/drug_stock_helper.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,13 @@ def accessible_organization_districts
107107
end
108108
end
109109

110+
def district_handling(all_districts_params)
111+
all_districts_params&.dig(:facility_group) == "all-districts" && all_district_overview_feature_enabled? && accessible_organization_facilities
112+
end
113+
110114
def facility_group_dropdown_title(facility_group:, overview: false)
111115
if can_view_all_districts_nav?
112-
overview ? "All districts" : (facility_group&.name || "Select Districts")
116+
overview && overview&.dig(:facility_group) == "all-districts" ? "All districts" : (facility_group&.name || "Select Districts")
113117
else
114118
facility_group&.name
115119
end

app/helpers/flipper_helper.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ def all_district_overview_feature_enabled?
88
end
99

1010
def all_district_overview_enabled?(all_districts_params)
11-
all_district_overview_feature_enabled? && all_districts_params
11+
all_district_overview_feature_enabled? && all_districts_params == "all-districts"
1212
end
1313

1414
def access_all_districts_overview?(all_districts_params)
15-
all_district_overview_enabled?(all_districts_params) && accessible_organization_facilities.present?
15+
all_district_overview_enabled?(all_districts_params&.dig(:facility_group)) && accessible_organization_facilities.present?
1616
end
1717

1818
def can_view_all_districts_nav?

app/views/shared/_my_facilities_filters.erb

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,27 @@
1919
<div class="dropdown-menu mh-350px oy-scroll" aria-labelledby="dropdownMenuLink">
2020
<form id="query-filters" action="<%= request.path %>" method="get">
2121
<% if can_view_all_districts_nav? %>
22-
<button
23-
class="dropdown-item <%= "active" if @all_districts_params %>"
24-
type="submit"
25-
onclick="$('#selected-facility-group').val('all-districts'); $('#selected-size').remove(); $('#selected-zone').remove();"
26-
>
27-
All districts
28-
</button>
29-
<div class="dropdown-divider"></div>
30-
<% end %>
22+
<button
23+
class="dropdown-item <%= 'active' if district_handling(@all_districts_params) %>"
24+
type="submit"
25+
onclick="$('#selected-facility-group').val('all-districts'); $('#selected-size').remove(); $('#selected-zone').remove();"
26+
>
27+
All districts
28+
</button>
29+
<div class="dropdown-divider"></div>
30+
<% end %>
3131

32-
<% @facility_groups.each do |facility_group| %>
33-
<button
34-
class="dropdown-item query-filter-zone <%= "active" if @selected_facility_group&.slug == facility_group.slug %>"
35-
type="submit"
36-
onclick="$('#selected-facility-group').val('<%= facility_group.slug %>'); $('#selected-size').remove(); $('#selected-zone').remove();"
37-
>
38-
<%= facility_group.name %>
39-
</button>
40-
<% end %>
32+
<% all_district_selected = district_handling(@all_districts_params) %>
33+
34+
<% @facility_groups.each do |facility_group| %>
35+
<button
36+
class="dropdown-item query-filter-zone <%= 'active' if !all_district_selected && @selected_facility_group&.slug == facility_group.slug %>"
37+
type="submit"
38+
onclick="$('#selected-facility-group').val('<%= facility_group.slug %>'); $('#selected-size').remove(); $('#selected-zone').remove();"
39+
>
40+
<%= facility_group.name %>
41+
</button>
42+
<% end %>
4143
</form>
4244
</div>
4345
</div>

spec/helpers/drug_stock_helper_spec.rb

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,20 @@
146146
before { allow(helper).to receive(:can_view_all_districts_nav?).and_return(true) }
147147

148148
it "returns correct title based on overview and presence of group" do
149-
expect(helper.facility_group_dropdown_title(facility_group: group, overview: true)).to eq("All districts")
150-
expect(helper.facility_group_dropdown_title(facility_group: group, overview: false)).to eq("Allahbad")
151-
expect(helper.facility_group_dropdown_title(facility_group: nil, overview: false)).to eq("Select Districts")
149+
expect(helper.facility_group_dropdown_title(
150+
facility_group: group,
151+
overview: {facility_group: "all-districts"}
152+
)).to eq("All districts")
153+
154+
expect(helper.facility_group_dropdown_title(
155+
facility_group: group,
156+
overview: {facility_group: "some-other"}
157+
)).to eq("Allahbad")
158+
159+
expect(helper.facility_group_dropdown_title(
160+
facility_group: nil,
161+
overview: {facility_group: "some-other"}
162+
)).to eq("Select Districts")
152163
end
153164
end
154165

spec/views/my_facilities/drug_stocks/drug_stocks.html.erb_spec.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def action_name
2424
end
2525

2626
before do
27+
assign(:all_districts_params, {facility_group: "all-districts"})
2728
assign(:current_admin, current_admin)
2829
assign(:for_end_of_month_display, "Aug-2025")
2930
assign(:for_end_of_month, Date.new(2025, 8, 31))

0 commit comments

Comments
 (0)