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
@@ -0,0 +1,19 @@
1
+ require_dependency "renalware/messaging"
2
+
3
+ module Renalware
4
+ module Messaging
5
+ class ReceiptPolicy < BasePolicy
6
+ def mark_as_read?
7
+ update?
8
+ end
9
+
10
+ def unread?
11
+ index?
12
+ end
13
+
14
+ def read?
15
+ index?
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,22 @@
1
+ require_dependency "renalware/messaging"
2
+
3
+ module Renalware
4
+ module Modalities
5
+ class DescriptionPolicy < BasePolicy
6
+ # For safety we currently disallow the deletion of any ModalityDescription
7
+ def destroy?
8
+ false
9
+ end
10
+
11
+ # Its only possible to edit a ModalityDescription (e.g. to change its name) when it has no
12
+ # (STI) type - ie its not a system-required ModalityDescription.
13
+ def edit?
14
+ record.type.nil?
15
+ end
16
+
17
+ def update?
18
+ edit?
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,8 @@
1
+ require_dependency "renalware/patients"
2
+
3
+ module Renalware
4
+ module Patients
5
+ class AlertPolicy < BasePolicy
6
+ end
7
+ end
8
+ end
@@ -40,7 +40,12 @@ module Renalware
40
40
  end
41
41
 
42
42
  def body_compositions
43
- @body_compositions ||= BodyComposition.for_patient(patient).ordered
43
+ @body_compositions ||= begin
44
+ BodyComposition
45
+ .for_patient(patient)
46
+ .includes([:modality_description, :assessor])
47
+ .ordered
48
+ end
44
49
  end
45
50
  end
46
51
  end
@@ -6,9 +6,6 @@ module Renalware
6
6
  class DashboardPresenter
7
7
  def initialize(user)
8
8
  @user = user
9
- @bookmarker = Patients.cast_user(user)
10
- @typists = Letters.cast_typist(user)
11
- @author = Letters.cast_author(user)
12
9
  end
13
10
 
14
11
  attr_reader :user
@@ -18,14 +15,27 @@ module Renalware
18
15
  end
19
16
 
20
17
  def bookmarks
21
- @bookmarks ||= @bookmarker
22
- .bookmarks
23
- .ordered
24
- .includes(patient: [current_modality: :description])
18
+ @bookmarks ||= begin
19
+ Patients.cast_user(user)
20
+ .bookmarks
21
+ .ordered
22
+ .includes(patient: [current_modality: :description])
23
+ end
25
24
  end
26
25
 
27
26
  def letters_in_progress
28
- @letters_in_progress ||= present_letters(@author.letters.in_progress.reverse)
27
+ @letters_in_progress ||= begin
28
+ present_letters(
29
+ Letters.cast_author(user).letters.in_progress.reverse
30
+ )
31
+ end
32
+ end
33
+
34
+ def unread_messages_receipts
35
+ @unread_messages_receipts ||= begin
36
+ receipts = Messaging.cast_recipient(user).receipts.unread
37
+ CollectionPresenter.new(receipts, Messaging::ReceiptPresenter)
38
+ end
29
39
  end
30
40
 
31
41
  private
@@ -0,0 +1,37 @@
1
+ require_dependency "renalware/events"
2
+
3
+ module Renalware
4
+ module Events
5
+ class EventsPresenter < SimpleDelegator
6
+ attr_reader :patient
7
+
8
+ def initialize(patient, events)
9
+ @patient = patient
10
+ super(events)
11
+ end
12
+
13
+ def users_for_filtering
14
+ User.where(id: ids_of_users_having_created_events_for_this_patient)
15
+ .distinct
16
+ .order(family_name: :asc)
17
+ end
18
+
19
+ def event_types_for_filtering
20
+ Events::Type
21
+ .where(id: all_event_type_ids_in_use_for_this_patient)
22
+ .distinct
23
+ .order(name: :asc)
24
+ end
25
+
26
+ private
27
+
28
+ def ids_of_users_having_created_events_for_this_patient
29
+ Event.for_patient(patient).pluck(:created_by_id)
30
+ end
31
+
32
+ def all_event_type_ids_in_use_for_this_patient
33
+ Event.for_patient(patient).pluck(:event_type_id)
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,10 @@
1
+ module Renalware
2
+ module HD
3
+ class StationPresenter < SimpleDelegator
4
+ def name
5
+ super.blank? ? "Unnamed Station" : super
6
+ end
7
+ end
8
+ end
9
+ end
10
+
@@ -0,0 +1,19 @@
1
+ require_dependency "renalware/messaging"
2
+
3
+ module Renalware
4
+ module Messaging
5
+ class InternalMessagePresenter < SimpleDelegator
6
+ def age_in_days
7
+ (Time.zone.now.to_date - sent_at.to_date).to_i
8
+ end
9
+
10
+ def html_identifier
11
+ "message-#{id}"
12
+ end
13
+
14
+ def html_preview_identifier
15
+ "message-preview-#{id}"
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ require_dependency "renalware/messaging"
2
+
3
+ module Renalware
4
+ module Messaging
5
+ class ReceiptPresenter < SimpleDelegator
6
+ def message
7
+ @message ||= Messaging::InternalMessagePresenter.new(super)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,6 @@
1
+ require_dependency "renalware/pd"
2
+ require_dependency "renalware/events"
3
+
1
4
  module Renalware
