renalware-core 2.0.0.pre.beta4 → 2.0.0.pre.beta5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (350) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -2
  3. data/app/assets/javascripts/renalware/application.js.erb +3 -0
  4. data/app/assets/javascripts/renalware/dialogs.js.erb +3 -1
  5. data/app/assets/javascripts/renalware/forms.js +0 -17
  6. data/app/assets/javascripts/renalware/keyboard_shortcuts.js +4 -0
  7. data/app/assets/javascripts/renalware/messaging.js +15 -0
  8. data/app/assets/javascripts/renalware/modality_codes.js +1 -0
  9. data/app/assets/javascripts/renalware/pdf.js +6 -3
  10. data/app/assets/javascripts/renalware/renal.js +2 -1
  11. data/app/assets/javascripts/renalware/session_timeout_redirect.js.erb +10 -4
  12. data/app/assets/javascripts/renalware/toggler.js +5 -0
  13. data/app/assets/stylesheets/renalware/base/_variables.scss +3 -1
  14. data/app/assets/stylesheets/renalware/lib/_foundation_and_overrides.scss +1 -1
  15. data/app/assets/stylesheets/renalware/lib/_select2-foundation5-overrides.scss +22 -1
  16. data/app/assets/stylesheets/renalware/lib/_select2-foundation5.scss +7 -4
  17. data/app/assets/stylesheets/renalware/modules/_dashboard.scss +1 -0
  18. data/app/assets/stylesheets/renalware/modules/_messaging.scss +55 -0
  19. data/app/assets/stylesheets/renalware/modules/_patients.scss +70 -0
  20. data/app/assets/stylesheets/renalware/partials/_button.scss +10 -0
  21. data/app/assets/stylesheets/renalware/partials/_forms.scss +9 -1
  22. data/app/assets/stylesheets/renalware/partials/_lists.scss +6 -1
  23. data/app/assets/stylesheets/renalware/partials/_navigation.scss +36 -1
  24. data/app/assets/stylesheets/renalware/partials/_simple_form.scss +1 -1
  25. data/app/assets/stylesheets/renalware/partials/_tables.scss +40 -1
  26. data/app/controllers/renalware/accesses/assessments_controller.rb +2 -2
  27. data/app/controllers/renalware/accesses/procedures_controller.rb +2 -2
  28. data/app/controllers/renalware/accesses/profiles_controller.rb +2 -2
  29. data/app/controllers/renalware/admin/users_controller.rb +1 -1
  30. data/app/controllers/renalware/base_controller.rb +1 -1
  31. data/app/controllers/renalware/clinical/body_compositions_controller.rb +1 -14
  32. data/app/controllers/renalware/clinical/dry_weights_controller.rb +1 -1
  33. data/app/controllers/renalware/clinics/clinic_visits_controller.rb +3 -3
  34. data/app/controllers/renalware/concerns/pdf_renderable.rb +0 -1
  35. data/app/controllers/renalware/deaths_controller.rb +1 -1
  36. data/app/controllers/renalware/devise/sessions_controller.rb +24 -0
  37. data/app/controllers/renalware/directory/people_controller.rb +30 -20
  38. data/app/controllers/renalware/drugs/drugs_controller.rb +2 -2
  39. data/app/controllers/renalware/events/events_controller.rb +19 -4
  40. data/app/controllers/renalware/events/types_controller.rb +2 -2
  41. data/app/controllers/renalware/hd/cannulation_types_controller.rb +2 -2
  42. data/app/controllers/renalware/hd/current_profile_controller.rb +1 -1
  43. data/app/controllers/renalware/hd/dialysers_controller.rb +2 -2
  44. data/app/controllers/renalware/hd/preference_sets_controller.rb +1 -1
  45. data/app/controllers/renalware/hd/sessions_controller.rb +1 -1
  46. data/app/controllers/renalware/hd/stations_controller.rb +79 -0
  47. data/app/controllers/renalware/hospitals/units_controller.rb +4 -3
  48. data/app/controllers/renalware/letters/contacts_controller.rb +3 -3
  49. data/app/controllers/renalware/letters/letters_controller.rb +2 -2
  50. data/app/controllers/renalware/medications/drug_types/prescriptions_controller.rb +3 -0
  51. data/app/controllers/renalware/messaging/messages_controller.rb +73 -0
  52. data/app/controllers/renalware/messaging/receipts_controller.rb +55 -0
  53. data/app/controllers/renalware/messaging/sent_messages_controller.rb +22 -0
  54. data/app/controllers/renalware/modalities/descriptions_controller.rb +31 -17
  55. data/app/controllers/renalware/modalities/modalities_controller.rb +21 -13
  56. data/app/controllers/renalware/pathology/current_observation_results_controller.rb +1 -1
  57. data/app/controllers/renalware/pathology/historical_observation_results_controller.rb +1 -1
  58. data/app/controllers/renalware/pathology/patient_rules_controller.rb +2 -2
  59. data/app/controllers/renalware/pathology/recent_observation_results_controller.rb +1 -1
  60. data/app/controllers/renalware/pathology/requests/requests_controller.rb +1 -1
  61. data/app/controllers/renalware/patients/alerts_controller.rb +61 -0
  62. data/app/controllers/renalware/patients/clinical_summaries_controller.rb +15 -0
  63. data/app/controllers/renalware/patients/patients_controller.rb +109 -0
  64. data/app/controllers/renalware/patients/primary_care_physicians_controller.rb +3 -2
  65. data/app/controllers/renalware/patients/worry_controller.rb +13 -2
  66. data/app/controllers/renalware/patients/worryboard_controller.rb +15 -1
  67. data/app/controllers/renalware/pd/bag_types_controller.rb +2 -2
  68. data/app/controllers/renalware/pd/exit_site_infections_controller.rb +2 -2
  69. data/app/controllers/renalware/pd/peritonitis_episodes_controller.rb +1 -1
  70. data/app/controllers/renalware/pd/pet_adequacy_results_controller.rb +2 -2
  71. data/app/controllers/renalware/pd/regimes_controller.rb +2 -2
  72. data/app/controllers/renalware/problems/problems_controller.rb +2 -2
  73. data/app/controllers/renalware/system/errors_controller.rb +20 -0
  74. data/app/controllers/renalware/system/mock_errors_controller.rb +12 -0
  75. data/app/controllers/renalware/transplants/donations_controller.rb +2 -2
  76. data/app/controllers/renalware/transplants/donor_operations_controller.rb +2 -2
  77. data/app/controllers/renalware/transplants/donor_workups_controller.rb +1 -1
  78. data/app/controllers/renalware/transplants/recipient_followups_controller.rb +2 -2
  79. data/app/controllers/renalware/transplants/recipient_operations_controller.rb +2 -2
  80. data/app/controllers/renalware/transplants/recipient_workups_controller.rb +1 -1
  81. data/app/controllers/renalware/transplants/registration_statuses_controller.rb +2 -2
  82. data/app/controllers/renalware/transplants/registrations_controller.rb +1 -1
  83. data/app/documents/renalware/renal/profile_document.rb +1 -0
  84. data/app/documents/renalware/smoking_status.rb +9 -0
  85. data/app/helpers/renalware/application_helper.rb +1 -1
  86. data/app/helpers/renalware/navigation_helper.rb +1 -1
  87. data/app/models/concerns/renalware/accountable.rb +16 -1
  88. data/app/models/concerns/renalware/broadcasting.rb +33 -0
  89. data/app/models/renalware/clinical/modality_description.rb +3 -0
  90. data/app/models/renalware/deaths/modality_description.rb +3 -0
  91. data/app/models/renalware/directory/person.rb +1 -1
  92. data/app/models/renalware/events/event.rb +3 -1
  93. data/app/models/renalware/events/event_query.rb +29 -0
  94. data/app/models/renalware/events/line_change_event_query.rb +25 -0
  95. data/app/models/renalware/events/patient_listener.rb +8 -0
  96. data/app/models/renalware/events/simple.rb +1 -1
  97. data/app/models/renalware/hd/diurnal_period_code.rb +9 -0
  98. data/app/models/renalware/hd/mdm_patients_query.rb +1 -0
  99. data/app/models/renalware/hd/modality_description.rb +3 -0
  100. data/app/models/renalware/hd/patient_listener.rb +20 -0
  101. data/app/models/renalware/hd/patients_with_unmet_preferences_query.rb +2 -0
  102. data/app/models/renalware/hd/session/closed.rb +2 -2
  103. data/app/models/renalware/hd/station.rb +24 -0
  104. data/app/models/renalware/hospitals/unit.rb +1 -0
  105. data/app/models/renalware/letters/draft_letter.rb +1 -1
  106. data/app/models/renalware/letters/letter_params_processor.rb +2 -2
  107. data/app/models/renalware/letters/letter_query.rb +1 -1
  108. data/app/models/renalware/letters/part/recent_pathology_results.rb +9 -4
  109. data/app/models/renalware/letters/patient_listener.rb +16 -0
  110. data/app/models/renalware/letters/revise_letter.rb +1 -1
  111. data/app/models/renalware/medications/patient_listener.rb +11 -0
  112. data/app/models/renalware/medications/prescriptions_by_drug_type_query.rb +2 -1
  113. data/app/models/renalware/medications/terminate_all_patient_prescriptions.rb +24 -0
  114. data/app/models/renalware/messaging/author.rb +9 -0
  115. data/app/models/renalware/messaging/message.rb +19 -0
  116. data/app/models/renalware/messaging/message_factory.rb +18 -0
  117. data/app/models/renalware/messaging/message_form.rb +34 -0
  118. data/app/models/renalware/messaging/message_form_builder.rb +50 -0
  119. data/app/models/renalware/messaging/patient.rb +13 -0
  120. data/app/models/renalware/messaging/receipt.rb +19 -0
  121. data/app/models/renalware/messaging/recipient.rb +10 -0
  122. data/app/models/renalware/messaging/recipient_options.rb +85 -0
  123. data/app/models/renalware/messaging/send_message.rb +22 -0
  124. data/app/models/renalware/messaging.rb +21 -0
  125. data/app/models/renalware/modalities/change_patient_modality.rb +112 -0
  126. data/app/models/renalware/modalities/description.rb +9 -5
  127. data/app/models/renalware/modalities/modality.rb +4 -10
  128. data/app/models/renalware/pathology/measurement_unit.rb +10 -0
  129. data/app/models/renalware/pathology/observation_description.rb +2 -0
  130. data/app/models/renalware/pathology/requests/global_algorithm.rb +1 -1
  131. data/app/models/renalware/pathology/requests/high_risk_rule_set.rb +1 -1
  132. data/app/models/renalware/patient.rb +14 -8
  133. data/app/models/renalware/patients/alert.rb +15 -0
  134. data/app/models/renalware/patients/patient_search.rb +13 -0
  135. data/app/models/renalware/patients/summary.rb +13 -0
  136. data/app/models/renalware/patients/worry_query.rb +27 -0
  137. data/app/models/renalware/pd/modality_description.rb +3 -0
  138. data/app/models/renalware/pd.rb +1 -1
  139. data/app/models/renalware/transplants/mdm_patients_query.rb +1 -0
  140. data/app/policies/renalware/hd/station_policy.rb +9 -0
  141. data/app/policies/renalware/messaging/message_policy.rb +11 -0
  142. data/app/policies/renalware/messaging/receipt_policy.rb +19 -0
  143. data/app/policies/renalware/modalities/description_policy.rb +22 -0
  144. data/app/policies/renalware/patients/alert_policy.rb +8 -0
  145. data/app/presenters/renalware/clinical/profile_presenter.rb +6 -1
  146. data/app/presenters/renalware/dashboard/dashboard_presenter.rb +18 -8
  147. data/app/presenters/renalware/events/events_presenter.rb +37 -0
  148. data/app/presenters/renalware/hd/station_presenter.rb +10 -0
  149. data/app/presenters/renalware/messaging/internal_message_presenter.rb +19 -0
  150. data/app/presenters/renalware/messaging/receipt_presenter.rb +11 -0
  151. data/app/presenters/renalware/pd/dashboard_presenter.rb +7 -0
  152. data/app/presenters/renalware/pd/mdm_presenter.rb +4 -0
  153. data/app/views/renalware/admin/users/edit.html.slim +34 -34
  154. data/app/views/renalware/admin/users/index.html.slim +9 -3
  155. data/app/views/renalware/clinical/body_compositions/_form.html.slim +1 -1
  156. data/app/views/renalware/clinical/body_compositions/_list.html.slim +1 -1
  157. data/app/views/renalware/clinical/body_compositions/edit.html.slim +2 -2
  158. data/app/views/renalware/clinics/clinic_visits/_form.html.slim +2 -2
  159. data/app/views/renalware/dashboard/bookmarks/_bookmark.html.slim +4 -5
  160. data/app/views/renalware/dashboard/bookmarks/_table.html.slim +1 -2
  161. data/app/views/renalware/dashboard/dashboards/_content.html.slim +7 -1
  162. data/app/views/renalware/dashboard/letters/_letter.html.slim +1 -1
  163. data/app/views/renalware/deaths/edit.html.slim +23 -26
  164. data/app/views/renalware/deaths/index.html.slim +0 -1
  165. data/app/views/renalware/devise/registrations/edit.html.slim +2 -2
  166. data/app/views/renalware/devise/sessions/new.html.slim +1 -1
  167. data/app/views/renalware/directory/people/_address_form.html.slim +13 -11
  168. data/app/views/renalware/directory/people/_filters.html.slim +9 -0
  169. data/app/views/renalware/directory/people/_form.html.slim +12 -14
  170. data/app/views/renalware/directory/people/_person.html.slim +1 -1
  171. data/app/views/renalware/directory/people/_table.html.slim +10 -0
  172. data/app/views/renalware/directory/people/edit.html.slim +4 -4
  173. data/app/views/renalware/directory/people/index.html.slim +7 -29
  174. data/app/views/renalware/directory/people/new.html.slim +4 -4
  175. data/app/views/renalware/directory/people/show.html.slim +27 -40
  176. data/app/views/renalware/drugs/drugs/_filters.html.slim +11 -0
  177. data/app/views/renalware/drugs/drugs/_form.html.slim +1 -3
  178. data/app/views/renalware/drugs/drugs/edit.html.slim +3 -1
  179. data/app/views/renalware/drugs/drugs/index.html.slim +7 -16
  180. data/app/views/renalware/drugs/drugs/new.html.slim +3 -1
  181. data/app/views/renalware/events/events/_filters.html.slim +21 -0
  182. data/app/views/renalware/events/events/_list.html.slim +5 -0
  183. data/app/views/renalware/events/events/_table.html.slim +3 -3
  184. data/app/views/renalware/events/events/index.html.slim +3 -2
  185. data/app/views/renalware/events/events/simple/_event.html.slim +10 -0
  186. data/app/views/renalware/events/events/simple/_list.html.slim +5 -0
  187. data/app/views/renalware/events/events/simple/_table.html.slim +15 -0
  188. data/app/views/renalware/events/events/toggled_cell/_simple.html.slim +2 -0
  189. data/app/views/renalware/hd/current_profile/_form.html.slim +64 -28
  190. data/app/views/renalware/hd/mdm_patients/_table.html.slim +26 -0
  191. data/app/views/renalware/hd/mdm_patients/index.html.slim +3 -33
  192. data/app/views/renalware/hd/stations/_form.html.slim +11 -0
  193. data/app/views/renalware/hd/stations/_station.html.slim +6 -0
  194. data/app/views/renalware/hd/stations/_table.html.slim +9 -0
  195. data/app/views/renalware/hd/stations/edit.html.slim +8 -0
  196. data/app/views/renalware/hd/stations/index.html.slim +14 -0
  197. data/app/views/renalware/hd/stations/new.html.slim +8 -0
  198. data/app/views/renalware/hospitals/units/_form.html.slim +16 -15
  199. data/app/views/renalware/hospitals/units/edit.html.slim +3 -1
  200. data/app/views/renalware/hospitals/units/index.html.slim +8 -3
  201. data/app/views/renalware/hospitals/units/new.html.slim +3 -1
  202. data/app/views/renalware/layouts/_patient.html.slim +1 -0
  203. data/app/views/renalware/letters/letters/_table.html.slim +1 -1
  204. data/app/views/renalware/letters/letters/author.html.slim +1 -3
  205. data/app/views/renalware/letters/parts/_problems.html.slim +10 -7
  206. data/app/views/renalware/letters/parts/_recent_pathology_results.html.slim +11 -8
  207. data/app/views/renalware/mdm_patients/_table.html.slim +23 -0
  208. data/app/views/renalware/mdm_patients/index.html.slim +5 -28
  209. data/app/views/renalware/medications/prescriptions/_current.html.slim +2 -2
  210. data/app/views/renalware/medications/prescriptions/_recently_stopped.html.slim +1 -1
  211. data/app/views/renalware/messaging/messages/_form.html.slim +31 -0
  212. data/app/views/renalware/messaging/messages/_message.html.slim +19 -0
  213. data/app/views/renalware/messaging/messages/_modal_dialog_placeholder.html.slim +2 -0
  214. data/app/views/renalware/messaging/messages/_send_message_link.html.slim +11 -0
  215. data/app/views/renalware/messaging/messages/_send_reply_link.html.slim +12 -0
  216. data/app/views/renalware/messaging/messages/_table.html.slim +13 -0
  217. data/app/views/renalware/messaging/messages/create.js.erb +13 -0
  218. data/app/views/renalware/messaging/messages/new.html.slim +5 -0
  219. data/app/views/renalware/messaging/messages/new.js.erb +7 -0
  220. data/app/views/renalware/messaging/messages/sent.html.slim +4 -0
  221. data/app/views/renalware/messaging/receipts/_receipt.html.slim +45 -0
  222. data/app/views/renalware/messaging/receipts/_table.html.slim +16 -0
  223. data/app/views/renalware/messaging/receipts/mark_as_read.js.erb +6 -0
  224. data/app/views/renalware/messaging/receipts/read.html.slim +5 -0
  225. data/app/views/renalware/messaging/receipts/unread.html.slim +5 -0
  226. data/app/views/renalware/messaging/shared/_key.html.slim +3 -0
  227. data/app/views/renalware/messaging/shared/_messages_type_tabs.html.slim +7 -0
  228. data/app/views/renalware/modalities/descriptions/_form.html.slim +12 -10
  229. data/app/views/renalware/modalities/descriptions/edit.html.slim +6 -1
  230. data/app/views/renalware/modalities/descriptions/index.html.slim +16 -11
  231. data/app/views/renalware/modalities/descriptions/new.html.slim +6 -1
  232. data/app/views/renalware/navigation/_user.html.slim +1 -0
  233. data/app/views/renalware/pathology/requests/requests/new.html.slim +1 -1
  234. data/app/views/renalware/patients/_layout.html.slim +0 -1
  235. data/app/views/renalware/patients/_person_form_fields.html.slim +1 -0
  236. data/app/views/renalware/patients/{_prescriptions.html.slim → _prescriptions.html.slim.dead} +0 -0
  237. data/app/views/renalware/patients/_side_menu.html.slim +1 -1
  238. data/app/views/renalware/patients/alerts/_alert.html.slim +12 -0
  239. data/app/views/renalware/patients/alerts/_create_alert_link.html.slim +8 -0
  240. data/app/views/renalware/patients/alerts/_form.html.slim +14 -0
  241. data/app/views/renalware/patients/alerts/_list.html.slim +4 -0
  242. data/app/views/renalware/patients/alerts/_modal_dialog_placeholder.html.slim +2 -0
  243. data/app/views/renalware/patients/alerts/create.js.erb +3 -0
  244. data/app/views/renalware/patients/alerts/destroy.js.erb +2 -0
  245. data/app/views/renalware/patients/alerts/new.html.slim +5 -0
  246. data/app/views/renalware/patients/alerts/new.js.erb +4 -0
  247. data/app/views/renalware/patients/bookmarks/_delete.html.slim +4 -3
  248. data/app/views/renalware/patients/bookmarks/_new.html.slim +4 -2
  249. data/app/views/renalware/{clinical_summaries → patients/clinical_summaries}/_events.html.slim +0 -0
  250. data/app/views/renalware/{clinical_summaries → patients/clinical_summaries}/_letters.html.slim +0 -0
  251. data/app/views/renalware/{clinical_summaries → patients/clinical_summaries}/_prescriptions.html.slim +0 -0
  252. data/app/views/renalware/{clinical_summaries → patients/clinical_summaries}/_problems.html.slim +0 -0
  253. data/app/views/renalware/{clinical_summaries → patients/clinical_summaries}/show.html.slim +1 -1
  254. data/app/views/renalware/patients/{_form.html.slim → patients/_form.html.slim} +0 -0
  255. data/app/views/renalware/patients/{_patient.html.slim → patients/_patient.html.slim} +0 -0
  256. data/app/views/renalware/patients/{_table.html.slim → patients/_table.html.slim} +1 -1
  257. data/app/views/renalware/patients/{edit.html.slim → patients/edit.html.slim} +1 -1
  258. data/app/views/renalware/patients/{index.html.slim → patients/index.html.slim} +0 -0
  259. data/app/views/renalware/patients/{new.html.slim → patients/new.html.slim} +1 -1
  260. data/app/views/renalware/patients/{show → patients/show}/_contact_details.html.slim +0 -0
  261. data/app/views/renalware/patients/{show → patients/show}/_hospital_numbers.html.slim +0 -0
  262. data/app/views/renalware/patients/{show → patients/show}/_letter_preferences.html.slim +0 -0
  263. data/app/views/renalware/patients/{show → patients/show}/_patient_demographics.html.slim +0 -0
  264. data/app/views/renalware/patients/{show → patients/show}/_person.html.slim +0 -0
  265. data/app/views/renalware/patients/{show → patients/show}/_primary_care_physician.html.slim +0 -0
  266. data/app/views/renalware/patients/{show → patients/show}/_referral.html.slim +0 -0
  267. data/app/views/renalware/patients/{show → patients/show}/_ukrdc_preferences.html.slim +0 -0
  268. data/app/views/renalware/patients/{show.html.slim → patients/show.html.slim} +7 -7
  269. data/app/views/renalware/patients/side_menu/_actions.html.slim +27 -0
  270. data/app/views/renalware/patients/side_menu/_general.html.slim +4 -2
  271. data/app/views/renalware/patients/side_menu/_modalities.html.slim +2 -2
  272. data/app/views/renalware/patients/side_menu/{_options.html.slim → _options.html.slim.redundant} +5 -0
  273. data/app/views/renalware/patients/side_menu/_transplants.html.slim +2 -1
  274. data/app/views/renalware/patients/worries/_delete.html.slim +4 -3
  275. data/app/views/renalware/patients/worries/_new.html.slim +23 -4
  276. data/app/views/renalware/patients/worryboard/_filters.html.slim +15 -0
  277. data/app/views/renalware/patients/worryboard/_table.html.slim +13 -6
  278. data/app/views/renalware/patients/worryboard/_worry.html.slim +6 -4
  279. data/app/views/renalware/patients/worryboard/show.html.slim +3 -5
  280. data/app/views/renalware/pd/dashboards/show.html.slim +11 -2
  281. data/app/views/renalware/pd/mdm/_top.html.slim +6 -1
  282. data/app/views/renalware/renal/profiles/_form.html.slim +2 -1
  283. data/app/views/renalware/renal/profiles/show.html.slim +1 -1
  284. data/app/views/renalware/shared/documents/_smoking_status.html.slim +1 -0
  285. data/app/views/renalware/shared/documents/_smoking_status_input.html.slim +5 -0
  286. data/app/views/renalware/{errors → system/errors}/internal_server_error.html.slim +0 -0
  287. data/app/views/renalware/{errors → system/errors}/not_found.html.slim +0 -0
  288. data/app/views/renalware/transplants/mdm_patients/_filters.html.slim +6 -7
  289. data/config/cucumber.yml +5 -2
  290. data/config/initializers/renalware.rb +13 -0
  291. data/config/initializers/simple_form_foundation.rb +3 -1
  292. data/config/locales/renalware/dashboard/dashboard.yml +0 -1
  293. data/config/locales/renalware/errors.en.yml +15 -14
  294. data/config/locales/renalware/events/events.yml +5 -0
  295. data/config/locales/renalware/hd/mdm_patients.yml +1 -1
  296. data/config/locales/renalware/hospitals/unit.yml +1 -0
  297. data/config/locales/renalware/mdm.yml +1 -1
  298. data/config/locales/renalware/messaging/messages.en.yml +29 -0
  299. data/config/locales/renalware/patients/alerts.en.yml +10 -0
  300. data/config/locales/renalware/patients/side_menu.en.yml +7 -4
  301. data/config/locales/renalware/patients/worries.en.yml +1 -1
  302. data/config/routes.rb +25 -6
  303. data/config/spring.rb +2 -0
  304. data/db/migrate/20170725120242_add_units_to_pathology_observation_descriptions.rb +19 -0
  305. data/db/migrate/20170809080925_add_notes_to_patient_worries.rb +5 -0
  306. data/db/migrate/20170810092953_create_messaging_messages.rb +13 -0
  307. data/db/migrate/20170810093532_create_messaging_receipts.rb +9 -0
  308. data/db/migrate/20170821100353_add_replying_to_message_id_to_messages.rb +12 -0
  309. data/db/migrate/20170823084127_create_patient_alerts.rb +16 -0
  310. data/db/migrate/20170824113401_add_stations_to_hospital_units.rb +8 -0
  311. data/db/migrate/20170830085137_create_hd_unit_stations.rb +17 -0
  312. data/db/migrate/20170830171726_create_hd_diurnal_period_codes.rb +10 -0
  313. data/db/seeds/default/hd/diurnal_period_codes.csv +4 -0
  314. data/db/seeds/default/hd/diurnal_period_codes.rb +13 -0
  315. data/db/seeds/default/hd/seeds.rb +1 -0
  316. data/db/seeds/default/pathology/measurement_units.csv +38 -0
  317. data/db/seeds/default/pathology/measurement_units.rb +13 -0
  318. data/db/seeds/default/pathology/pathology_observation_descriptions.csv +1741 -1741
  319. data/db/seeds/default/pathology/pathology_observation_descriptions.rb +8 -10
  320. data/db/seeds/default/pathology/seeds.rb +1 -0
  321. data/db/seeds/default/seeds.rb +0 -1
  322. data/db/seeds/default/system/roles.rb +1 -1
  323. data/{app/models → lib}/renalware/breadcrumb.rb +0 -0
  324. data/lib/renalware/configuration.rb +2 -0
  325. data/{app/models → lib}/renalware/failure.rb +0 -0
  326. data/{app/models → lib}/renalware/month_period.rb +0 -0
  327. data/{app/models → lib}/renalware/remembered_preferences.rb +0 -0
  328. data/{app/models → lib}/renalware/service_result.rb +0 -0
  329. data/{app/models → lib}/renalware/success.rb +0 -0
  330. data/lib/renalware/version.rb +1 -1
  331. data/lib/subscription_registry.rb +5 -0
  332. metadata +152 -61
  333. data/app/controllers/renalware/clinical_summaries_controller.rb +0 -13
  334. data/app/controllers/renalware/errors_controller.rb +0 -18
  335. data/app/controllers/renalware/mock_errors_controller.rb +0 -10
  336. data/app/controllers/renalware/patients_controller.rb +0 -107
  337. data/app/models/renalware/patient_search.rb +0 -11
  338. data/app/models/renalware/patient_summary.rb +0 -6
  339. data/app/views/renalware/admin/users/_header.html.slim +0 -6
  340. data/app/views/renalware/clinical/body_compositions/_row.html.slim +0 -15
  341. data/app/views/renalware/clinical/body_compositions/index.html.slim +0 -12
  342. data/app/views/renalware/deaths/_navigation.html.slim +0 -3
  343. data/app/views/renalware/directory/people/_header.html.slim +0 -5
  344. data/app/views/renalware/drugs/drugs/_header.html.slim +0 -5
  345. data/app/views/renalware/hospitals/units/_header.html.slim +0 -5
  346. data/db/seeds/default/hospitals/dialysis_units.csv +0 -7
  347. data/db/seeds/default/hospitals/dialysis_units.rb +0 -17
  348. data/db/seeds/default/hospitals/hospital_centres.csv +0 -86
  349. data/db/seeds/default/hospitals/hospitals.rb +0 -17
  350. data/db/seeds/default/hospitals/seeds.rb +0 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 72947b647dc6fa2a19f08fae31c82d1434758d19
