Sha256: 22b793a1d999729ecb417b29df10e57cc78304d5a95e240e2315438705e3aaf6
Contents?: true
Size: 1.64 KB
Versions: 2
Compression:
Stored size: 1.64 KB
Contents
# frozen_string_literal: true require_dependency "renalware/clinics" module Renalware module Clinics class AppointmentsController < BaseController include Renalware::Concerns::Pageable def index appointments_query = AppointmentQuery.new(query_params) appointments = appointments_query.call.page(page).per(per_page) authorize appointments render :index, locals: { appointments: appointments, query: appointments_query.search, clinics: Clinic.ordered, users: User.ordered, request_html_form_params: build_params_for_html_form(appointments) } end def new render_new(Appointment.new) end def create appointment = Appointment.new(appointment_params) authorize appointment if appointment.save_by(current_user) redirect_to appointments_path, notice: success_msg_for("Appointment") else render_new(appointment) end end private def render_new(appointment) authorize appointment render :new, locals: { appointment: appointment } end def build_params_for_html_form(appointments) OpenStruct.new( patient_ids: appointments.map(&:patient_id).uniq ) end def query_params params.fetch(:q, {}) end def appointment_params params .require(:clinics_appointment) .permit( :patient_id, :clinic_id, :starts_at, :outcome_notes, :dna_notes, :consultant_id) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
renalware-core-2.1.1 | app/controllers/renalware/clinics/appointments_controller.rb |
renalware-core-2.1.0 | app/controllers/renalware/clinics/appointments_controller.rb |