renalware-core 2.0.0.pre.beta7 → 2.0.0.pre.beta8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/renalware/searchables.js +3 -0
  3. data/app/assets/javascripts/renalware/select2-ajax-search.js +86 -0
  4. data/app/assets/javascripts/renalware/sortable.js +12 -1
  5. data/app/assets/stylesheets/renalware/base/_variables.scss +7 -1
  6. data/app/assets/stylesheets/renalware/modules/_admissions.scss +39 -0
  7. data/app/assets/stylesheets/renalware/modules/_letters.scss +12 -0
  8. data/app/assets/stylesheets/renalware/modules/_messaging.scss +0 -4
  9. data/app/assets/stylesheets/renalware/partials/_animations.scss +12 -0
  10. data/app/assets/stylesheets/renalware/partials/_modal_window.scss +44 -0
  11. data/app/assets/stylesheets/renalware/partials/_tables.scss +6 -0
  12. data/app/controllers/renalware/admissions/requests_controller.rb +100 -0
  13. data/app/controllers/renalware/devise/passwords_controller.rb +6 -0
  14. data/app/controllers/renalware/letters/electronic_receipts_controller.rb +81 -0
  15. data/app/controllers/renalware/letters/letters_controller.rb +18 -3
  16. data/app/controllers/renalware/messaging/internal/messages_controller.rb +75 -0
  17. data/app/controllers/renalware/messaging/internal/receipts_controller.rb +74 -0
  18. data/app/controllers/renalware/patients/patients_controller.rb +11 -1
  19. data/app/controllers/renalware/session_timeout_controller.rb +1 -1
  20. data/app/documents/renalware/hd/profile_document.rb +1 -1
  21. data/app/helpers/renalware/application_helper.rb +5 -0
  22. data/app/helpers/renalware/xhr_helper.rb +7 -0
  23. data/app/models/concerns/renalware/deviseable.rb +1 -1
  24. data/app/models/renalware/admissions.rb +7 -0
  25. data/app/models/renalware/admissions/request.rb +23 -0
  26. data/app/models/renalware/admissions/request_reason.rb +11 -0
  27. data/app/models/renalware/feeds/message_processor.rb +2 -2
  28. data/app/models/renalware/feeds/persist_message.rb +2 -0
  29. data/app/models/renalware/hd/sessions/auditable_session.rb +4 -0
  30. data/app/models/renalware/hd/sessions/auditable_session_collection.rb +5 -0
  31. data/app/models/renalware/hd/update_rolling_patient_statistics.rb +2 -2
  32. data/app/models/renalware/letters/electronic_receipt.rb +35 -0
  33. data/app/models/renalware/letters/electronic_recipient_options.rb +78 -0
  34. data/app/models/renalware/letters/letter.rb +4 -0
  35. data/app/models/renalware/letters/letter_factory.rb +21 -1
  36. data/app/models/renalware/messaging.rb +21 -5
  37. data/app/models/renalware/messaging/internal/author.rb +11 -0
  38. data/app/models/renalware/messaging/internal/message.rb +15 -0
  39. data/app/models/renalware/messaging/internal/message_factory.rb +20 -0
  40. data/app/models/renalware/messaging/internal/message_form.rb +36 -0
  41. data/app/models/renalware/messaging/internal/message_form_builder.rb +52 -0
  42. data/app/models/renalware/messaging/internal/receipt.rb +26 -0
  43. data/app/models/renalware/messaging/internal/recipient.rb +12 -0
  44. data/app/models/renalware/messaging/internal/recipient_options.rb +87 -0
  45. data/app/models/renalware/messaging/internal/send_message.rb +24 -0
  46. data/app/models/renalware/messaging/message.rb +4 -3
  47. data/app/models/renalware/pathology.rb +1 -1
  48. data/app/models/renalware/pathology/message_param_parser.rb +2 -0
  49. data/app/models/renalware/patients/search_filter.rb +32 -0
  50. data/app/models/renalware/patients/search_form.rb +17 -0
  51. data/app/models/renalware/patients/search_query.rb +20 -21
  52. data/app/models/renalware/patients/summary.rb +1 -1
  53. data/app/models/renalware/user.rb +18 -2
  54. data/app/policies/renalware/admissions/request_policy.rb +8 -0
  55. data/app/policies/renalware/letters/electronic_receipt_policy.rb +23 -0
  56. data/app/policies/renalware/messaging/{message_policy.rb → internal/message_policy.rb} +2 -3
  57. data/app/policies/renalware/messaging/internal/receipt_policy.rb +25 -0
  58. data/app/presenters/renalware/dashboard/dashboard_presenter.rb +9 -2
  59. data/app/presenters/renalware/hd/station_presenter.rb +0 -1
  60. data/app/presenters/renalware/letters/electronic_receipt_presenter.rb +15 -0
  61. data/app/presenters/renalware/letters/letter_presenter.rb +5 -0
  62. data/app/presenters/renalware/mdm_presenter.rb +2 -0
  63. data/app/presenters/renalware/messaging/internal/message_presenter.rb +21 -0
  64. data/app/presenters/renalware/messaging/internal/receipt_presenter.rb +13 -0
  65. data/app/presenters/renalware/pathology/observation_presenter.rb +4 -0
  66. data/app/presenters/renalware/ukrdc/patient_presenter.rb +5 -0
  67. data/app/views/renalware/admissions/requests/_create_request_link.html.slim +10 -0
  68. data/app/views/renalware/admissions/requests/_form.html.slim +31 -0
  69. data/app/views/renalware/admissions/requests/_modal_dialog_placeholder.html.slim +2 -0
  70. data/app/views/renalware/admissions/requests/_request.html.slim +34 -0
  71. data/app/views/renalware/admissions/requests/_table.html.slim +19 -0
  72. data/app/views/renalware/admissions/requests/create.js.erb +3 -0
  73. data/app/views/renalware/admissions/requests/destroy.js.erb +3 -0
  74. data/app/views/renalware/admissions/requests/edit.html.slim +4 -0
  75. data/app/views/renalware/admissions/requests/edit.js.erb +4 -0
  76. data/app/views/renalware/admissions/requests/index.html.slim +3 -0
  77. data/app/views/renalware/admissions/requests/new.html.slim +4 -0
  78. data/app/views/renalware/admissions/requests/new.js.erb +4 -0
  79. data/app/views/renalware/admissions/requests/update.js.erb +9 -0
  80. data/app/views/renalware/api/ukrdc/patients/_allergies.xml.builder +1 -1
  81. data/app/views/renalware/api/ukrdc/patients/_clinical_relationships.xml.builder +0 -1
  82. data/app/views/renalware/api/ukrdc/patients/_lab_orders.xml.builder +7 -2
  83. data/app/views/renalware/api/ukrdc/patients/_observations.xml.builder +1 -1
  84. data/app/views/renalware/api/ukrdc/patients/_patient.xml.builder +2 -0
  85. data/app/views/renalware/api/ukrdc/patients/_sending_facility.xml.builder +1 -1
  86. data/app/views/renalware/api/ukrdc/patients/lab_orders/_lab_order.xml.builder +46 -0
  87. data/app/views/renalware/api/ukrdc/patients/lab_orders/_result_item.xml.builder +14 -0
  88. data/app/views/renalware/clinical/allergies/_mini.html.slim +1 -0
  89. data/app/views/renalware/dashboard/dashboards/_content.html.slim +6 -2
  90. data/app/views/renalware/dashboard/letters/_letter.html.slim +7 -7
  91. data/app/views/renalware/dashboard/letters/_table.html.slim +2 -2
  92. data/app/views/renalware/devise/passwords/edit.html.erb +27 -0
  93. data/app/views/renalware/devise/passwords/new.html.erb +18 -0
  94. data/app/views/renalware/devise/registrations/new.html.slim +25 -0
  95. data/app/views/renalware/letters/electronic_receipts/_table.html.slim +45 -0
  96. data/app/views/renalware/letters/electronic_receipts/mark_as_read.js.erb +6 -0
  97. data/app/views/renalware/letters/electronic_receipts/read.html.slim +5 -0
  98. data/app/views/renalware/letters/electronic_receipts/sent.html.slim +40 -0
  99. data/app/views/renalware/letters/electronic_receipts/unread.html.slim +5 -0
  100. data/app/views/renalware/letters/formatted_letters/_letter.html.slim +12 -1
  101. data/app/views/renalware/letters/letters/_actions.html.slim +1 -1
  102. data/app/views/renalware/letters/letters/_electronic_ccs.html.slim +16 -0
  103. data/app/views/renalware/letters/letters/_form.html.slim +8 -3
  104. data/app/views/renalware/letters/letters/edit.html.slim +7 -1
  105. data/app/views/renalware/letters/letters/new.html.slim +6 -1
  106. data/app/views/renalware/letters/shared/_electronic_cc_type_tabs.html.slim +7 -0
  107. data/app/views/renalware/messaging/{messages → internal/messages}/_form.html.slim +2 -1
  108. data/app/views/renalware/messaging/{messages → internal/messages}/_modal_dialog_placeholder.html.slim +0 -0
  109. data/app/views/renalware/messaging/{messages → internal/messages}/_send_message_link.html.slim +1 -1
  110. data/app/views/renalware/messaging/{messages → internal/messages}/_send_reply_link.html.slim +3 -3
  111. data/app/views/renalware/messaging/{messages → internal/messages}/create.js.erb +0 -0
  112. data/app/views/renalware/messaging/{messages → internal/messages}/new.html.slim +0 -0
  113. data/app/views/renalware/messaging/{messages → internal/messages}/new.js.erb +0 -0
  114. data/app/views/renalware/messaging/{receipts → internal/receipts}/_receipt.html.slim +2 -2
  115. data/app/views/renalware/messaging/{messages/_message.html.slim → internal/receipts/_sent_receipt.html.slim} +2 -1
  116. data/app/views/renalware/messaging/internal/receipts/_sent_table.html.slim +12 -0
  117. data/app/views/renalware/messaging/{receipts → internal/receipts}/_table.html.slim +2 -2
  118. data/app/views/renalware/messaging/{receipts → internal/receipts}/mark_as_read.js.erb +0 -0
  119. data/app/views/renalware/messaging/{receipts → internal/receipts}/read.html.slim +2 -1
  120. data/app/views/renalware/messaging/internal/receipts/sent.html.slim +7 -0
  121. data/app/views/renalware/messaging/{receipts → internal/receipts}/unread.html.slim +2 -1
  122. data/app/views/renalware/messaging/shared/_messages_type_tabs.html.slim +3 -3
  123. data/app/views/renalware/navigation/_main.html.slim +1 -1
  124. data/app/views/renalware/navigation/_patients_admin.html.slim +2 -0
  125. data/app/views/renalware/navigation/_user.html.slim +2 -1
  126. data/app/views/renalware/patients/_search_form.html.slim +12 -0
  127. data/app/views/renalware/patients/side_menu/_actions.html.slim +6 -2
  128. data/app/views/renalware/renal/profiles/_form.html.slim +0 -1
  129. data/app/views/renalware/renal/profiles/_mini.html.slim +1 -0
  130. data/app/views/renalware/{snippets/snippets → shared}/_modal_close_link.html.slim +0 -0
  131. data/app/views/renalware/snippets/snippets/_list.html.slim +1 -1
  132. data/app/views/renalware/transplants/donations/_form.html.slim +17 -16
  133. data/config/initializers/simple_form_foundation.rb +0 -1
  134. data/config/locales/renalware/admissions/requests.en.yml +12 -0
  135. data/config/locales/renalware/letters/contact.en.yml +3 -0
  136. data/config/locales/renalware/messaging/internal/messages.en.yml +33 -0
  137. data/config/locales/renalware/patients/search_form.en.yml +5 -0
  138. data/config/locales/renalware/patients/side_menu.en.yml +1 -0
  139. data/config/routes.rb +32 -10
  140. data/db/migrate/20170908155011_add_shortfall_column_to_hd_patient_statistics.rb +7 -0
  141. data/db/migrate/20170908160250_update_hd_overall_audit_to_version4.rb +8 -0
  142. data/db/migrate/20170911133224_add_type_to_messaging_messages.rb +16 -0
  143. data/db/migrate/20170912092135_create_letters_electronic_receipts.rb +11 -0
  144. data/db/migrate/20170920113628_create_admissions_requests.rb +31 -0
  145. data/db/seeds/default/reporting/audits.yml +1 -0
  146. data/db/views/reporting_hd_overall_audit_v04.sql +13 -0
  147. data/lib/renalware/version.rb +1 -1
  148. data/lib/subscription_registry.rb +1 -1
  149. data/spec/factories/accesses/plans.rb +2 -3
  150. data/spec/factories/accesses/profiles.rb +1 -2
  151. data/spec/factories/admissions/request_reasons.rb +8 -0
  152. data/spec/factories/admissions/requests.rb +9 -0
  153. data/spec/factories/clinical/body_compositions.rb +2 -5
  154. data/spec/factories/clinical/dry_weights.rb +2 -3
  155. data/spec/factories/clinics/clinic_visits.rb +2 -3
  156. data/spec/factories/directory/people.rb +1 -2
  157. data/spec/factories/events/events.rb +1 -2
  158. data/spec/factories/hd/preference_sets.rb +1 -2
  159. data/spec/factories/hd/profiles.rb +2 -3
  160. data/spec/factories/hd/sessions.rb +4 -3
  161. data/spec/factories/letters/electronic_receipts.rb +6 -0
  162. data/spec/factories/letters/letters.rb +3 -3
  163. data/spec/factories/medications/prescription.rb +1 -2
  164. data/spec/factories/medications/prescription_terminations.rb +1 -2
  165. data/spec/factories/messaging/internal/authors.rb +5 -0
  166. data/spec/factories/messaging/{message.rb → internal/messages.rb} +1 -1
  167. data/spec/factories/messaging/internal/receipts.rb +7 -0
  168. data/spec/factories/messaging/internal/recipients.rb +5 -0
  169. data/spec/factories/modalities/modalities.rb +1 -3
  170. data/spec/factories/pathology/requests/request.rb +1 -3
  171. data/spec/factories/patients/alerts.rb +1 -2
  172. data/spec/factories/patients/patients.rb +5 -3
  173. data/spec/factories/pd/assessments.rb +1 -2
  174. data/spec/factories/pd/fluid_descriptions.rb +0 -1
  175. data/spec/factories/pd/training_sessions.rb +1 -2
  176. data/spec/factories/problems/problems.rb +1 -2
  177. data/spec/factories/shared/accountable.rb +35 -0
  178. data/spec/factories/system/roles.rb +2 -4
  179. data/spec/factories/system/users.rb +30 -15
  180. data/spec/factories/transplants/donor_stage.rb +1 -2
  181. data/spec/factories/transplants/registration_statuses.rb +2 -4
  182. data/spec/support/login_macros.rb +1 -1
  183. metadata +108 -40
  184. data/app/controllers/renalware/messaging/messages_controller.rb +0 -73
  185. data/app/controllers/renalware/messaging/receipts_controller.rb +0 -55
  186. data/app/controllers/renalware/messaging/sent_messages_controller.rb +0 -22
  187. data/app/models/renalware/messaging/author.rb +0 -9
  188. data/app/models/renalware/messaging/message_factory.rb +0 -18
  189. data/app/models/renalware/messaging/message_form.rb +0 -34
  190. data/app/models/renalware/messaging/message_form_builder.rb +0 -50
  191. data/app/models/renalware/messaging/receipt.rb +0 -19
  192. data/app/models/renalware/messaging/recipient.rb +0 -10
  193. data/app/models/renalware/messaging/recipient_options.rb +0 -85
  194. data/app/models/renalware/messaging/send_message.rb +0 -22
  195. data/app/policies/renalware/messaging/receipt_policy.rb +0 -19
  196. data/app/presenters/renalware/messaging/internal_message_presenter.rb +0 -19
  197. data/app/presenters/renalware/messaging/receipt_presenter.rb +0 -11
  198. data/app/views/renalware/devise/registrations/new.html.erb +0 -46
  199. data/app/views/renalware/messaging/messages/_table.html.slim +0 -13
  200. data/app/views/renalware/messaging/messages/sent.html.slim +0 -4
  201. data/config/locales/renalware/messaging/messages.en.yml +0 -29
  202. data/spec/factories/messaging/authors.rb +0 -5
  203. data/spec/factories/messaging/receipt.rb +0 -7
  204. data/spec/factories/messaging/recipients.rb +0 -5