4
- data.tar.gz: 4fac004d893040109ba91ba25a6b4315f71f6522
3
+ metadata.gz: b5e7a417e754a71bbaed524baa1e92f6a0491bd1
4
+ data.tar.gz: 1d904d6f9bb3162292ec84e39fbed1217900c843
5
5
  SHA512:
6
- metadata.gz: 21233ae1518dd2b94d412cdcf25a3d9caf3974d405c4657c75fd9cd5b143dcbcbd5719e950a8959e251d2e9bc134ba15ba640a3d685b54bf84e0a9518d1da62a
7
- data.tar.gz: 7ae3733d3341ea54cf5e5c1336870a4e3a3e6153e9a589ecd7cbf4ecaa857f858348b4866717d0a76fb3a17a9e1a3bd49581a4d480abcf3ebfaea5bf80941033
6
+ metadata.gz: 975d591a6795b6cca71871f1ade8bd8b18d38b47568d5c7bcddb36f2e1ad07adc925124a8174b8ad3fb051fa0ad4aaa85c97716899e7fa19991f083ff809a40e
7
+ data.tar.gz: 03fac27edf51107c38ec0299714bf51dd1232924feb98b9afc2932cafd08697227f5c5d74886cb7c784d618be8ac745adb033a65c5a6a50a0138dab07c5dfef2
data/README.md CHANGED
@@ -3,6 +3,7 @@
3
3
  [![Code Climate](https://codeclimate.com/repos/58beee3ed41d600266000147/badges/50451f89d7aad6c2d200/gpa.svg)](https://codeclimate.com/repos/58beee3ed41d600266000147/feed)
4
4
  [![Test Coverage](https://codeclimate.com/repos/58beee3ed41d600266000147/badges/50451f89d7aad6c2d200/coverage.svg)](https://codeclimate.com/repos/58beee3ed41d600266000147/coverage)
5
5
  [![Dependency Status](https://gemnasium.com/badges/github.com/airslie/renalware-core.svg)](https://gemnasium.com/github.com/airslie/renalware-core)
6
+ [![Gem Version](https://badge.fury.io/rb/renalware-core.svg)](https://badge.fury.io/rb/renalware-core)
6
7
 
7
8
  Renalware uses demographic, clinical, pathology, and nephrology datasets to improve patient care,
8
9
  undertake clinical and administrative audits and share data with external systems.
@@ -158,12 +159,12 @@ to just create
158
159
  #### Engine migrations
159
160
 
160
161
  `config.active_record.schema_format = :sql` in `application.rb` is used the engine
161
- uses postgres views and functions which are not properly supported in a `schema.rb`
162
+ uses Postgres views and functions which are not properly supported in a `schema.rb`
162
163
 
163
164
  #### Throttling login attempts
164
165
 
165
166
  [rack-attack](https://github.com/kickstarter/rack-attack) is configured to throttle login attempts.
166
- Only 10 attempts per username as permitted in any one minute in an attempt to thwaght login attacks.
167
+ Only 10 attempts per username as permitted in any one minute in an attempt to thwart login attacks.
167
168
 
168
169
  #### Test Configuration
169
170
 
@@ -47,6 +47,9 @@
47
47
  //= require_tree .
48
48
  //
49
49
 
50
+ // Define a console.log if one does not yet exist - e.g. we in IE11
51
+ window.console = window.console || { log: function() {} };
52
+
50
53
  // Disabled jQuery animations during tests to speed things up a little
51
54
  <% if Rails.env.test? %>
52
55
  $.fx.off = true;
@@ -15,7 +15,8 @@ $(document).foundation({
15
15
  $(document).on('opened.fndtn.reveal', '[data-reveal]', function () {
16
16
  var modal = $(this);
17
17
  modal.find('[autofocus]').focus();
18
- $('form[data-validate]').enableClientSideValidations();
18
+ $('form[data-client-side-validations]').enableClientSideValidations();
19
+ $('.searchable_select', modal).select2();
19
20
  // If a modal is launched again, ensure the submit button is re-enabled.
20
21
  $.rails.enableFormElement($('input[data-disable-with]'));
21
22
  });
@@ -24,3 +25,4 @@ $(document).on('opened.fndtn.reveal', '[data-reveal]', function () {
24
25
  $(document).on('ajaxError', function(event, xhr, status, error) {
25
26
  $.rails.enableFormElement($('input[data-disable-with]'));
26
27
  });
28
+
@@ -41,25 +41,8 @@ function initClockpickersIn(container) {
41
41
  });
42
42
  }
43
43
 
44
- function initSearchableSelects(container) {
45
- $(container + " .searchable_select").select2();
46
- }
47
-
48
-
49
44
  $(function() {
50
- // Removed the auto scroll-to-error feature as it is not working with
51
- // the new layout - it causes the top menu and patient header to scroll irretrievably off
52
- // the top of the page. Adjusting the offset eg -300 helps but can lead to the bottom of
53
- // the page being cut off instead. If this feature is required, we need to find a more standard
54
- // way to ask the browser to scroll to an element.
55
- // if ($('small.error').length > 0) {
56
- // $('html, body').animate({
57
- // scrollTop: ($('small.error').first().offset().top - 300)
58
- // },500);
59
- // }
60
-
61
45
  initDatepickersIn("body");
62
46
  initDateTimepickersIn("body");
63
47
  initClockpickersIn("body");
64
- initSearchableSelects("body");
65
48
  });
@@ -2,4 +2,8 @@ $(document).ready(function() {
2
2
  Mousetrap.bind('ctrl+f', function() {
3
3
  $(".patient-search-form input").focus();
4
4
  });
5
+
6
+ Mousetrap.bind('ctrl+m', function() {
7
+ $("#send-patient-message").trigger("click");
8
+ });
5
9
  });
@@ -0,0 +1,15 @@
1
+ var Renalware = typeof Renalware === 'undefined' ? {} : Renalware;
2
+
3
+ Renalware.Messaging = (function() {
4
+ var focusRecipientSearchInput = function() {
5
+ $('#message_recipient_ids').select2('open').select2('close');
6
+ };
7
+
8
+ return {
9
+ init: function () {
10
+ focusRecipientSearchInput()
11
+ }
12
+ };
13
+ })();
14
+
15
+ $(document).on('opened.fndtn.reveal', '#send-message-modal', Renalware.Messaging.init);
@@ -4,6 +4,7 @@ $(document).ready(function(){
4
4
 
5
5
  if(selectedModal === "Death") {
6
6
  $('.hide-death').hide();
7
+ alert("Please note that after saving the Death modality, all current prescriptions will be terminated!")
7
8
  } else {
8
9
  $('.hide-death').show();
9
10
  }
@@ -5,9 +5,12 @@
5
5
  //
6
6
  $(document).ready(function() {
7
7
  $(".print-pdf").on("click", function(e) {
8
- // No IE/Edge supports smil - for these we revert to the default behaviour of showing
9
- // the PDF in a new tab and the user must print manually.
10
- if (Modernizr.smil) {
8
+
9
+ // detect IE8 and above, and edge
10
+ if (document.documentMode || /Edge/.test(navigator.userAgent)) {
11
+ // Revert to the default behaviour of showing the PDF in a new tab and the user
12
+ // must print manually.
13
+ } else {
11
14
  var url = $(this).data("target");
12
15
  if (url) {
13
16
  e.preventDefault();
@@ -5,7 +5,8 @@ Renalware.Renal = (function () {
5
5
  var setAllComobidityOptionsToNo = function() {
6
6
  $(document).on( "click", "a.set_all_comorbidities_to_no", function(e) {
7
7
  e.preventDefault();
8
- $(".comorbidities input[type=radio][value=no]").prop("checked", true);
8
+ $(".comorbidities input[type=radio]").filter("[value=no],[value=non_smoker]")
9
+ .prop("checked", true);
9
10
  });
10
11
  };
11
12
 
@@ -5,13 +5,19 @@
5
5
  // to render some js that would insert than into the page.
6
6
  // Note we don't want to poll if we are sat on the login page anyway. For one thing on Heroku it
7
7
  // would prevent a dyno sleeping, but its also a waste of resources.
8
+ //
8
9
  $(document).ready(function() {
9
10
  var login_path ="<%= Renalware::Engine.routes.url_helpers.new_user_session_path %>";
10
- var frequency_ms = <%= Renalware.config.session_timeout_polling_frequency.to_i * 1000 %>;
11
+ var frequency_s = <%= Renalware.config.session_timeout_polling_frequency.to_i %>;
11
12
 
12
- setInterval(function(){
13
+ var session_timeout_check = function(){
13
14
  if(window.location.pathname != login_path) {
14
- $.getScript("<%= Renalware::Engine.routes.url_helpers.session_timed_out_path %>");
15
+ $.getScript("<%= Renalware::Engine.routes.url_helpers.session_timed_out_path %>")
16
+ .fail(function(jqxhr, settings, exception) {
17
+ console.log("Failed to query for session timeout");
18
+ });
15
19
  }
16
- }, frequency_ms);
20
+ };
21
+
22
+ setInterval(session_timeout_check, (frequency_s * 1000));
17
23
  });
@@ -8,8 +8,13 @@ function initTogglers() {
8
8
  if (togglers.length > 0) {
9
9
  $(togglers).on("click", function(event) {
10
10
  event.preventDefault();
11
+ // Get e.g. the tr to toggle
11
12
  var toggled = $(event.target).attr("href");
12
13
  $(toggled).toggle();
14
+ // If we are toggling open tr B by clicking a link within tr A above it,
15
+ // add a class to the tr A sibling above it so it can also be styled
16
+ // to match the expanded TR B below it, to create a clear connection between the two.
17
+ $(toggled).prev().toggleClass("content-toggled");
13
18
  triggerMasonryLayoutRefresh();
14
19
  })
15
20
  }
@@ -85,6 +85,8 @@ $letter-preview-background-colour: #ddd;
85
85
  // tables
86
86
  $table-even-row-colour: #FCFCFC;
87
87
  $table-border-colour: #CCC;
88
+ $table-toggled-content-colour: #FEFFF1;
89
+ $table-urgent-colour: $nhs-yellow;
88
90
 
89
91
  $footer-colour: #C0C0C0;
90
92
  $footer-bg-colour: #FAFAFA;
@@ -93,7 +95,7 @@ $patient-menu-background-colour: #eeeeee;
93
95
  $menu-divider-colour: #E6E6E6;
94
96
 
95
97
  // Forms
96
- $form-hint-colour: #AAA;
98
+ $form-hint-colour: #BBB;
97
99
  $disabled-colour: #CCC;
98
100
 
99
101
  // Menus
@@ -1424,7 +1424,7 @@ $table-margin-bottom: rem-calc(10);
1424
1424
  // $topbar-transition-speed: 300ms;
1425
1425
  // Using rem-calc for the below breakpoint causes issues with top bar
1426
1426
  // $topbar-breakpoint: #{lower-bound($medium-range)}; // Change to 9999px for always mobile layout
1427
- $topbar-breakpoint: #{lower-bound(830px)}; // Change to 9999px for always mobile layout
1427
+ $topbar-breakpoint: unquote("#{lower-bound(830px)}"); // Change to 9999px for always mobile layout
1428
1428
  // $topbar-media-query: $medium-up;
1429
1429
 
1430
1430
  // Divider Styles
@@ -1,3 +1,24 @@
1
1
  span.select2 {
2
- margin: 0 0 0.75rem 0;
2
+ margin: 0;
3
+ // margin: 0 0 0.75rem 0;
4
+ }
5
+
6
+ .grouped_select {
7
+ margin-bottom: 0.7rem;
8
+
9
+ label {
10
+ margin-bottom: 0;
11
+ }
12
+ }
13
+
14
+ .error {
15
+ span.select2 {
16
+ margin: 0;
17
+ }
18
+ }
19
+
20
+ .horizontal_medium {
21
+ span.select2.select2-container.select2-container--default {
22
+ min-width: 500px !important;
23
+ }
3
24
  }
@@ -12,7 +12,7 @@
12
12
  vertical-align: middle;
13
13
  }
14
14
  span.select2.select2-container.select2-container--default {
15
- width: 100%!important;
15
+ width: 100%; //!important;
16
16
  }
17
17
 
18
18
  .select2-container .select2-selection--single {
@@ -60,8 +60,10 @@ span.select2.select2-container.select2-container--default {
60
60
  box-sizing: border-box;
61
61
  border: none;
62
62
  font-size: 100%;
63
- margin-top: 5px;
63
+ margin-top: 0.6rem;
64
+ margin-bottom: 5px;
64
65
  padding: 0;
66
+ height: auto;
65
67
  }
66
68
  .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
67
69
  -webkit-appearance: none;
@@ -86,7 +88,8 @@ span.select2.select2-container.select2-container--default {
86
88
  padding: 0;
87
89
  }
88
90
  .select2-results__option {
89
- padding: 1px 1px 1px 10px;
91
+ // padding: 1px 1px 1px 10px;
92
+ padding: 0 0 0 10px;
90
93
  user-select: none;
91
94
  -webkit-user-select: none;
92
95
  }
@@ -324,7 +327,7 @@ span.select2.select2-container.select2-container--default {
324
327
  .select2-container--default .select2-results__group {
325
328
  cursor: default;
326
329
  display: block;
327
- padding: 6px;
330
+ padding: 2px 6px 0 6px;
328
331
  }
329
332
  .select2-container--classic .select2-selection--single {
330
333
  background-color: #f7f7f7;
@@ -8,5 +8,6 @@
8
8
  p.empty-section {
9
9
  padding-left: 0;
10
10
  color: $dashboard-muted-color;
11
+ clear: both;
11
12
  }
12
13
  }
@@ -0,0 +1,55 @@
1
+ .read-messages {
2
+ .mark-as-read,
3
+ .keep-as-unread {
4
+ display: none;
5
+ }
6
+ }
7
+
8
+ .messages {
9
+ .urgent {
10
+ background-color: $table-urgent-colour !important;
11
+ }
12
+
13
+ .urgent .state span {
14
+ @include badge;
15
+ background-color: $letter-state-pending-review;
16
+ }
17
+
18
+ ul.actions {
19
+ list-style: none;
20
+ text-align: right;
21
+
22
+ .button {
23
+ padding: 0.4rem .6rem;
24
+ margin: 0.3rem 0 0.2rem 0;
25
+ }
26
+ }
27
+
28
+ .message-preview {
29
+ padding: 0.4rem 1rem;
30
+
31
+ .subject {
32
+ font-weight: bold;
33
+ margin: 0 0 0.5rem;
34
+ }
35
+
36
+ .body {
37
+
38
+ }
39
+ }
40
+
41
+ h2 {
42
+ float: left;
43
+ }
44
+
45
+ .messages-key {
46
+ float: right;
47
+ margin: 0.3rem 0 .5rem;
48
+
49
+ span {
50
+ padding: 0.2rem 0.4rem;
51
+ border-radius: 0.3rem;
52
+ }
53
+ }
54
+ }
55
+
@@ -282,8 +282,78 @@ ul.provider {
282
282
  tr.urgent {
283
283
  background-color: $bookmark-urgent-colour;
284
284
  }
285
+
286
+ .button {
287
+
288
+ }
289
+ }
290
+
291
+ // Alerts
292
+
293
+ .alerts {
294
+ table-layout: fixed;
295
+ }
296
+
297
+ .alerts--alert,
298
+ .alerts--alert:nth-of-type(even) {
299
+ clear: both;
300
+ height: 2rem;
301
+ padding: 0.4em 0.2em 0.5em 0.6em;
302
+ background-color: $table-toggled-content-colour;
303
+ border-bottom: dotted 1px $light-grey;
304
+
305
+ &:hover {
306
+ background-color: lighten($table-toggled-content-colour, 5);
307
+ }
308
+
309
+ td {
310
+ border: 0;
311
+ border-top: dotted 1px $light-grey;
312
+ }
313
+
314
+ .icon {
315
+ width: 1.7rem;
316
+ padding-left: 0.4rem;
317
+ }
318
+
319
+ .notes {
320
+ overflow: hidden;
321
+ text-overflow: ellipsis;
322
+ white-space: nowrap;
323
+ }
324
+
325
+ .author {
326
+ width: 15rem;
327
+ text-align: right;
328
+ }
329
+
330
+ .actions {
331
+ width: 3rem;
332
+ padding-right: 1rem;
333
+
334
+ a {
335
+ color: $dark-grey;
336
+ }
337
+ }
338
+
339
+ &.urgent {
340
+ background-color: $nhs-yellow;
341
+
342
+ &:hover {
343
+ background-color: lighten($nhs-yellow, 5);
344
+ }
345
+ }
346
+
347
+ &.urgent {
348
+ .icon {
349
+ @extend .fa;
350
+ @extend .fa-warning;
351
+ display: table-cell;
352
+ }
353
+ }
285
354
  }
286
355
 
356
+ // End Alerts
287
357
  form {
288
358
  .blood-pressure {
289
359
  &.with-errors {
@@ -1,6 +1,12 @@
1
+
2
+ .fa-link-annotation {
3
+ width: 1.4rem;
4
+ }
5
+
1
6
  .page-actions {
2
7
  .button {
3
8
  margin-right: 0.8rem;
9
+ margin-bottom: 0.4rem;
4
10
  }
5
11
  }
6
12
 
@@ -9,6 +15,10 @@
9
15
  font-size: 1rem;
10
16
  padding: 0.6rem 1.2rem;
11
17
 
18
+ &:hover {
19
+ background-color: $nhs-blue;
20
+ }
21
+
12
22
  i.fa {
13
23
  margin-right: .5rem;
14
24
  }
@@ -1,3 +1,7 @@
1
+ input::placeholder {
2
+ color: $form-hint-colour
3
+ }
4
+
1
5
  .panel.compact {
2
6
  padding: 0.5rem 1rem;
3
7
  }
@@ -71,6 +75,10 @@ form {
71
75
  }
72
76
  }
73
77
 
78
+ .error.medium-input {
79
+ max-width: 500px;
80
+ }
81
+
74
82
  @media screen and (min-width: 40.063em) {
75
83
  .small-input {
76
84
  max-width: 250px !important;
@@ -192,7 +200,7 @@ article {
192
200
  }
193
201
 
194
202
  .button:hover {
195
- background-color: $link-colour;
203
+ background-color: $nhs-blue;
196
204
  text-decoration: underline;
197
205
  }
198
206
  }
@@ -43,12 +43,17 @@
43
43
  }
44
44
 
45
45
  &.xlarge {
46
-
47
46
  dt {
48
47
  width: $dl-horizontal-dt-width + 5.5rem;
49
48
  }
50
49
  }
51
50
 
51
+ &.xxlarge {
52
+ dt {
53
+ width: $dl-horizontal-dt-width + 9.5rem;
54
+ }
55
+ }
56
+
52
57
  // Default
53
58
  &.large {
54
59
  }
@@ -64,7 +64,7 @@ dd.patient-name {
64
64
 
65
65
  .patient-side-nav {
66
66
  background-color: $patient-menu-background-colour;
67
- padding: 0.5rem 0;
67
+ padding: 0.6rem 0;
68
68
  padding-bottom: 8rem;
69
69
  position: absolute;
70
70
  width: $patient-side-nav-width;
@@ -73,6 +73,10 @@ dd.patient-name {
73
73
  bottom: 0;
74
74
  left: 0;
75
75
 
76
+ hr {
77
+ margin: 0.3rem 0 0.5rem;
78
+ }
79
+
76
80
  ul.side-nav {
77
81
  margin: 0;
78
82
  padding: 0;
@@ -91,6 +95,35 @@ dd.patient-name {
91
95
  span {
92
96
  padding: 0.2rem 0.5rem;
93
97
  }
98
+
99
+ &.action {
100
+ padding-right: 0.5rem;
101
+ padding-right: .5rem;
102
+
103
+ a {
104
+ text-decoration: none;
105
+ text-align: left;
106
+ margin-right:1rem;
107
+ margin-bottom: 0.2rem;
108
+ margin-top: 0.1rem;
109
+ padding: 0.2rem 0.5rem;
110
+ background-color: $light-grey;
111
+ color: $dark-grey;
112
+ border-radius: 3px;
113
+ transition: all 0.3s ease 0s;
114
+ border-radius: 2px;
115
+
116
+ &:hover {
117
+ background-color: $nhs-blue;
118
+ color: $off-white;
119
+ box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.13), 0 1px 3px 0 rgba(0, 0, 0, 0.08);
120
+ }
121
+ }
122
+ }
123
+
124
+ &.actions-heading {
125
+ margin-bottom: 0.3rem;
126
+ }
94
127
  }
95
128
  }
96
129
  }
@@ -126,6 +159,8 @@ dd.patient-name {
126
159
 
127
160
  .patient-side-nav li.heading {
128
161
  color: $dark-grey;
162
+ font-weight: normal;
163
+ font-size: .9rem;
129
164
  }
130
165
 
131
166
  .mdm-top-bar {
@@ -25,7 +25,7 @@
25
25
 
26
26
  input {
27
27
  float: left;
28
- margin: 0.15rem 0 0 -1rem;
28
+ margin: 0.5rem 0 1rem -1rem;
29
29
  }
30
30
  }
31
31
  }
@@ -1,3 +1,4 @@
1
+
1
2
  table {
2
3
  // This will have to be removed at some point to comply with NHS table guidelines
3
4
  width: 100%;
@@ -22,6 +23,36 @@ table {
22
23
  width: auto;
23
24
  }
24
25
 
26
+ // On tables where every other row is can be toggled open, we need the following:
27
+ // 0 Visible white bg
28
+ // 1 Hidden white bg
29
+ // 2 -- Visible grey bg --
30
+ // 3 Hidden white bg
31
+ // 4 Visible white
32
+ // 5 Hidden white bg
33
+ // 6 -- Visible grey bg --
34
+ // 7 Hidden white bg
35
+ // So this == tr:nth-child(4n+3) (offset of 3 then every 4 rows)
36
+ &.has-togglable-rows {
37
+ tbody tr {
38
+ &:nth-child(4n+3) {
39
+ background: $table-even-row-colour;
40
+ }
41
+
42
+ // The (initially hidden) toggle content row
43
+ &:nth-child(even) {
44
+ background-color: $table-toggled-content-colour;
45
+ }
46
+
47
+ &.content-toggled {
48
+ background-color: $table-toggled-content-colour;
49
+ td {
50
+ border-bottom: none;
51
+ }
52
+ }
53
+ }
54
+ }
55
+
25
56
  .quick-preview {
26
57
  p {
27
58
  padding: 0;
@@ -46,6 +77,13 @@ table {
46
77
  }
47
78
  }
48
79
 
80
+ &.align-centre {
81
+ td,
82
+ th {
83
+ vertical-align: middle;
84
+ }
85
+ }
86
+
49
87
  tr th,
50
88
  tr td {
51
89
  border-bottom: 1px dotted $disabled-colour;
@@ -76,7 +114,8 @@ table {
76
114
  }
77
115
  }
78
116
 
79
- tr th {
117
+ tr th,
118
+ tr td {
80
119
  &.col-width-date {
81
120
  min-width: 7.1em;
82
121
  width: 7.8em;
@@ -23,7 +23,7 @@ module Renalware
23
23
  redirect_to patient_accesses_dashboard_path(patient),
24
24
  notice: t(".success", model_name: "Access assessment")
25
25
  else
26
- flash[:error] = t(".failed", model_name: "Access assessment")
26
+ flash.now[:error] = t(".failed", model_name: "Access assessment")
27
27
  render_new(assessment)
28
28
  end
29
29
  end
@@ -40,7 +40,7 @@ module Renalware
40
40
  redirect_to patient_accesses_dashboard_path(patient),
41
41
  notice: t(".success", model_name: "Access assessment")
42
42
  else
43
- flash[:error] = t(".failed", model_name: "Access assessment")
43
+ flash.now[:error] = t(".failed", model_name: "Access assessment")
44
44
  render_edit(assessment)
45
45
  end
46
46
  end
@@ -21,7 +21,7 @@ module Renalware
21
21
  redirect_to patient_accesses_dashboard_path(patient),
22
22
  notice: t(".success", model_name: "Access procedure")
23
23
  else
24
- flash[:error] = t(".failed", model_name: "Access procedure")
24
+ flash.now[:error] = t(".failed", model_name: "Access procedure")
25
25
  render :new, locals: { patient: patient, procedure: procedure }
26
26
  end
27
27
  end
@@ -38,7 +38,7 @@ module Renalware
38
38
  redirect_to patient_accesses_dashboard_path(patient),
39
39
  notice: success_msg_for("access procedure")
40
40
  else
41
- flash[:error] = failed_msg_for("access procedure")
41
+ flash.now[:error] = failed_msg_for("access procedure")
42
42
  render :edit, locals: { patient: patient, procedure: procedure }
43
43
  end
44
44
  end