2
5
  module PD
3
6
  class DashboardPresenter
@@ -43,6 +46,10 @@ module Renalware
43
46
  def training_sessions
44
47
  @training_sessions ||= TrainingSession.for_patient(patient).ordered
45
48
  end
49
+
50
+ def latest_pd_line_change_events
51
+ @latest_pd_line_change_events ||= Events::LineChangeEventQuery.new(patient).call(limit: 1)
52
+ end
46
53
  end
47
54
  end
48
55
  end
@@ -4,6 +4,10 @@ module Renalware
4
4
  def current_regime
5
5
  @current_regime ||= patient.pd_regimes&.current
6
6
  end
7
+
8
+ def latest_pd_line_change_events
9
+ @latest_pd_line_change_events ||= Events::LineChangeEventQuery.new(patient).call(limit: 1)
10
+ end
7
11
  end
8
12
  end
9
13
  end
@@ -1,41 +1,41 @@
1
- .row
2
- = render "header"
1
+ = within_admin_layout(title: "Edit",
2
+ breadcrumbs: breadcrumb_for("Users", admin_users_path)) do
3
3
 
4
- .row
5
- .columns.small-12
6
- h2= @user
4
+ h2= @user
7
5
 
8
- = simple_form_for @user,
9
- html: { autocomplete: "off" },
10
- url: admin_user_path(@user) do |f|
11
- = f.input :approved, as: :hidden, input_html: { value: true }
6
+ = simple_form_for @user,
7
+ html: { autocomplete: "off" },
8
+ url: admin_user_path(@user) do |f|
9
+ = f.input :approved, as: :hidden, input_html: { value: true }
12
10
 
13
- - if @user.errors.any?
14
- ul.error-messages
15
- - @user.errors.full_messages.each do |msg|
16
- li= msg
11
+ - if @user.errors.any?
12
+ ul.error-messages
13
+ - @user.errors.full_messages.each do |msg|
14
+ li= msg
17
15
 
18
- - if @user.expired?
19
- .row
20
- = check_box_tag "user[unexpire]", true, false, class: "inline"
21
- = label_tag :user_unexpire, "Reactivate account"
16
+ - if @user.expired?
17
+ .row
18
+ = check_box_tag "user[unexpire]", true, false, class: "inline"
19
+ = label_tag :user_unexpire, "Reactivate account"
22
20
 
23
- - Renalware::Role.all.each_with_index do |role, index|
24
- - element_id = "user_role_ids_#{index}"
25
- = check_box_tag "user[role_ids][]",
26
- role.id,
27
- @user.has_role?(role.name),
28
- disabled: role.hidden,
29
- id: element_id,
30
- class: "inline"
31
- = label_tag element_id, role.name.humanize
21
+ br
22
+ - Renalware::Role.all.each_with_index do |role, index|
23
+ - element_id = "user_role_ids_#{index}"
24
+ = check_box_tag "user[role_ids][]",
25
+ role.id,
26
+ @user.has_role?(role.name),
27
+ disabled: role.hidden,
28
+ id: element_id,
29
+ class: "inline"
30
+ = label_tag element_id, role.name.humanize
31
+ br
32
+ br
33
+ = f.input :telephone,
34
+ input_html: { class: "input small" },
35
+ wrapper: :horizontal_small
32
36
 
33
- .row
34
- .large-2.columns
35
- = f.input :telephone, input_html: { class: "input small" }
36
37
 