@@ -53,4 +53,4 @@ ul.f-dropdown#download-options(data-dropdown-content aria-hidden="true")
53
53
  = blank_separator
54
54
  = blank_separator
55
55
  = link_to "back to list",
56
- patient_letters_letters_path(letter.patient)
56
+ params.fetch(:back_url, patient_letters_letters_path(letter.patient))
@@ -0,0 +1,16 @@
1
+ article.electonic_ccs
2
+ header
3
+ h2= t(".title")
4
+
5
+ =f.input :electronic_cc_recipient_ids,
6
+ label: "CC electronically to",
7
+ collection: electronic_recipient_options,
8
+ as: :grouped_select,
9
+ group_method: :users,
10
+ group_label_method: :name,
11
+ label_method: :to_s,
12
+ value_method: :id,
13
+ input_html: {\
14
+ class: "searchable_select",
15
+ multiple: "multiple"\
16
+ }
@@ -1,5 +1,5 @@
1
1
  ruby:
2
- back_path = patient_letters_letters_path(@patient)
2
+ back_path = patient_letters_letters_path(patient)
3
3
  event = f.object.event
4
4
 
5
5
  .row.top
@@ -35,8 +35,13 @@ ruby:
35
35
  user_to_promote_to_top: current_user \
36
36
  )
