class SessionsController
Public Instance Methods
Source
# File app/controllers/sessions_controller.rb, line 71 def edit @draft_session = DraftSession.new(request_session: session, current_user:) @draft_session.return_to = params[:return_to] @draft_session.read_from!(@session) redirect_to draft_session_path("confirm") end
Source
# File app/controllers/sessions_controller.rb, line 80 def import draft_import = DraftImport.new(request_session: session, current_user:) draft_import.clear_attributes draft_import.update!(location: @session.location, type: "class") steps = draft_import.wizard_steps steps.delete(:type) steps.delete(:location) redirect_to draft_import_path(I18n.t(steps.first, scope: :wicked)) end
Source
# File app/controllers/sessions_controller.rb, line 11 def index authorize Session @programmes = current_user.selected_team.programmes scope = policy_scope(Session).includes(:location, :session_programme_year_groups) sessions = @form.apply(scope) @pagy, @sessions = pagy_array(sessions) @patient_count_by_session_id = patient_counts_for_sessions(@sessions) render layout: "full" end
Source
# File app/controllers/sessions_controller.rb, line 93 def make_in_progress valid_date_range = @session.academic_year.to_academic_year_date_range date = Date.current if date.in?(valid_date_range) @session.update!(dates: (@session.dates + [date]).sort.uniq) redirect_to session_path, flash: { success: "Session is now in progress" } else redirect_to session_path, flash: { error: "Today is not a valid date for this session" } end end
Source
# File app/controllers/sessions_controller.rb, line 28 def new authorize Session @draft_session = DraftSession.new(request_session: session, current_user:) @draft_session.clear_attributes @draft_session.assign_attributes(create_params) if params[:school_id].present? @draft_session.location_id = params[:school_id] @draft_session.return_to = "school" else @draft_session.return_to = "sessions" end @draft_session.save! first_step = params[:school_id].present? ? "programmes" : Wicked::FIRST_STEP redirect_to draft_session_path(first_step) end
Source
# File app/controllers/sessions_controller.rb, line 49 def show respond_to do |format| format.html { render layout: "session" } format.xlsx do filename = if (urn_and_site = @session.location.urn_and_site).present? "#{@session.location.name} (#{urn_and_site})" else @session.location.name end send_data( Reports::OfflineExporter.from_session(@session), filename: "#{filename} - exported on #{Date.current.to_fs(:long)}.xlsx", disposition: "attachment" ) end end end