37
- .row
38
- - msg = @user.approved? ? "Update" : "Approve"
39
- = f.submit msg, class: "button"
40
- span= " or "
41
- = link_to "cancel", admin_users_path
38
+ - msg = @user.approved? ? "Update" : "Approve"
39
+ = f.submit msg, class: "button"
40
+ span= " or "
41
+ = link_to "cancel", admin_users_path
@@ -1,7 +1,13 @@
1
- .row
2
- = render "header"
1
+ = within_admin_layout(title: "Users") do
2
+
3
+ dl.sub-nav
4
+ dd(class=("active" if params[:q].nil?))
5
+ = link_to "All", admin_users_path(q: nil)
6
+ dd(class=("active" if params.fetch(:q, {})[:unapproved]))
7
+ = link_to "Unapproved", admin_unapproved_users_path
8
+ dd(class=("active" if params.fetch(:q, {})[:inactive]))
9
+ = link_to "Inactive", admin_inactive_users_path
3
10
 
4
- .row
5
11
  table
6
12
  thead
7
13
  th.col-width-tiny
@@ -29,7 +29,7 @@
29
29
  wrapper: :horizontal_small
30
30
  = f.input :quality_of_reading,
31
31
  wrapper: :horizontal_small
32
- = f.text_area :notes, { rows: 5 }
32
+ = f.input :notes, as: :text, input_html: { rows: 5 }
33
33
 
34
34
 
35
35
  .row
@@ -2,7 +2,7 @@ article.body_compositions
2
2
  header
3
3
  h2= t(".title")
4
4
  = link_to t(".add"),
5
- new_patient_clinical_body_composition_path(@patient),
5
+ new_patient_clinical_body_composition_path(patient),
6
6
  class: "button right"
7
7
  table
8
8
  thead
@@ -1,8 +1,8 @@
1
1
  = within_patient_layout(title: "Body Composition Measurement") do
2
2
 
3
3
  .document
4
- = simple_form_for @body_composition,
5
- url: patient_clinical_body_composition_path(@patient, @body_composition),
4
+ = simple_form_for body_composition,
5
+ url: patient_clinical_body_composition_path(patient, body_composition),
6
6
  html: { autocomplete: "off" },
7
7
  wrapper: "horizontal_form" do |f|
8
8
  = render "form", f: f, patient: patient
@@ -25,11 +25,11 @@
25
25
  = f.input :weight, wrapper: :horizontal_small
26
26
  = f.input :bp,
27
27
  label: "Blood Pressure",
28
- placeholder: "eg. 110/70",
28
+ placeholder: "e.g. 110/70",
29
29
  wrapper: :horizontal_small
30
30
  = f.input :standing_bp,
31
31
  label: "Standing BP",
32
- placeholder: "eg. 110/70",
32
+ placeholder: "e.g. 110/70",
33
33
  wrapper: :horizontal_small
34
34
  = f.input :pulse, wrapper: :horizontal_small
35
35
  = f.input :temperature, wrapper: :horizontal_small
@@ -1,6 +1,5 @@
1
1
  tr class=("urgent" if bookmark.urgent?)
2
- td= link_to "View", patient_clinical_summary_path(bookmark.patient)
3
- td= bookmark.patient
2
+ td= link_to bookmark.patient.to_s(:long), patient_clinical_summary_path(bookmark.patient)
4
3
  td= bookmark.patient.hospital_identifier
5
4
  td= I18n.l bookmark.patient.born_on
6
5
  td= bookmark.patient.age
@@ -8,6 +7,6 @@ tr class=("urgent" if bookmark.urgent?)
8
7
  td= bookmark.patient.current_modality
9
8
  td= bookmark.notes
10
9
  td= I18n.l bookmark.created_at
11
- td= render "renalware/patients/bookmarks/delete",
12
- bookmark: bookmark,
13
- link_text: "Remove"
10
+ td.nowrap= render "renalware/patients/bookmarks/delete",
11
+ bookmark: bookmark,
12
+ link_text: "Remove"
@@ -1,8 +1,7 @@
1
1
  table.auto-layout
2
2
  thead
3
3
  tr
4
- th.col-width-tiny
5
- th.col-width-medium= t(".patient_name")
4
+ th.col-width-large= t(".patient_name")
6
5
  th.col-width-reference-no= t(".hospital_number")
7
6
  th.col-width-date= t(".born_on")
8
7
  th.col-width-tiny= t(".age")
@@ -17,7 +17,13 @@
17
17
 
18
18
  section.messages
19
19
  h2 Messages
20
- p.empty-section= t(".messages.none")
20
+ - if dashboard.unread_messages_receipts.any?
21
+ = render "renalware/messaging/shared/key"
22
+ .unread-messages
23
+ = render "renalware/messaging/receipts/table",
24
+ receipts: dashboard.unread_messages_receipts
25
+ - else
26
+ p.empty-section= t(".messages.none")
21
27
 
22
28
  section.electonic_ccs
23
29
  h2 Electronic CCs
@@ -10,7 +10,7 @@ tr(class=letter.state.dasherize)
10
10
  span= letter.state_description