37
37
 
38
- = render "main_recipient", f: f, contacts: contacts, patient: @patient
39
- = render "additional_ccs", f: f, contacts: contacts, patient: @patient
38
+ = render "main_recipient", f: f, contacts: contacts, patient: patient
39
+ = render "additional_ccs", f: f, contacts: contacts, patient: patient
40
+ = render "electronic_ccs",
41
+ f: f,
42
+ contacts: contacts,
43
+ patient: patient,
44
+ electronic_recipient_options: electronic_recipient_options
40
45
 
41
46
  article
42
47
  header
@@ -10,7 +10,13 @@
10
10
  as: :letter,
11
11
  wrapper: "horizontal_form",
12
12
  html: { id: "letter-form", autocomplete: "off" } do |f|
13
- = render "form", f: f, patient: patient, contact: contact, contacts: contacts
13
+
14
+ = render "form",
15
+ f: f,
16
+ patient: patient,
17
+ contact: contact,
18
+ contacts: contacts,
19
+ electronic_recipient_options: electronic_recipient_options
14
20
 
15
21
  = render "add_contact",
16
22
  patient: patient,
@@ -10,7 +10,12 @@
10
10
  wrapper: "horizontal_form",
11
11
  html: { id: "letter-form", autocomplete: "off" } do |f|
