renalware-core 2.0.51 → 2.0.52

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -0
  3. data/app/assets/stylesheets/renalware/application.scss +2 -1
  4. data/app/assets/stylesheets/renalware/base/_mixins.scss +3 -3
  5. data/app/assets/stylesheets/renalware/base/_variables.scss +33 -33
  6. data/app/assets/stylesheets/renalware/clipboard.scss +2 -2
  7. data/app/assets/stylesheets/renalware/hd_diary_pdf.scss +8 -8
  8. data/app/assets/stylesheets/renalware/lib/_foundation_and_overrides.scss +25 -25
  9. data/app/assets/stylesheets/renalware/lib/_select2-foundation5-overrides.scss +12 -0
  10. data/app/assets/stylesheets/renalware/modules/_admissions.scss +3 -3
  11. data/app/assets/stylesheets/renalware/modules/_clinical.scss +34 -33
  12. data/app/assets/stylesheets/renalware/modules/_clipboard.scss +3 -3
  13. data/app/assets/stylesheets/renalware/modules/_dashboard.scss +2 -2
  14. data/app/assets/stylesheets/renalware/modules/_events.scss +1 -1
  15. data/app/assets/stylesheets/renalware/modules/_feeds.scss +1 -1
  16. data/app/assets/stylesheets/renalware/modules/_hd.scss +44 -39
  17. data/app/assets/stylesheets/renalware/modules/_letters.scss +6 -6
  18. data/app/assets/stylesheets/renalware/modules/_medications.scss +15 -4
  19. data/app/assets/stylesheets/renalware/modules/_messaging.scss +2 -2
  20. data/app/assets/stylesheets/renalware/modules/_pathology.scss +24 -15
  21. data/app/assets/stylesheets/renalware/modules/_patients.scss +35 -29
  22. data/app/assets/stylesheets/renalware/modules/_pd.scss +10 -6
  23. data/app/assets/stylesheets/renalware/modules/_problems.scss +1 -1
  24. data/app/assets/stylesheets/renalware/modules/_renal.scss +3 -3
  25. data/app/assets/stylesheets/renalware/modules/_snippets.scss +29 -20
  26. data/app/assets/stylesheets/renalware/modules/_system.scss +11 -3
  27. data/app/assets/stylesheets/renalware/modules/_users.scss +5 -5
  28. data/app/assets/stylesheets/renalware/partials/_animation.scss +1 -0
  29. data/app/assets/stylesheets/renalware/partials/_animations.scss +1 -0
  30. data/app/assets/stylesheets/renalware/partials/_autocomplete.scss +5 -5
  31. data/app/assets/stylesheets/renalware/partials/_beta_banner.scss +1 -1
  32. data/app/assets/stylesheets/renalware/partials/_button.scss +2 -2
  33. data/app/assets/stylesheets/renalware/partials/_components.scss +1 -1
  34. data/app/assets/stylesheets/renalware/partials/_datepicker.scss +1 -1
  35. data/app/assets/stylesheets/renalware/partials/_disabled_block.scss +2 -2
  36. data/app/assets/stylesheets/renalware/partials/_document.scss +6 -6
  37. data/app/assets/stylesheets/renalware/partials/_editor.scss +11 -11
  38. data/app/assets/stylesheets/renalware/partials/_errors.scss +8 -6
  39. data/app/assets/stylesheets/renalware/partials/_forms.scss +27 -27
  40. data/app/assets/stylesheets/renalware/partials/_highlight.scss +1 -1
  41. data/app/assets/stylesheets/renalware/partials/_iframe.scss +1 -1
  42. data/app/assets/stylesheets/renalware/partials/_layout.scss +25 -23
  43. data/app/assets/stylesheets/renalware/partials/_lists.scss +8 -7
  44. data/app/assets/stylesheets/renalware/partials/_mdm.scss +3 -3
  45. data/app/assets/stylesheets/renalware/partials/_modal_window.scss +23 -21
  46. data/app/assets/stylesheets/renalware/partials/_navigation.scss +36 -36
  47. data/app/assets/stylesheets/renalware/partials/_patient_search.scss +2 -2
  48. data/app/assets/stylesheets/renalware/partials/_simple_form.scss +2 -2
  49. data/app/assets/stylesheets/renalware/partials/_tables.scss +48 -46
  50. data/app/assets/stylesheets/renalware/partials/_tabs.scss +8 -8
  51. data/app/assets/stylesheets/renalware/partials/_toggle.scss +3 -3
  52. data/app/assets/stylesheets/renalware/partials/_tooltip.scss +1 -342
  53. data/app/assets/stylesheets/renalware/partials/_typography.scss +4 -4
  54. data/app/assets/stylesheets/renalware/pdf.scss +7 -7
  55. data/app/assets/stylesheets/renalware/print/pathology_request_forms.scss +4 -4
  56. data/app/assets/stylesheets/renalware/protocol_pdf.scss +50 -42
  57. data/app/assets/stylesheets/renalware/table_pdf.scss +27 -24
  58. data/app/assets/stylesheets/renalware/watermark.scss +3 -3
  59. data/app/controllers/renalware/accesses/assessments_controller.rb +12 -19
  60. data/app/controllers/renalware/base_controller.rb +2 -0
  61. data/app/controllers/renalware/events/events_controller.rb +12 -11
  62. data/app/controllers/renalware/hd/current_profile_controller.rb +2 -8
  63. data/app/controllers/renalware/hd/mdm_patients_controller.rb +9 -3
  64. data/app/controllers/renalware/letters/electronic_receipts_controller.rb +0 -5
  65. data/app/controllers/renalware/letters/letters_controller.rb +0 -6
  66. data/app/controllers/renalware/low_clearance/profiles_controller.rb +1 -8
  67. data/app/controllers/renalware/patients/patients_controller.rb +5 -15
  68. data/app/controllers/renalware/pd/assessments_controller.rb +3 -16
  69. data/app/controllers/renalware/pd/training_sessions_controller.rb +6 -20
  70. data/app/controllers/renalware/renal/profiles_controller.rb +1 -9
  71. data/app/controllers/renalware/research/studies_controller.rb +3 -2
  72. data/app/controllers/renalware/research/study_participants_controller.rb +9 -3
  73. data/app/controllers/renalware/transplants/donor_workups_controller.rb +1 -10
  74. data/app/controllers/renalware/virology/dashboards_controller.rb +1 -1
  75. data/app/controllers/renalware/virology/profiles_controller.rb +1 -14
  76. data/app/helpers/renalware/admin_helper.rb +4 -0
  77. data/app/models/concerns/renalware/ordered_set_scope.rb +1 -1
  78. data/app/models/concerns/renalware/patient_pathology_scopes.rb +8 -2
  79. data/app/models/concerns/renalware/supersedeable.rb +10 -3
  80. data/app/models/renalware/admissions/consult_query.rb +14 -0
  81. data/app/models/renalware/hd/mdm_patients_form.rb +8 -1
  82. data/app/models/renalware/letters/electronic_recipient_options.rb +11 -3
  83. data/app/models/renalware/letters/letter.rb +3 -3
  84. data/app/models/renalware/letters/printing/create_pdf_by_interleaving_address_sheet_and_letter_for_each_recipient.rb +1 -0
  85. data/app/models/renalware/letters/recipient.rb +12 -1
  86. data/app/models/renalware/low_clearance.rb +1 -1
  87. data/app/models/renalware/low_clearance/mdm_patients_query.rb +3 -1
  88. data/app/models/renalware/messaging.rb +0 -4
  89. data/app/models/renalware/messaging/internal/recipient_options.rb +14 -4
  90. data/app/models/renalware/pathology/observation_descriptions_by_code_query.rb +1 -1
  91. data/app/models/renalware/pathology/ordered_patient_query.rb +1 -1
  92. data/app/models/renalware/research/study_participant.rb +2 -0
  93. data/app/models/renalware/research/study_participants_query.rb +20 -0
  94. data/app/models/renalware/transplants/registrations/wait_list_query.rb +14 -0
  95. data/app/models/renalware/ukrdc/send_patients.rb +1 -13
  96. data/app/models/renalware/user.rb +4 -1
  97. data/app/policies/renalware/virology/{dasboard_policy.rb → dashboard_policy.rb} +0 -0
  98. data/app/presenters/renalware/letters/letter_presenter.rb +24 -6
  99. data/app/presenters/renalware/transplants/consent_presenter.rb +2 -1
  100. data/app/values/renalware/address.rb +1 -1
  101. data/app/views/renalware/admin/users/_tabs.html.slim +4 -2
  102. data/app/views/renalware/admissions/consults/_table.html.slim +1 -2
  103. data/app/views/renalware/api/ukrdc/patients/_allergies.xml.builder +1 -1
  104. data/app/views/renalware/api/ukrdc/patients/_diagnoses.xml.builder +8 -3
  105. data/app/views/renalware/api/ukrdc/patients/_documents.xml.builder +1 -1
  106. data/app/views/renalware/events/swabs/_list.html.slim +1 -1
  107. data/app/views/renalware/hd/current_profile/_form.html.slim +25 -21
  108. data/app/views/renalware/hd/mdm_patients/_filters.html.slim +9 -4
  109. data/app/views/renalware/letters/letters/_additional_ccs.html.slim +5 -4
  110. data/app/views/renalware/letters/letters/edit.html.slim +1 -0
  111. data/app/views/renalware/letters/letters/new.html.slim +1 -1
  112. data/app/views/renalware/patients/patients/edit.html.slim +2 -2
  113. data/app/views/renalware/renal/registry_preflight_checks/_filters.html.slim +3 -3
  114. data/app/views/renalware/renal/registry_preflight_checks/_table.html.slim +9 -5
  115. data/app/views/renalware/renal/registry_preflight_checks/deaths.html.slim +1 -1
  116. data/app/views/renalware/reporting/report_mailer/daily_summary.html.slim +2 -1
  117. data/app/views/renalware/research/studies/_filters.html.slim +14 -0
  118. data/app/views/renalware/research/studies/index.html.slim +7 -4
  119. data/app/views/renalware/research/study_participants/_filters.html.slim +13 -0
  120. data/app/views/renalware/research/study_participants/_table.html.slim +2 -2
  121. data/app/views/renalware/research/study_participants/create.js.erb +1 -1
  122. data/app/views/renalware/research/study_participants/index.html.slim +4 -1
  123. data/app/views/renalware/research/study_participants/update.js.erb +1 -1
  124. data/app/views/renalware/shared/documents/_year_dated_confirmation_input.html.slim +1 -1
  125. data/app/views/renalware/transplants/wait_lists/show.html.slim +2 -2
  126. data/db/migrate/20181008144324_update_daily_letters_report_view_to_version_2.rb +13 -0
  127. data/db/migrate/20181008145159_create_reporting_daily_ukrdc_view.rb +11 -0
  128. data/db/migrate/20181013115138_update_reporting_daily_pathology_view_to_v2.rb +13 -0
  129. data/db/views/reporting_daily_letters_v02.sql +4 -0
  130. data/db/views/reporting_daily_pathology_v02.sql +18 -0
  131. data/db/views/reporting_daily_ukrdc_v01.sql +2 -0
  132. data/lib/migration_helper.rb +11 -0
  133. data/lib/renalware/version.rb +1 -1
  134. data/lib/sql/{index_case_stmt.rb → indexed_case_stmt.rb} +2 -2
  135. data/lib/tasks/ukrdc.rake +2 -1
  136. data/spec/factories/patients/practices.rb +2 -1
  137. data/spec/factories/patients/primary_care_physicians.rb +1 -1
  138. data/spec/support/pages/admissions/consults_page.rb +26 -0
  139. data/spec/support/pages/page_object.rb +10 -0
  140. data/spec/support/shared_examples/paranoia_examples.rb +2 -2
  141. data/vendor/assets/stylesheets/renalware/balloon.css +383 -0
  142. data/{app/assets/stylesheets/renalware/lib/_select2-foundation5.scss → vendor/assets/stylesheets/renalware/select2-foundation5.css} +180 -78
  143. metadata +26 -37
  144. data/app/models/renalware/clinics/consultant.rb +0 -10
  145. data/app/models/renalware/events/patient_listener.rb +0 -10
  146. data/app/models/renalware/letters/discharge_summary.rb +0 -10
  147. data/app/presenters/renalware/clinical/body_composition_presenter.rb +0 -11
  148. data/app/presenters/renalware/pathology/patient_presenter.rb +0 -13
  149. data/app/presenters/renalware/pathology/requests/global_rule_presenter.rb +0 -15
  150. data/app/views/renalware/events/types/_header.html.slim.dead +0 -4
  151. data/app/views/renalware/modalities/descriptions/_header.html.slim.dead +0 -5
  152. data/app/views/renalware/transplants/mdm_patients/_filters.html.slim.dead +0 -8
  153. data/config/locales/renalware/reporting/reporting_daily.en.yml +0 -7
