Sha256: 032a69f4c7f3f1b86d7165e32a126f0d64c1d98d18be7051854b7091376e604d
Contents?: true
Size: 1.41 KB
Versions: 25
Compression:
Stored size: 1.41 KB
Contents
# frozen_string_literal: true require_dependency "renalware/patients" module Renalware module Patients class AlertsController < BaseController # GET html def new alert = Alert.new authorize alert render_form(alert) end # POST js def create alert = Alert.new(alert_params.merge!(by: user, patient: patient)) alert.urgent = alert_params[:urgency] == "urgent" alert.covid_19 = alert_params[:urgency] == "covid_19" authorize alert if alert.save render locals: { patient: patient, alert: alert } else render_form(alert, status: 422) end end # POST js # Idempotent def destroy alert = find_alert if alert.present? authorize alert alert.destroy render locals: { alert: alert } else skip_authorization head :ok end end private def find_alert Alert.find_by(id: params[:id]) end def render_form(alert, status: 200) render :new, locals: { patient: patient, alert: alert }, layout: false, status: status end def user @user ||= Renalware::Patients.cast_user(current_user) end def alert_params params.require(:patients_alert).permit(:notes, :urgency) end end end end
Version data entries
25 entries across 25 versions & 1 rubygems