From 3d25fd032e164b68078a663ce6eb47c112438581 Mon Sep 17 00:00:00 2001 From: Malaber <32635600+Malaber@users.noreply.github.com> Date: Tue, 11 Jun 2019 11:32:44 +0200 Subject: [PATCH] Ignore validity of matching params if only playoff_teams_amount changed If only playoff_teams_amount changed, the other two will be overwritten anyways. --- app/controllers/tournaments_controller.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/controllers/tournaments_controller.rb b/app/controllers/tournaments_controller.rb index c388772..37d376d 100644 --- a/app/controllers/tournaments_controller.rb +++ b/app/controllers/tournaments_controller.rb @@ -115,11 +115,20 @@ class TournamentsController < ApplicationController render json: { error: 'Invalid teams array' }, status: :unprocessable_entity end + def only_playoff_teams_amount_changed + params['playoff_teams_amount'] && + params['instant_finalists_amount'].nil? && + params['intermediate_round_participants_amount'].nil? + end + def validate_update_params + return if only_playoff_teams_amount_changed + playoff_teams_amount = params['playoff_teams_amount'] || @tournament.playoff_teams_amount instant_finalists_amount = params['instant_finalists_amount'] || @tournament.instant_finalists_amount intermediate_round_participants_amount = params['intermediate_round_participants_amount'] || - @tournament.intermediate_round_participants_amount + @tournament.intermediate_round_participants_amount + return if instant_finalists_amount + (intermediate_round_participants_amount / 2) == playoff_teams_amount