@@ -1,8 +1,8 @@
1
1
  .letter-wrapper {
2
- &.draft, &.pendingreview {
2
+ &.draft,
3
+ &.pendingreview {
3
4
  background-image: image-url('renalware/draft.jpg');
4
- background-repeat: no-repeat;
5
5
  background-position: center center;
6
+ background-repeat: no-repeat;
6
7
  }
7
8
  }
8
-
@@ -6,10 +6,9 @@ module Renalware
6
6
  before_action :load_patient
7
7
 
8
8
  def show
9
- assessment = patient.assessments.find(params[:id])
10
9
  render locals: {
11
10
  patient: patient,
12
- assessment: AssessmentPresenter.new(assessment)
11
+ assessment: AssessmentPresenter.new(find_assessement)
13
12
  }
14
13
  end
15
14
 
@@ -21,7 +20,7 @@ module Renalware
21
20
  def create
22
21
  assessment = patient.assessments.new(assessment_params)
23
22
 
24
- if assessment.save
23
+ if assessment.save_by(current_user)
25
24
  redirect_to patient_accesses_dashboard_path(patient),
26
25
  notice: t(".success", model_name: "Access assessment")
27
26
  else
@@ -31,14 +30,13 @@ module Renalware
31
30
  end
32
31
 
33
32
  def edit
34
- assessment = patient.assessments.find(params[:id])
35
- render_edit(assessment)
33
+ render_edit(find_assessement)
36
34
  end
37
35
 
38
36
  def update
39
- assessment = patient.assessments.find(params[:id])
37
+ assessment = find_assessement
40
38
 
41
- if assessment.update(assessment_params)
39
+ if assessment.update_by(current_user, assessment_params)
42
40
  redirect_to patient_accesses_dashboard_path(patient),
43
41
  notice: t(".success", model_name: "Access assessment")
44
42
  else
@@ -49,6 +47,10 @@ module Renalware
49
47
 
50
48
  protected
51
49
 
50
+ def find_assessement
51
+ patient.assessments.find(params[:id])
52
+ end
53
+
52
54
  def render_new(assessment)
53
55
  render :new, locals: { patient: patient, assessment: assessment }
54
56
  end
@@ -58,10 +60,7 @@ module Renalware
58
60
  end
59
61
 
60
62
  def assessment_params
61
- params
62
- .require(:accesses_assessment)
63
- .permit(attributes)
64
- .merge(document: document_attributes, by: current_user)
63
+ params.require(:accesses_assessment).permit(attributes)
65
64
  end
66
65
 
67
66
  def attributes
@@ -69,16 +68,10 @@ module Renalware
69
68
  :performed_on, :first_used_on, :failed_on,
70
69
  :side, :type_id,
71
70
  :catheter_make, :catheter_lot_no,
72
- :performed_by, :notes, :outcome,
73
- document: []
71
+ :performed_by, :notes, :outcome, :comments,
72
+ document: {}
74
73
  ]