12
12
 
13
- = render "form", f: f, patient: patient, contact: contact, contacts: contacts
13
+ = render "form",
14
+ f: f,
15
+ patient: patient,
16
+ contact: contact,
17
+ contacts: contacts,
18
+ electronic_recipient_options: electronic_recipient_options
14
19
 
15
20
  = render "add_contact",
16
21
  patient: patient,
@@ -0,0 +1,7 @@
1
+ dl.sub-nav
2
+ dd
3
+ =link_to("Unread", unread_letters_electronic_receipts_path)
4
+ dd
5
+ =link_to("Read", read_letters_electronic_receipts_path)
6
+ dd
7
+ =link_to("Sent", sent_letters_electronic_receipts_path)
@@ -2,7 +2,8 @@
2
2
  = simple_form_for form,
3
3
  html: { autocomplete: "off"},
4
4
  remote: true,
5
- url: messaging_messages_path(patient_id: patient) do |f|
5
+ as: :internal_message,
6
+ url: messaging_internal_messages_path(patient_id: patient) do |f|
6
7
  h2= t(".title")
7
8
  =f.input :replying_to_message_id, as: :hidden
8
9
 
@@ -1,7 +1,7 @@
1
1
  / This partial is pulled in when the whole page renders, and creates the link and
2
2
  / associated modal dialog wiring sending a message.
