Sha256: a5c400c7706378a31eb5e14c6b9c5854cbcb6e0d01a9450be5acb238c44d1265
Contents?: true
Size: 1.82 KB
Versions: 5
Compression:
Stored size: 1.82 KB
Contents
require_dependency "renalware/hd/base_controller" module Renalware module HD class CurrentProfileController < BaseController before_action :load_patient before_action :load_profile def show render :show, locals: locals end def edit render :edit, locals: locals end def update if update_profile redirect_to patient_hd_dashboard_path(patient), notice: t(".success", model_name: "HD profile") else flash.now[:error] = t(".failed", model_name: "HD profile") render :edit, locals: locals end end private attr_reader :profile def locals { profile: profile_presenter, patient: patient } end def update_profile if profile.persisted? ReviseHDProfile.new(profile).call(profile_params) else profile.update_attributes(profile_params.merge(active: true)) end end def preference_set PreferenceSet.for_patient(patient).first_or_initialize end def profile_presenter ProfilePresenter.new(profile, preference_set: preference_set) end def load_profile @profile = Profile.for_patient(patient).first_or_initialize end def profile_params params .require(:hd_profile) .permit(attributes) .merge(document: document_attributes, by: current_user) end def attributes [ :schedule, :other_schedule, :hospital_unit_id, :prescribed_time, :prescribed_on, :prescriber_id, :named_nurse_id, :transport_decider_id, document: [] ] end def document_attributes params .require(:hd_profile) .fetch(:document, nil).try(:permit!) end end end end
Version data entries
5 entries across 5 versions & 1 rubygems