75
74
  end
76
-
77
- def document_attributes
78
- params
79
- .require(:accesses_assessment)
80
- .fetch(:document, nil).try(:permit!)
81
- end
82
75
  end
83
76
  end
84
77
  end
@@ -9,6 +9,8 @@ module Renalware
9
9
 
10
10
  before_action :set_paper_trail_whodunnit
11
11
  after_action :verify_authorized
12
+ # has_user_timed_out is defined on SessionTimeoutController
13
+ # Perhaps we should define #has_user_timed_out here and override in SessionTimeoutController?
12
14
  after_action :track_action, except: [:has_user_timed_out]
13
15
 
14
16
  rescue_from Pundit::NotAuthorizedError, with: :user_not_authorized
@@ -22,7 +22,7 @@ module Renalware
22
22
  def create
23
23
  event = new_event_for_patient(event_params)
24
24
 
25
- if event.save
25
+ if event.save_by(current_user)
26
26
  redirect_to return_url, notice: t(".success", model_name: "event")
27
27
  else
28
28
  flash.now[:error] = t(".failed", model_name: "event")
@@ -56,7 +56,7 @@ module Renalware
56
56
 
57
57
  def update
58
58
  event = load_and_authorize_event_for_edit_or_update
59
- if event.update(event_params)
59
+ if event.update_by(current_user, event_params)
60
60
  redirect_to return_url, notice: t(".success", model_name: "event")
