medivo 0.2.11 → 0.2.12
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/javascripts/medivo/lab_appointment/handlers.coffee +17 -2
- data/app/assets/javascripts/medivo/lab_list/handlers.coffee +30 -12
- data/app/models/medivo/appointment.rb +16 -5
- data/lib/medivo/version.rb +1 -1
- data/spec/dummy/config/medivo/appointment_resource.yml +2 -2
- data/spec/dummy/log/development.log +6395 -0
- data/spec/dummy/log/test.log +92 -0
- data/spec/dummy/tmp/cache/assets/C46/F00/sprockets%2F2281d588b540056c5a7306c32a3761b9 +0 -0
- data/spec/dummy/tmp/cache/assets/C53/C80/sprockets%2F9297b5f504687910109d311f03f8a7b3 +0 -0
- data/spec/dummy/tmp/cache/assets/C81/D00/sprockets%2F64f056bd752d271308a86a6f865b1911 +0 -0
- data/spec/dummy/tmp/cache/assets/CB4/BD0/sprockets%2F3378f27c0d4f5e6d708665b22707a31f +0 -0
- data/spec/dummy/tmp/cache/assets/CC3/EF0/sprockets%2F453b504c1f8f374578636f699eaa455d +0 -0
- data/spec/dummy/tmp/cache/assets/CD5/670/sprockets%2F7f42231e2382a32f5a39dc7807f0b4d1 +0 -0
- data/spec/dummy/tmp/cache/assets/CD8/DA0/sprockets%2F622aa5281d15503829a5f7a0bf56fc29 +0 -0
- data/spec/dummy/tmp/cache/assets/CDD/820/sprockets%2Fb28231960c7ac62eff9048e702a29c70 +0 -0
- data/spec/dummy/tmp/cache/assets/CEC/EF0/sprockets%2F4b24a74018f693c06088bd52f8cc9f86 +0 -0
- data/spec/dummy/tmp/cache/assets/CEE/250/sprockets%2F96688f33f2f8aa261bf6701c1d6d7575 +0 -0
- data/spec/dummy/tmp/cache/assets/D20/F10/sprockets%2Fb2e907e4faa85fe755f4439e3b229088 +0 -0
- data/spec/dummy/tmp/cache/assets/D29/000/sprockets%2F61a10ddf57f1129c02a1049bfed6e007 +0 -0
- data/spec/dummy/tmp/cache/assets/D2C/F80/sprockets%2F399f6d5eb273936af7ff8f35a77c5037 +0 -0
- data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/D41/250/sprockets%2F7b3c4426715dcd1feedc4a95e5444256 +0 -0
- data/spec/dummy/tmp/cache/assets/D45/320/sprockets%2Fc50ff379a1bdf1dd4d22249058749cf6 +0 -0
- data/spec/dummy/tmp/cache/assets/D4C/7A0/sprockets%2Fbc635c7b186d1ef5178f4ed3722d868b +0 -0
- data/spec/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4 +0 -0
- data/spec/dummy/tmp/cache/assets/D5D/3E0/sprockets%2F63fea6cc142b5f02da93bf81e70b2116 +0 -0
- data/spec/dummy/tmp/cache/assets/D60/030/sprockets%2Ffc9485f617fc5e9b8918755d2e08ecc6 +0 -0
- data/spec/dummy/tmp/cache/assets/D64/C50/sprockets%2F22ee6fb2ab1ea9694ac7f0f41a406094 +0 -0
- data/spec/dummy/tmp/cache/assets/D69/130/sprockets%2Fbaa4ec50a34ce938c986612c2a47a64e +0 -0
- data/spec/dummy/tmp/cache/assets/D74/9A0/sprockets%2F0ca4e6e833c72156fc7e7d5f007d9ce3 +0 -0
- data/spec/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +0 -0
- data/spec/dummy/tmp/cache/assets/D88/2C0/sprockets%2F452ab3ebb1912cf1c2ba617eec52a718 +0 -0
- data/spec/dummy/tmp/cache/assets/DCA/B80/sprockets%2Fb4aad54185f42b1b871997ef2dc2fabb +0 -0
- data/spec/dummy/tmp/cache/assets/DCE/E80/sprockets%2Fc71ec62157b9cc7aabfc030955cef87b +0 -0
- data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/E32/FC0/sprockets%2Fe55fb2eef11567fe04fdaf7e73af5ba4 +0 -0
- data/spec/dummy/tmp/pids/server.pid +1 -1
- data/spec/models/appointment_spec.rb +13 -10
- data/spec/requests/labs_spec.rb +1 -1
- data/spec/support/helper.rb +1 -1
- metadata +19 -19
@@ -2,6 +2,7 @@ $(document).ready ->
|
|
2
2
|
|
3
3
|
return unless $("form#appointment_data_search")
|
4
4
|
|
5
|
+
|
5
6
|
###### set the lab code in the appointment form ########
|
6
7
|
# using click handler cause it fires before the submit
|
7
8
|
# request
|
@@ -11,6 +12,7 @@ $(document).ready ->
|
|
11
12
|
$("form#appointment_data_search input#lab_code").val(lab_code)
|
12
13
|
)
|
13
14
|
|
15
|
+
|
14
16
|
###### handle ajax appointment data search submit ########
|
15
17
|
$("form#appointment_data_search")
|
16
18
|
.bind('ajax:beforeSend', (event, data)->
|
@@ -32,9 +34,9 @@ $(document).ready ->
|
|
32
34
|
)
|
33
35
|
|
34
36
|
|
35
|
-
|
36
37
|
# override this proc to do your own before send handling
|
37
38
|
Appointment.BeforeSendHandler = (form)->
|
39
|
+
form.find('.error_message').empty()
|
38
40
|
messages = []
|
39
41
|
date = form.find('input#date').val()
|
40
42
|
valid_date = Date.parseExact(date, "M/d/yyyy")
|
@@ -48,6 +50,7 @@ $(document).ready ->
|
|
48
50
|
span.fadeOut(4000)
|
49
51
|
false
|
50
52
|
$('.appointment_spinner_elem').show()
|
53
|
+
true
|
51
54
|
|
52
55
|
# override this proc to do your own success handling
|
53
56
|
Appointment.SuccessHandler = (form, event, data) ->
|
@@ -67,7 +70,6 @@ $(document).ready ->
|
|
67
70
|
# do your own handling here
|
68
71
|
span = $("<span>#{message}</span>")
|
69
72
|
form.find('.error_message').append(span)
|
70
|
-
span.fadeOut(5000)
|
71
73
|
|
72
74
|
|
73
75
|
###### handle toggle to show more appointments ########
|
@@ -77,3 +79,16 @@ $(document).ready ->
|
|
77
79
|
$("#more_appointments_list_toggler").hide()
|
78
80
|
)
|
79
81
|
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
@@ -1,25 +1,43 @@
|
|
1
1
|
$(document).ready ->
|
2
2
|
|
3
|
+
return unless $("form#lab_data_search")
|
4
|
+
|
5
|
+
LabSearch = {}
|
6
|
+
LabSearch.form = $("form#lab_data_search")
|
7
|
+
|
8
|
+
###### override this method to handle before send call yourself ########
|
9
|
+
LabSearch.BeforeSendHandler = (form)->
|
10
|
+
form.find('.error_message').html('')
|
11
|
+
zip_code = form.find('#zip_code').val()
|
12
|
+
if (!zip_code.match(/\d{5}/))
|
13
|
+
form.find('.error_message').html("Zip code should be 5 digits")
|
14
|
+
false
|
15
|
+
else
|
16
|
+
form.find('#find_labs').prop("disabled", true)
|
17
|
+
$('.lab_search_spinner_elem').show()
|
18
|
+
true
|
19
|
+
|
20
|
+
###### override this method to handle success call yourself ########
|
21
|
+
LabSearch.SuccessHandler = (form, event, data)->
|
22
|
+
window.map_view.center_point = data.zip_location
|
23
|
+
window.lab_list.setList(data.labs)
|
24
|
+
# set the first lab as selected
|
25
|
+
$('input:radio[name=selected_lab]:first').prop('checked',true)
|
26
|
+
|
27
|
+
|
3
28
|
###### handle ajax lab data search ########
|
4
29
|
$("form#lab_data_search")
|
5
30
|
.bind('ajax:beforeSend', (event, data)->
|
6
|
-
|
7
|
-
if (!zip_code.match(/\d{5}/))
|
8
|
-
span = $('<span>Zip code should be 5 digits</span>')
|
9
|
-
$('form#lab_data_search .error_message').append(span)
|
10
|
-
span.fadeOut(4000)
|
11
|
-
false
|
12
|
-
$('.lab_search_spinner_elem').show()
|
31
|
+
LabSearch.BeforeSendHandler($(this))
|
13
32
|
)
|
14
33
|
.bind('ajax:success', (event, data)->
|
15
|
-
|
16
|
-
window.lab_list.setList(data.labs)
|
17
|
-
# set the first lab as selected
|
18
|
-
$('input:radio[name=selected_lab]:first').prop('checked',true)
|
19
|
-
$('form#lab_data_search input[type=submit]').prop("disabled", false)
|
34
|
+
LabSearch.SuccessHandler($(this), event, data)
|
20
35
|
)
|
21
36
|
.bind('ajax:complete', (event, data)->
|
37
|
+
form = $(this)
|
22
38
|
$('.lab_search_spinner_elem').hide()
|
39
|
+
# reenable to submit buttom
|
40
|
+
form.find('#find_labs').prop("disabled", false)
|
23
41
|
)
|
24
42
|
|
25
43
|
###### handle toggle to show more labs ########
|
@@ -3,7 +3,7 @@ require 'restclient'
|
|
3
3
|
module Medivo
|
4
4
|
class Appointment
|
5
5
|
|
6
|
-
LABCORP_FORMAT = "%m/%d/%Y|%H:%M %
|
6
|
+
LABCORP_FORMAT = "%m/%d/%Y|%H:%M %p" unless defined? LABCORP_FORMAT
|
7
7
|
MDY_FORMAT = "%m/%d/%Y" unless defined? MDY_FORMAT
|
8
8
|
|
9
9
|
class << self
|
@@ -14,13 +14,19 @@ module Medivo
|
|
14
14
|
# @param lab_code lab code
|
15
15
|
# @param date date to seek
|
16
16
|
# @param am_pm optional time of day value ( 'AM' or 'PM' )
|
17
|
+
#
|
18
|
+
# @return Hash { :times=>['time1', 'time2'] }
|
19
|
+
#
|
20
|
+
# @throws exception mainly Restclien::Exception types
|
17
21
|
def find(lab_code, date, am_pm='')
|
18
22
|
if real_data?
|
19
23
|
data = resource.get :params=>{:labcorp_id=>lab_code, :appointment_date=>date}
|
24
|
+
# data is json encoded hash: { :times => ['time1', 'time2'] }
|
20
25
|
data = JSON.parse(data)
|
21
26
|
else
|
22
27
|
data = build_fake_data(date)
|
23
28
|
end
|
29
|
+
# filter the hash before returning
|
24
30
|
filter_data(data, am_pm)
|
25
31
|
end
|
26
32
|
|
@@ -31,17 +37,22 @@ module Medivo
|
|
31
37
|
# @param time time
|
32
38
|
# @param user user info must include date_of_birth, first_name, last_name,
|
33
39
|
# email_address, phone_number
|
40
|
+
#
|
41
|
+
# @return String confirmation number or nil if none made
|
42
|
+
#
|
43
|
+
# @throws exception mainly Restclien::Exception types
|
34
44
|
def make(lab_code, time, user)
|
35
45
|
time_id = time.strftime(LABCORP_FORMAT)
|
36
46
|
if real_data?
|
37
|
-
data = resource.post :
|
38
|
-
|
47
|
+
data = resource.post :labcorp_id=>lab_code, :time_id=>time_id, :user=>user
|
48
|
+
# data is json { :confimation => ( 'real number' or nil if no appointment made ) }
|
49
|
+
data = JSON.parse(data)
|
50
|
+
data['confirmation']
|
39
51
|
else
|
40
|
-
|
52
|
+
nil
|
41
53
|
end
|
42
54
|
end
|
43
55
|
|
44
|
-
|
45
56
|
def resource
|
46
57
|
@resource ||= begin
|
47
58
|
@config = ResourceConfig.find 'appointment_resource.yml'
|
data/lib/medivo/version.rb
CHANGED