theseus/app/controllers/public/lsv_controller.rb
2025-06-01 16:16:29 -04:00

32 lines
1.2 KiB
Ruby

module Public
class LSVController < ApplicationController
include Frameable
def show
@lsv = LSV::SLUGS[params[:slug].to_sym]&.find(params[:id])
raise ActiveRecord::RecordNotFound unless @lsv
raise ActiveRecord::RecordNotFound unless @lsv.email == current_public_user&.email || current_user
rescue Norairrecord::RecordNotFoundError
raise ActiveRecord::RecordNotFound
end
def customs_receipt
@msr = LSV::MarketingShipmentRequest.find(params[:id])
raise ActiveRecord::RecordNotFound unless @msr && @msr.email == current_public_user&.email && @msr.country != "US"
rescue Norairrecord::RecordNotFoundError
raise ActiveRecord::RecordNotFound
end
def generate_customs_receipt
@msr = LSV::MarketingShipmentRequest.find(params[:id])
raise ActiveRecord::RecordNotFound unless @msr && @msr.email == current_public_user&.email && @msr.country != "US"
CustomsReceipt::MSRReceiptJob.perform_later(@msr.id)
flash[:success] = "check your email in a little bit!"
return redirect_to show_lsv_path(slug: "msr", id: @msr.id)
rescue Norairrecord::RecordNotFoundError
raise ActiveRecord::RecordNotFound
end
end
end