61
61
  else
62
62
  flash.now[:error] = failed_msg_for("event type")
@@ -131,15 +131,16 @@ module Renalware
131
131
  end
132
132
 
133
133
  def event_params
134
- params.require(:events_event)
135
- .permit(:event_type_id, :date_time, :description, :notes,
136
- :disable_selection_of_event_type, document: [])
137
- .merge!(document: document_attributes)
138
- .merge!(by: current_user)
139
- end
140
-
141
- def document_attributes
142
- params.require(:events_event).fetch(:document, nil).try(:permit!)
134
+ params
135
+ .require(:events_event)
136
+ .permit(
137
+ :event_type_id,
138
+ :date_time,
139
+ :description,
140
+ :notes,
141
+ :disable_selection_of_event_type,
142
+ document: {}
143
+ )
143
144
  end
144
145
 
145
146
  def new_event_for_patient(params = {})
@@ -58,7 +58,7 @@ module Renalware
58
58
  params
59
59
  .require(:hd_profile)
60
60
  .permit(attributes)
61
- .merge(document: document_attributes, by: current_user)
61
+ .to_h.merge(by: current_user)
62
62
  end
63
63
 
64
64
  def attributes
@@ -66,15 +66,9 @@ module Renalware
66
66
  :schedule_definition_id, :other_schedule, :hospital_unit_id, :dialysate_id,