11
11
  td= l letter.issued_on
12
12
  td= letter.author
13
- td= link_to letter.patient, patient_path(letter.patient)
13
+ td= link_to letter.patient, patient_clinical_summary_path(letter.patient)
14
14
  td= letter.description
15
15
  = content_tag(:tr, id: "quick-preview-#{letter.id}", style: "display: none")
16
16
  td
@@ -1,38 +1,35 @@
1
- = within_patient_layout(title: "Demographics") do
1
+ = within_patient_layout(title: "Cause of Death",
2
+ breadcrumbs: breadcrumb_for("Clinical Profile", patient_clinical_profile_path(@patient))) do
2
3
 
3
- .row
4
- .large-12.columns
5
- = render "renalware/shared/errors", model: @patient
4
+ = simple_form_for @patient,
5
+ url: patient_death_path(@patient),
6
+ html: { autocomplete: "off" },
7
+ wrapper: "horizontal_form" do |f|
6
8
 
7
- = simple_form_for @patient,
8
- url: patient_death_path(@patient),
9
- html: { autocomplete: "off" },
10
- wrapper: "horizontal_form" do |f|
9
+ = f.input :died_on,
10
+ as: :date_picker,
11
+ label: "Date of Death",
12
+ wrapper: :horizontal_datepicker
11
13
 
12
- .row
13
- .large-12.columns
14
- fieldset
15
- legend Cause of Death
16
- .large-9.columns
17
- = f.input :died_on, as: :date_picker, label: "Date of Death"
18
-
19
- = f.association :first_cause,
14
+ = f.association :first_cause,
20
15
  label: "Cause of Death (1)",
21
16
  label_method: :description,
22
17
  value_method: :id,
23
- include_blank: "Select 1st cause of death"
18
+ include_blank: "Select 1st cause of death",
19
+ wrapper: :horizontal_medium
24
20
 
25
- = f.association :second_cause,
21
+ = f.association :second_cause,
26
22
  label: "Cause of Death (2)",
27
23
  label_method: :description,
28
24
  value_method: :id,
29
- include_blank: "Select 2nd cause of death"
25
+ include_blank: "Select 2nd cause of death",
26
+ wrapper: :horizontal_medium
30
27
 
31
- = f.input :death_notes, label: "Notes",
32
- as: :text, input_html: { rows: 5 }
28
+ = f.input :death_notes,
29
+ label: "Notes",
30
+ as: :text, input_html: { rows: 5 },
31
+ wrapper: :horizontal_large
33
32
 
34
- .row
35
- .large-12.columns
36
- = f.button :submit
37
- span= " or "
38
- = link_to "cancel", patient_clinical_profile_path(@patient)
33
+ = f.button :submit
34
+ span= " or "
35
+ = link_to "cancel", patient_clinical_profile_path(@patient)
@@ -1,7 +1,6 @@
1
1
  = within_admin_layout(title: "Patients") do
2
2
  = render "renalware/patients/index_header"
3
3
 
4
-
5
4
  table#patients-deceased
6
5
  thead
7
6
  tr
@@ -1,5 +1,5 @@
1
- = render layout: "renalware/dashboard/dashboards/layout",
2
- locals: { user: resource, title: "Update Profile" } do
1
+ = within_admin_layout(title: "Update Profile")
2
+
3
3
  .document
4
4
  h4 #{resource}'s Profile
5
5
 
@@ -17,7 +17,7 @@
17
17
  html: { autocomplete: "off" }) do |f|
18
18
  = f.input :username, input_html: { autofocus: true }, required: false
19
19
  = f.input :password, input_html: { autocomplete: "off" }
20
- = f.input :remember_me, as: :boolean if devise_mapping.rememberable?
20
+ = f.input(:remember_me, as: :boolean, boolean_style: :inline) if devise_mapping.rememberable?
21
21
 
22
22
  .actions
23
23
  = f.submit "Log in", class: "button save"
@@ -1,14 +1,16 @@
1
1
  = f.simple_fields_for :address, wrapper: "horizontal_form" do |fa|
2
2
  = fa.input :name,
3
- placeholder: "If different than above (optional)"
3
+ placeholder: "If different than above (optional)",
4
+ wrapper: :horizontal_medium
4
5
  = fa.input :organisation_name,
