Skip to content

Commit 5a33643

Browse files
add proper sorting for appt date + time by casting to int (#3470)
* add proper sorting for appt date + time by casting to int * f off timezone
1 parent f5ac5c5 commit 5a33643

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

app/helpers/patients_helper.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,4 +209,14 @@ def appointment_date_display(patient)
209209
end
210210
return day
211211
end
212+
213+
def appointment_date_sort_value(patient)
214+
return 0 unless patient.appointment_date.present?
215+
216+
timestamp = patient.appointment_date.to_time
217+
if patient.appointment_time
218+
timestamp = timestamp.change(hour: patient.appointment_time.hour, min: patient.appointment_time.min)
219+
end
220+
timestamp.to_i
221+
end
212222
end

app/views/dashboards/_table_content.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
</td>
4646

4747
<td><%= patient.status %></td>
48-
<td><%= appointment_date_display patient %></td>
48+
<td data-sort-value="<%= appointment_date_sort_value patient %>"><%= appointment_date_display patient %></td>
4949
<td><%= patient.most_recent_note_display_text %> </td>
5050

5151
<% if table_type == 'completed_calls' || table_type == 'shared_cases' %>

test/helpers/patients_helper_test.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,4 +350,18 @@ class PatientsHelperTest < ActionView::TestCase
350350
assert_equal '10/31/2022 @ 5:30 PM (multi-day)', appointment_date_display(@patient)
351351
end
352352
end
353+
354+
describe 'appointment_date_sort_value' do
355+
it 'should show appointment date and time as an int' do
356+
@patient = create :patient
357+
assert_equal 0, appointment_date_sort_value(@patient)
358+
359+
@patient.appointment_date = Time.new 2022, 10, 31
360+
just_date = appointment_date_sort_value(@patient)
361+
assert 1660000000 < just_date
362+
363+
@patient.appointment_time = '17:30'
364+
assert just_date < appointment_date_sort_value(@patient)
365+
end
366+
end
353367
end

0 commit comments

Comments
 (0)