67
67
  :prescribed_time, :prescribed_on, :prescriber_id,
68
68
  :named_nurse_id, :transport_decider_id,
69
- document: []
69
+ document: {}
70
70
  ]
71
71
  end
72
-
73
- def document_attributes
74
- params
75
- .require(:hd_profile)
76
- .fetch(:document, nil).try(:permit!)
77
- end
78
72
  end
79
73
  end
80
74
  end
@@ -6,7 +6,7 @@ module Renalware
6
6
  module HD
7
7
  class MDMPatientsController < Renalware::MDMPatientsController
8
8
  def index
9
- filter_form = HD::MDMPatientsForm.new(filter_form_params)
9
+ filter_form = form_object_class.new(filter_form_params)
10
10
 
11
11
  query = HD::MDMPatientsQuery.new(
12
12
  params: filter_form.ransacked_parameters.merge(query_params).with_indifferent_access
@@ -21,12 +21,18 @@ module Renalware
21
21
 
22
22
  private
23
23
 
24
+ # Permit all attributes on the filter form object. Slightly messy
24
25
  def filter_form_params
25
- params.fetch(:filter, {}).permit!
26
+ params.fetch(:filter, {}).permit(form_object_class.permittable_attributes)
26
27
  end
27
28
 
29
+ def form_object_class
30
+ Renalware::HD::MDMPatientsForm
31
+ end
32
+
33
+ # Ransack params use for column sorting
28
34
  def query_params
29
- params.fetch(:q, {}).permit!
35
+ params.fetch(:q, {}).permit(:s)
30
36
  end
31
37
 
32
38
  def render_index(filter_form:, **args)
@@ -54,11 +54,6 @@ module Renalware
54
54
  )
55
55
  end
56
56
 
57
- # def filter_receipts(receipts, search_form)
58
- # matching_patients = Patients::SearchQuery.new(term: search_form.term).call
59
- # receipts.joins(letter: [:patient]).merge(matching_patients)
60
- # end
61
-
62
57
  def search_term
63
58
  params.fetch(:patient_search, {}).fetch(:term, nil)
64
59
  end
@@ -210,12 +210,6 @@ module Renalware
210
210
  ]
211
211
  end
212
212
 
213
- # def electronic_receipts_attributes
214
- # [
215
- # :recipient_id
216
- # ]
217
- # end
218
-
219
213
  def address_attributes
