mirror of
https://github.com/System-End/theseus.git
synced 2026-04-19 19:55:10 +00:00
24 lines
No EOL
849 B
Ruby
24 lines
No EOL
849 B
Ruby
module Public
|
|
class PublicIdentifiableController < ApplicationController
|
|
def show
|
|
prefix = params[:public_id].split("!").first&.downcase
|
|
|
|
case prefix
|
|
when "ltr"
|
|
@record = Letter.find_by_public_id!(params[:public_id])
|
|
redirect_to public_letter_path(@record, qr: params[:qr])
|
|
when "pkg"
|
|
@record = Warehouse::Order.find_by_public_id!(params[:public_id])
|
|
redirect_to public_package_path(@record)
|
|
when "bat"
|
|
@record = Batch.find_by_public_id!(params[:public_id])
|
|
redirect_to batch_path(@record)
|
|
else
|
|
raise ActiveRecord::RecordNotFound, "no record found with public_id: #{params[:public_id]}"
|
|
end
|
|
rescue ActiveRecord::RecordNotFound => e
|
|
flash[:alert] = "what are you even looking for..?"
|
|
redirect_to public_root_path
|
|
end
|
|
end
|
|
end |