5
- placeholder: "e.g. practice or hospital name (optional)"
6
- = fa.input :street_1
7
- = fa.input :street_2
8
- = fa.input :street_3
9
- = fa.input :town
10
- = fa.input :county
11
- = fa.input :postcode
12
- = fa.input :country, as: :string
13
- = fa.input :telephone
14
- = fa.input :email
6
+ placeholder: "e.g. practice or hospital name (optional)",
7
+ wrapper: :horizontal_medium
8
+ = fa.input :street_1, wrapper: :horizontal_medium
9
+ = fa.input :street_2, wrapper: :horizontal_medium
10
+ = fa.input :street_3, wrapper: :horizontal_medium
11
+ = fa.input :town, wrapper: :horizontal_small
12
+ = fa.input :county, wrapper: :horizontal_small
13
+ = fa.input :postcode, wrapper: :horizontal_small
14
+ = fa.input :country, as: :string, wrapper: :horizontal_small
15
+ = fa.input :telephone, wrapper: :horizontal_small
16
+ = fa.input :email, wrapper: :horizontal_small
@@ -0,0 +1,9 @@
1
+ .search-form.filters
2
+ = simple_form_for q, as: :q, url: directory_people_path, method: :get do |f|
3
+ .row
4
+ .small-8.medium-6.large-4.columns
5
+ = f.input :name_cont, label: "Name contains"
6
+ .small-4.end.columns.actions
7
+ = f.submit t("helpers.submit.filter"), class: "button"
8
+ span= " or "
9
+ = link_to t("helpers.reset"), directory_people_path
@@ -1,17 +1,15 @@
1
- .form-content2
2
- .large-8.columns
3
- = simple_form_for @person,
4
- html: { autocomplete: "off" },
5
- wrapper: "horizontal_form" do |f|
6
- = field_set_tag "Person" do
7
- = f.input :title
8
- = f.input :given_name
9
- = f.input :family_name
1
+ = simple_form_for person,
2
+ html: { autocomplete: "off" },
3
+ wrapper: "horizontal_form" do |f|
4
+ = field_set_tag "Person" do
5
+ = f.input :title, wrapper: :horizontal_tiny
6
+ = f.input :given_name, wrapper: :horizontal_medium
7
+ = f.input :family_name, wrapper: :horizontal_medium
10
8
 
11
- = field_set_tag "Postal Address" do
12
- = render "address_form", f: f
9
+ = field_set_tag "Postal Address" do
10
+ = render "address_form", f: f
13
11
 
14
- = f.button :submit
15
- span= " or "
16
- = link_to "cancel", directory_people_path
12
+ = f.button :submit
13
+ span= " or "
14
+ = link_to "cancel", directory_people_path
17
15
 
@@ -6,4 +6,4 @@ tr
6
6
  td= person.title
7
7
  td= link_to person.family_name, directory_person_path(person)
8
8
  td= link_to person.given_name, directory_person_path(person)
9
- td= person.address
9
+ td.col-width-large-with-ellipsis= person.address
@@ -0,0 +1,10 @@
1
+ table.auto-layout.people
2
+ thead
3
+ tr
4
+ th.col-width-small
5
+ th.col-width-tiny Title
6
+ th.col-width-medium Family Name
7
+ th.col-width-medium Given Name
8
+ th Address
9
+ tbody
10
+ = render partial: "person", collection: people
@@ -1,5 +1,5 @@
1
- .row
2
- = render "header"
3
- = render "renalware/shared/errors", model: @person
1
+ = within_admin_layout(title: "Edit Person",
2
+ breadcrumbs: breadcrumb_for("Directory", directory_people_path))
4
3
 
5
- = render "form"
4
+ = render "renalware/shared/errors", model: person
5
+ = render "form", person: person
@@ -1,31 +1,9 @@
1
- .row
2
- = render "header"
1
+ = content_for(:actions) do
2
+ = link_to "Add Person", new_directory_person_path, class: "button"
3
3
 
4
- .row
5
- .search-form
6
- fieldset
7
- legend Filters
8
- = simple_form_for @q, as: :q, url: directory_people_path, method: :get do |f|
9
- .row
10
- .large-8.columns
11
- = f.input :name_cont, label: "Name contains"
12
- .large-4.columns.actions
13
- = f.submit t("helpers.submit.filter"), class: "button"
14
- span= " or "
15
- = link_to t("helpers.reset"), directory_people_path
4
+ = within_admin_layout(title: "Directory")
5
+ = render "filters", q: q
16
6
 
17
- .row
18
- = page_entries_info @people
19
-
20
- table.auto-layout.people
21
- thead
22
- tr
23
- th.col-width-small
24
- th Title
25
- th Family Name
26
- th Given Name
27
- th Address
28
- tbody
29
- = render partial: "person", collection: @people
30
-
31
- = paginate @people
7
+ = page_entries_info people
8
+ = render "table", people: people
9
+ = paginate people