220
214
  [
221
215
  :id, :name, :organisation_name, :street_1, :street_2, :street_3, :town, :county,
@@ -33,14 +33,7 @@ module Renalware
33
33
  end
34
34
 
35
35
  def profile_params
36
- params
37
- .require(:low_clearance_profile)
38
- .permit(document: [])
39
- .merge(document: document_attributes)
40
- end
41
-
42
- def document_attributes
43
- params.require(:low_clearance_profile)[:document]&.permit!
36
+ params.require(:low_clearance_profile).permit(document: {})
44
37
  end
45
38
  end
46
39
  end
@@ -36,7 +36,7 @@ module Renalware
36
36
  patient = Patient.new(patient_params)
37
37
  authorize patient
38
38
 
39
- if patient.save
39
+ if patient.save_by(current_user)
40
40
  # Reload in order to let pg generate the secure id
41
41
  redirect_to_patient_demographics(patient.reload)
42
42
  else
@@ -52,7 +52,7 @@ module Renalware
52
52
 
53
53
  def update
54
54
  authorize patient
55
- if patient.update(patient_params)
55
+ if patient.update_by(current_user, patient_params)
56
56
  redirect_to_patient_demographics(patient)
57
57
  else
58
58
  flash.now[:error] = t(".failed", model_name: "patient")
@@ -81,11 +81,7 @@ module Renalware
81
81
  end
82
82
 
83
83
  def patient_params
84
- params
85
- .require(:patient)
86
- .permit(patient_attributes)
87
- .merge(document: document_attributes)
88
- .merge(by: current_user)
84
+ params.require(:patient).permit(patient_attributes)
89
85
  end
90
86
 
91
87
  def patient_attributes
@@ -98,7 +94,8 @@ module Renalware
98
94
  :local_patient_id_4, :local_patient_id_5, :external_patient_id,
99
95
  :send_to_renalreg, :send_to_rpv, :renalreg_decision_on, :rpv_decision_on,
100
96
  :renalreg_recorded_by, :rpv_recorded_by,
101
- current_address_attributes: address_params
97
+ current_address_attributes: address_params,
98
+ document: {}
102
99
  ]
103
100
  end
104
101
 
@@ -109,13 +106,6 @@ module Renalware
109
106
  ]
110
107
  end
111
108
 
112
- def document_attributes
113
- params
114
- .require(:patient)
115
- .fetch(:document, nil)
116
- .try(:permit!)
117
- end
118
-
119
109
  def redirect_to_patient_demographics(patient)
120
110
  redirect_to patient, notice: success_msg_for("patient")
121
111
  end
@@ -20,7 +20,7 @@ module Renalware
20
20
  def create
21
21
  assessment = PD::Assessment.for_patient(patient).new(assessment_params)
22
22
  authorize assessment
23
- if assessment.save
23
+ if assessment.save_by(current_user)
24
24
  redirect_to patient_pd_dashboard_path(patient),
25
25
  notice: success_msg_for("assessment")
26
26
  else
@@ -37,7 +37,7 @@ module Renalware
37
37
  def update
38
38
  assessment = find_assessment
39
39
  authorize assessment
40
- if assessment.update(assessment_params)
40
+ if assessment.update_by(current_user, assessment_params)
41
41
  redirect_to patient_pd_dashboard_path(patient),
42
42
  notice: success_msg_for("assessment")
43
43
  else
@@ -52,20 +52,7 @@ module Renalware
52
52
  end
53
53
 
54
54
  def assessment_params
55
- params
56
- .require(:assessment)
57
- .permit(attributes)
58
- .merge(document: document_attributes, by: current_user)
59
- end
60
-
61
- def attributes
62
- [
63
- document: []
64
- ]
65
- end
66
-
67
- def document_attributes
68
- params.require(:assessment).fetch(:document, nil).try(:permit!)
55
+ params.require(:assessment).permit(document: {})
69
56
  end
70
57
  end
71
58
  end
@@ -12,15 +12,15 @@ module Renalware
12
12
  end
13
13
 
14
14
  def new
15
- training_session = PD::TrainingSession.for_patient(patient).new
15
+ training_session = TrainingSession.for_patient(patient).new
16
16
  authorize training_session
17
17
  render locals: { patient: patient, training_session: training_session }
18
18
  end
19
19
 
20
20
  def create
21
- training_session = PD::TrainingSession.for_patient(patient).new(training_session_params)
21
+ training_session = TrainingSession.for_patient(patient).new(training_session_params)
22
22
  authorize training_session