3
3
  - patient = Renalware::Messaging.cast_patient(patient)
4
- - url = new_messaging_message_path(patient_id: patient, format: :html)
4
+ - url = new_messaging_internal_message_path(patient_id: patient, format: :html)
5
5
 
6
6
  / Link to launch the modal dialog
7
7
  =link_to(url,
@@ -1,9 +1,9 @@
1
1
  / This partial is pulled in when the whole page renders, and creates the link and
2
2
  / associated modal dialog wiring sending a message.
3
3
  - patient = Renalware::Messaging.cast_patient(patient)
4
- - url = new_messaging_message_path(patient_id: patient,
5
- replying_to_message_id: replying_to_message_id,
6
- format: :html)
4
+ - url = new_messaging_internal_message_path(patient_id: patient,
5
+ replying_to_message_id: replying_to_message_id,
6
+ format: :html)
7
7
  / Link to launch the modal dialog
8
8
  =link_to(url,
9
9
  data: { "reveal-id" => "send-message-modal", "reveal-ajax" => "true" },
@@ -31,12 +31,12 @@ tr(class="#{ "urgent" if message.urgent?}" id=message.html_identifier)
31
31
  data: { behaviour: "toggler" },
32
32
  class: "button secondary keep-as-unread"
33
33
 
34
- li= render partial: "renalware/messaging/messages/send_reply_link",
34
+ li= render partial: "renalware/messaging/internal/messages/send_reply_link",
35
35
  locals: { patient: message.patient,
36
36
  link_text: "Reply",
37
37
  replying_to_message_id: message.id }
38
38
 
39
- li= link_to(mark_as_read_messaging_message_receipt_path(message, receipt),
39
+ li= link_to(mark_as_read_messaging_internal_message_receipt_path(message, receipt),
40
40
  class: "button mark-as-read",
41
41
  method: :patch,
42
42
  remote: true) do
@@ -1,9 +1,10 @@
1
+ - message = sent_receipt.message
1
2
  tr(class="#{ "urgent" if message.urgent?}" id=message.html_identifier)
2
3
  td=l(message.sent_at)
3
4
  td= link_to(message.patient, patient_clinical_summary_path(message.patient))
4
5
  td= message.patient.hospital_identifier
5
6
  td= message.subject
6
- td= message.recipients.map(&:to_s).join(",")
7
+ td= sent_receipt.recipient
7
8
  td
8
9
  = link_to "View",
9
10
  "##{message.html_preview_identifier}",
@@ -0,0 +1,12 @@
1
+ .sent-messages
2
+ table.messages.messages-sent.has_togglable_content
3
+ thead
4
+ tr
5
+ th.col-width-date-time= t(".sent_at")
6
+ th.col-width-large= t(".patient_name")
7
+ th.col-width-reference-no= t(".hosp_no")
8
+ th= t(".subject")
9
+ th= t(".recipients")
10
+ td
11
+ tbody
12
+ = render partial: "sent_receipt", collection: receipts
@@ -11,6 +11,6 @@ table.auto-layout.align-top.messages.has-togglable-rows
11
11
  td.col-width-small
12
12
 
13
13
  tbody
14
- = render partial: "renalware/messaging/receipts/receipt", collection: receipts
14
+ = render partial: "renalware/messaging/internal/receipts/receipt", collection: receipts
15
15
 
16
- = render "renalware/messaging/messages/modal_dialog_placeholder"
16
+ = render "renalware/messaging/internal/messages/modal_dialog_placeholder"
@@ -1,5 +1,6 @@
1
1
  = within_admin_layout(title: "Messages") do
2
2
  = render "renalware/messaging/shared/messages_type_tabs"
3
+ = render search_form
3
4
  .read-messages
4
- = render "renalware/messaging/receipts/table", receipts: receipts
5
+ = render "table", receipts: receipts
5
6
  = paginate receipts
@@ -0,0 +1,7 @@
1
+ = within_admin_layout(title: "Messages") do
2
+ = render "renalware/messaging/shared/messages_type_tabs"
3
+ = render search_form
4
+ = render "sent_table", receipts: receipts
5
+ = paginate receipts
6
+ = render "renalware/messaging/internal/messages/modal_dialog_placeholder"
7
+
@@ -1,5 +1,6 @@
1
1
  = within_admin_layout(title: "Messages") do
2
2
  = render "renalware/messaging/shared/messages_type_tabs"
3
+ = render search_form
3
4
  .unread-messages
4
- = render "renalware/messaging/receipts/table", receipts: receipts
5
+ = render "table", receipts: receipts
5
6
  = paginate receipts
@@ -1,7 +1,7 @@
1
1
  dl.sub-nav
2
2
  dd
3
- =link_to("Inbox", messaging_inbox_path)
3
+ =link_to("Inbox", messaging_internal_inbox_path)
4
4
  dd
5
- =link_to("Read", messaging_read_receipts_path)
5
+ =link_to("Read", messaging_internal_read_receipts_path)
6
6
  dd
7
- =link_to("Sent", messaging_sent_messages_path)
7
+ =link_to("Sent", messaging_internal_sent_messages_path)
@@ -1,4 +1,4 @@
1
- nav.top-bar(data-topbar role="navigation")
1
+ nav#top-menu-bar.top-bar(data-topbar role="navigation")
2
2
  ul.title-area
3
3
  li.name
4
4
  li.toggle-topbar.menu-icon
@@ -9,3 +9,5 @@ li.has-dropdown
9
9
  = link_to "Deceased Patients", patient_deaths_path
10
10
  li
11
11
  = link_to "Worryboard", worryboard_path
12
+ li
13
+ = link_to "Admission Requests", admissions_requests_path
@@ -8,4 +8,5 @@ li.has-dropdown
8
8
  li= link_to "Update Profile", edit_user_registration_path
9
9
  li= link_to "View Letters", author_letters_path(current_user.id)
10
10
  li= link_to "Manage Snippets", snippets_path
11
- li= link_to "Messages", messaging_inbox_path
11
+ li= link_to "Messages", messaging_internal_inbox_path
12
+ li= link_to "Electronic CCs", unread_letters_electronic_receipts_path
@@ -0,0 +1,12 @@
1
+ / A re-usable partial for filtering a page by patient name or nhs/local hospital number.
2
+ / The search_form must be an instance of Patients::SearchForm.
3
+ = simple_form_for search_form,
4
+ as: :patient_search,
5
+ url: search_form.url,
6
+ method: :get,
7
+ html: { autocomplete: "off"} do |f|
8
+ .row
9
+ .medium-5.columns
10
+ = f.input :term, label: false, placeholder: "Search by patient surname, NHS or Hosp. no."
11
+ .medium-7.columns.actions
12
+ = f.submit "Search", class: :button
@@ -16,12 +16,16 @@ li.heading.actions-heading= t(".heading")
16
16
  li.link.action= render partial: "renalware/patients/worries/new",
17
17
  locals: { patient: patient }
18
18
 
19
- li.link.action= render partial: "renalware/messaging/messages/send_message_link",
19
+ li.link.action= render partial: "renalware/messaging/internal/messages/send_message_link",
20
20
  locals: { patient: patient, link_text: t(".send_message") }
21
21
 
22
- = render "renalware/messaging/messages/modal_dialog_placeholder"
22
+ li.link.action= render partial: "renalware/admissions/requests/create_request_link",
23
+ locals: { patient: patient, link_text: t(".request_admission") }
23
24
 
24
25
  li.link.action
25
26
  = render partial: "renalware/patients/alerts/create_alert_link",
26
27
  locals: { patient: patient, link_text: t(".create_alert") }
27
28
  = render "renalware/patients/alerts/modal_dialog_placeholder"
29
+
30
+ = render "renalware/admissions/requests/modal_dialog_placeholder"
31
+ = render "renalware/messaging/internal/messages/modal_dialog_placeholder"
@@ -46,7 +46,6 @@
46
46
  = link_to "Set all comorbidities to No", "#", class: "set_all_comorbidities_to_no"
47
47
  table.comorbidities.align-centre
48
48
  - fcm.object.class.attributes_list.each do |attribute|
49
- - p attribute
50
49
  = render_input fcm, attribute
51
50
 
52
51
  = render layout: "renalware/shared/fieldset",
@@ -1,3 +1,4 @@
1
+ - require_dependency "renalware/renal"
1
2
  - patient = Renalware::Renal.cast_patient(patient)
2
3
  - profile = patient.profile
3
4
 
@@ -5,7 +5,7 @@
5
5
  .modal-header
6
6
  h1= t("#{i18n_scope}.page_title")
7
7
 
8
- = render "modal_close_link" if remote
8
+ = render "renalware/shared/modal_close_link" if remote
9
9
 
10
10
  - unless remote
11
11
  .columns.small-12
@@ -16,22 +16,23 @@ ruby:
16
16
  locals: { legend: "Recipient", name: "recipient" } do
17
17
  = f.input :relationship_with_recipient, wrapper: :horizontal_medium
18
18
  = f.input :relationship_with_recipient_other, wrapper: :horizontal_medium
19
- .row
20
- .columns.small-12.medium-4.large-3
21
- = label_tag "recipient_auto_complete",
22
- f.object.class.human_attribute_name(:recipient),
23
- class: "right inline"
24
- .columns.small-12.medium-8.large-9
25
- = text_field_tag "recipient_auto_complete", \
26
- f.object.recipient.try(:to_s, :long),
27
- data: { \
28
- autocomplete_source: search_patients_path, \
29
- autocomplete_rel: "[name='transplants_donation[recipient_id]']" \
30
- },
31
- spellcheck: false,
32
- placeholder: "Start entering the last name (min. 2 characters)",
33
- class: "medium-input"
34
- = f.input :recipient_id, as: :hidden
19
+ br
20
+
21
+ ruby:
22
+ recipient = f.object.recipient
23
+ default_value = { id: recipient.id, text: recipient.to_s(:long) } if recipient.present?
24
+
25
+ = f.input :recipient_id,
26
+ collection: [],
27
+ include_blank: false,
28
+ wrapper: :horizontal_medium,
29
+ input_html: {\
30
+ class: "select2-ajax-search",
31
+ data: { "ajax--url" => search_patients_path(format: :json),
32
+ "default-value" => default_value,
33
+ "placeholder" => "Start entering the last name (min. 3 characters)" }\
34
+ }
35
+
35
36
  = f.input :blood_group_compatibility,
36
37
  as: :inline_radio_buttons,
37
38
  wrapper: :horizontal_medium
@@ -138,7 +138,6 @@ SimpleForm.setup do |config|
138
138
  end
139
139
  end
140
140
 
141
-
142
141
  config.wrappers :horizontal_form, tag: "div", class: "row",
143
142
  hint_class: :field_with_hint, error_class: :error do |b|
144
143
  b.use :html5
@@ -0,0 +1,12 @@
1
+ en:
2
+ activerecord:
3
+ errors:
4
+ models:
5
+ renalware/admissions/request:
6
+ patient_id:
7
+ taken: already has an admission request
8
+
9
+ attributes:
10
+ renalware/admissions/request:
11
+ reason_id: Reason
12
+ hospital_unit_id: Current location
@@ -36,3 +36,6 @@ en:
36
36
  add_contact: Add a different recipient via the contacts Directory
37
37
  additional_ccs:
38
38
  add_contact_as_cc: Add new person to the list
39
+ electronic_ccs:
40
+ title: Electronic CCs
41
+ add: Add
@@ -0,0 +1,33 @@
1
+ en:
2
+ renalware:
3
+ messaging:
4
+ internal:
5
+ messages:
6
+ form:
7
+ title: Send a message
8
+ cancel: Cancel
9
+ recipient_ids: Recipients
10
+ table:
11
+ from: From
12
+ patient_name: Patient
13
+ subject: Subject
14
+ body: Body
15
+ urgent: Urgent
16
+ age: Age
17
+ hosp_no: Hosp No.
18
+ recipients: Recipients
19
+ receipts:
20
+ table: &receipts_table
21
+ from: From
22
+ sent_at: Sent at
23
+ patient_name: Patient
24
+ subject: Subject
25
+ body: Body
26
+ urgent: Urgent
27
+ age: Age
28
+ hosp_no: Hosp No.
29
+ recipients: Recipients
30
+ sent_table:
31
+ <<: *receipts_table
32
+
33
+
@@ -0,0 +1,5 @@
1
+ en:
2
+ activemodel:
3
+ attributes:
4
+ renalware/patients/search_form:
5
+ term: Search by patient surname, NHS Number or local hospital number
@@ -8,6 +8,7 @@ en:
8
8
  delete_bookmark: Remove bookmark
9
9
  send_message: Send message
10
10
  create_alert: Create alert
11
+ request_admission: Request admission
11
12
  general:
12
13
  heading: General
13
14
  clinic_visits: Clinic Visits (%{count})
data/config/routes.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # rubocop:disable Style/FormatStringToken
1
2
  Renalware::Engine.routes.draw do
2
3
 
3
4
  match "/404", to: "system/errors#not_found", via: :all
@@ -10,7 +11,8 @@ Renalware::Engine.routes.draw do
10
11
  class_name: "Renalware::User",
11
12
  controllers: {
12
13
  registrations: "renalware/devise/registrations",
13
- sessions: "renalware/devise/sessions"
14
+ sessions: "renalware/devise/sessions",
15
+ passwords: "renalware/devise/passwords"
14
16
  },
15
17
  module: :devise
16
18
 
@@ -40,16 +42,24 @@ Renalware::Engine.routes.draw do
40
42
  resources :audit_refreshments, only: [:create]
41
43
  end
42
44
 
45
+ namespace :admissions do
46
+ resources :requests do
47
+ post :sort, on: :collection
48
+ end
49
+ end
50
+
43
51
  namespace :messaging do
44
- resources :messages, only: [:new, :create] do
45
- resources :receipts, only: [] do
46
- patch :mark_as_read, on: :member
52
+ namespace :internal do
53
+ resources :messages, only: [:new, :create] do
54
+ resources :receipts, only: [] do
55
+ patch :mark_as_read, on: :member
56
+ end
57
+ end
58
+ scope :messages do
59
+ get "inbox", to: "receipts#unread", as: :inbox
60
+ get "read", to: "receipts#read", as: :read_receipts
61
+ get "sent", to: "receipts#sent", as: :sent_messages
47
62
  end
48
- end
49
- scope :messages do
50
- get "inbox", to: "receipts#unread", as: :inbox
51
- get "read", to: "receipts#read", as: :read_receipts
52
- get "sent", to: "messages#sent", as: :sent_messages
53
63
  end
54
64
  end
55
65
 
@@ -122,7 +132,7 @@ Renalware::Engine.routes.draw do
122
132
  resource :ongoing_sessions, only: :show
123
133
  resources :mdm_patients, only: :index
124
134
  resources :unmet_preferences, only: :index
125
- resources :units, :only => [] do
135
+ resources :units, only: [] do
126
136
  resources :stations do
127
137
  post :sort, on: :collection
128
138
  end
@@ -145,6 +155,18 @@ Renalware::Engine.routes.draw do
145
155
  end
146
156
  end
147
157
  resource :list, only: :show
158
+ resources :letters, only: [] do
159
+ resources :electronic_receipts, only: [] do
160
+ patch :mark_as_read, on: :member
161
+ end
162
+ end
163
+ resources :electronic_receipts, only: [] do
164
+ collection do
165
+ get :unread
166
+ get :read
167
+ get :sent
168
+ end
169
+ end
148
170
  end
149
171
  get "authors/:author_id/letters", to: "letters/letters#author", as: "author_letters"
150
172