a11yist/app/controllers/pages_controller.rb
2024-11-11 04:04:13 +01:00

69 lines
1.5 KiB
Ruby

class PagesController < ApplicationController
before_action :set_page, only: %i[ show edit update destroy ]
before_action :set_report, only: %i[ new create index ]
# GET /pages
def index
@pages = Page.all
end
# GET /pages/1
def show
end
# GET /pages/new
def new
@page = Page.new
@page.report = @report
end
# GET /pages/1/edit
def edit
end
# POST /pages
def create
@page = Page.new(page_params)
@page.report = @report
if @page.save
redirect_to [ @page.report, page_id: @page.id ], notice: "Page was successfully created."
else
render :new, status: :unprocessable_entity
end
end
# PATCH/PUT /pages/1
def update
if @page.update(page_params)
respond_to do |format|
format.turbo_stream
format.html do
redirect_to @page, notice: "Page was successfully updated.", status: :see_other
end
end
else
render :edit, status: :unprocessable_entity
end
end
# DELETE /pages/1
def destroy
@page.destroy!
redirect_to report_url(@page.report), notice: "Page was successfully destroyed.", status: :see_other
end
private
# Use callbacks to share common setup or constraints between actions.
def set_page
@page = Page.find(params[:id])
end
def set_report
@report = Report.find(params[:report_id])
end
# Only allow a list of trusted parameters through.
def page_params
params.require(:page).permit(:position, :path, :url, :notes, :position)
end
end