23
- if training_session.save
23
+ if training_session.save_by(current_user)
24
24
  redirect_to patient_pd_dashboard_path(patient),
25
25
  notice: success_msg_for("training_session")
26
26
  else
@@ -37,7 +37,7 @@ module Renalware
37
37
  def update
38
38
  training_session = find_training_session
39
39
  authorize training_session
40
- if training_session.update(training_session_params)
40
+ if training_session.update_by(current_user, training_session_params)
41
41
  redirect_to patient_pd_dashboard_path(patient),
42
42
  notice: success_msg_for("training_session")
43
43
  else
@@ -48,27 +48,13 @@ module Renalware
48
48
  private
49
49
 
50
50
  def find_training_session
51
- PD::TrainingSession.for_patient(patient).find(params[:id])
51
+ TrainingSession.for_patient(patient).find(params[:id])
52
52
  end
53
53
 
54
54
  def training_session_params
55
55
  params
56
56
  .require(:training_session)
57
- .permit(training_session_attributes)
58
- .merge(document: document_attributes, by: current_user)
59
- end
60
-
61
- def training_session_attributes
62
- [
63
- :training_site_id, :training_type_id
64
- ]
65
- end
66
-
67
- def document_attributes
68
- params
69
- .require(:training_session)
70
- .fetch(:document, nil)
71
- .try(:permit!)
57
+ .permit(:training_site_id, :training_type_id, document: {})
72
58
  end
73
59
  end
74
60
  end
@@ -44,9 +44,8 @@ module Renalware
44
44
  .permit(
45
45
  :esrf_on, :first_seen_on, :prd_description_id, :weight_at_esrf,
46
46
  :modality_at_esrf, :comorbidities_updated_on,
47
- address_at_diagnosis_attributes: address_params
47
+ address_at_diagnosis_attributes: address_params, document: {}
48
48
  )
49
- .merge(document: document_attributes)
50
49
  end
51
50
 
52
51
  def address_params
@@ -59,13 +58,6 @@ module Renalware
59
58
  def find_profile
60
59
  patient.profile || patient.build_profile
61
60
  end
62
-
63
- def document_attributes
64
- params
65
- .require(:renal_profile)
66
- .fetch(:document, nil)
67
- .try(:permit!)
68
- end
69
61
  end
70
62
  end
71
63
  end
@@ -8,9 +8,10 @@ module Renalware
8
8
  include Renalware::Concerns::Pageable
9
9
 
10
10
  def index
11
- studies = Study.ordered.page(page).per(per_page)
11
+ query = Study.ordered.ransack(params[:q])
12
+ studies = query.result.page(page).per(per_page)
12
13
  authorize studies
13
- render locals: { studies: studies }
14
+ render locals: { studies: studies, query: query }
14
15
  end
15
16
 
16
17
  def new
@@ -9,7 +9,7 @@ module Renalware
9
9
 
10
10
  def index
11
11
  authorize StudyParticipant, :index?
12
- render locals: { study: study, participants: participants }
12
+ render_current_action_with_locals
13
13
  end
14
14
 
15
15
  def show
@@ -23,7 +23,7 @@ module Renalware
23
23
  authorize participant
24
24
 
25
25
  if participant.save
26
- render locals: { study: study, participants: participants }
26
+ render_current_action_with_locals
27
27
  else
28
28
  render_new(participant)
29
29
  end
@@ -50,7 +50,7 @@ module Renalware
50
50
  def update
51
51
  participant = find_and_authorise_participant
52
52
  if participant.update(participant_params_for_update)
53
- render locals: { study: study, participants: participants }
53
+ render_current_action_with_locals
54
54
  else
55
55
  render_edit(participant)
56
56
  end
@@ -70,6 +70,12 @@ module Renalware
70
70
  render :new, locals: { participant: participant }, layout: false
71
71
  end
72
72
 
73
+ def render_current_action_with_locals
74
+ query = StudyParticipantsQuery.new(study: study, options: params[:q])
75
+ participants = query.call.page(page).per(per_page)
76
+ render locals: { study: study, participants: participants, query: query.search }
77
+ end
78
+
73
79
  def study
74
80
  @study ||= Study.find(params[:study_id])
75
81
  end