feat: don't show collection date of response rate if there is no survey data

mciea-main
Nelson Jovel 2 years ago
parent 0359dae88a
commit 5514fef62c

@ -15,7 +15,7 @@ class ResponseRatePresenter
def date
SurveyItemResponse.where(survey_item: survey_items, school:,
academic_year:).order(recorded_date: :DESC).first&.recorded_date || Date.today
academic_year:).order(recorded_date: :DESC).first&.recorded_date
end
def percentage
@ -28,7 +28,15 @@ class ResponseRatePresenter
percentage > 75 ? "purple" : "gold"
end
def date_message
return "" if date.nil?
"Response rate as of #{date.to_date.strftime('%m/%d/%y')}"
end
def hover_message
return "" if date.nil?
"Percentages based on #{actual_count} out of #{respondents_count.round} #{focus}s completing at least 25% of the survey."
end

@ -1,14 +1,14 @@
<div
<div
class="overall-response-rate-container"
data-bs-toggle="popover"
data-bs-trigger="hover focus"
data-bs-toggle="popover"
data-bs-trigger="hover focus"
data-bs-content="<%= response_rate_presenter.hover_message %>"
data-bs-placement="top"
>
<div>Response Rates as of <%= response_rate_presenter.date.to_date.strftime("%m/%d/%y") %> </div>
<div><%= response_rate_presenter.date_message %> </div>
<div style="display: flex; justify-content:space-between; width: 100px;">
<div><%= response_rate_presenter.focus.capitalize %> </div>
<%= render partial: "response_rate_graphic", locals: {response_rate_presenter: response_rate_presenter}, cached: true %>
<div><%= response_rate_presenter.percentage %>% </div>
</div>
</div>
</div>

Loading…
Cancel
Save