30 lines
994 B
Ruby
30 lines
994 B
Ruby
module Public
|
|
class TournamentAssignmentsController < WebBaseController
|
|
before_action :require_login!
|
|
before_action :set_tournament
|
|
|
|
def destroy
|
|
Tournaments::Entitlements.new(@club).assert_writable!
|
|
unless @tournament.writable?
|
|
redirect_to public_tournament_path(@tournament, tab: "dirette"),
|
|
alert: t("flash.tournaments.archived_locked")
|
|
return
|
|
end
|
|
assignment = @tournament.broadcast_assignments.find(params[:assignment_id])
|
|
Tournaments::RevokeAssignment.call(assignment: assignment)
|
|
redirect_to public_tournament_path(@tournament, tab: "dirette"),
|
|
notice: t("flash.tournaments.assignment_revoked")
|
|
rescue Tournaments::EntitlementError => e
|
|
redirect_to public_club_billing_path(@club), alert: e.message
|
|
end
|
|
|
|
private
|
|
|
|
def set_tournament
|
|
@tournament = Tournament.find(params[:id])
|
|
@club = @tournament.club
|
|
require_club_owner!(@club)
|
|
end
|
|
end
|
|
end
|