a11yist/app/controllers/pages_controller.rb

71 lines
1.5 KiB
Ruby
Raw Permalink Normal View History

2024-10-31 23:13:18 +01:00
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
render_modal
2024-10-31 23:13:18 +01:00
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)
2024-11-11 04:04:13 +01:00
respond_to do |format|
format.turbo_stream
format.html do
redirect_to @page, notice: "Page was successfully updated.", status: :see_other
end
end
2024-10-31 23:13:18 +01:00
else
render :edit, status: :unprocessable_entity
end
end
# DELETE /pages/1
def destroy
@page.destroy!
2024-11-11 01:40:04 +01:00
redirect_to report_url(@page.report), notice: "Page was successfully destroyed.", status: :see_other
2024-10-31 23:13:18 +01:00
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
2024-11-01 03:26:46 +01:00
params.require(:page).permit(:position, :path, :url, :notes, :position)
2024-10-31 23:13:18 +01:00
end
end