diff --git a/calendars/views.py b/calendars/views.py index 7517165..97e74cb 100644 --- a/calendars/views.py +++ b/calendars/views.py @@ -155,21 +155,28 @@ def record_results(request, game_id): if request.method == 'POST': form = GameResultForm(request.POST, game=game, instance=game_result) if form.is_valid(): - inning_results = {} + home_innings = [] + away_innings = [] for i in range(1, game.number_of_innings + 1): - inning_results[f'inning_{i}'] = { - 'home': form.cleaned_data.get(f'inning_{i}_home'), - 'guest': form.cleaned_data.get(f'inning_{i}_guest'), - } - game_result.inning_results = inning_results + home_innings.append(form.cleaned_data.get(f'inning_{i}_home')) + away_innings.append(form.cleaned_data.get(f'inning_{i}_guest')) + + game_result.inning_results = { + 'home': home_innings, + 'away': away_innings + } game_result.save() return redirect('dashboard') else: initial_data = {} if game_result.inning_results: - for inning, scores in game_result.inning_results.items(): - initial_data[f'{inning}_home'] = scores.get('home') - initial_data[f'{inning}_guest'] = scores.get('guest') + home_innings = game_result.inning_results.get('home', []) + away_innings = game_result.inning_results.get('away', []) + for i in range(game.number_of_innings): + if i < len(home_innings): + initial_data[f'inning_{i+1}_home'] = home_innings[i] + if i < len(away_innings): + initial_data[f'inning_{i+1}_guest'] = away_innings[i] form = GameResultForm(game=game, instance=game_result, initial=initial_data) form_fields_by_inning = [] diff --git a/team_stats/views.py b/team_stats/views.py index 00b1b14..1799251 100644 --- a/team_stats/views.py +++ b/team_stats/views.py @@ -25,10 +25,13 @@ def team_statistics(request, team_id): for game in games: result = game.result + print("DEBUGGER:"+str(result)) - home_score = sum(result.inning_results.get('home', [])) - away_score = sum(result.inning_results.get('away', [])) - + home_innings = [inning for inning in result.inning_results.get('home', []) if isinstance(inning, int)] + away_innings = [inning for inning in result.inning_results.get('away', []) if isinstance(inning, int)] + home_score = sum(home_innings) + away_score = sum(away_innings) + print("HOMEINNING:"+str(home_innings)) if game.is_home_game: team_score = home_score opponent_score = away_score @@ -54,9 +57,8 @@ def team_statistics(request, team_id): else: streak_counter = 1 last_game_result = 'loss' - # Inning Heatmap - team_innings = result.inning_results.get('home' if game.is_home_game else 'away', []) + team_innings = home_innings if game.is_home_game else away_innings for i, runs in enumerate(team_innings): if i + 1 in inning_runs: inning_runs[i + 1] += runs @@ -79,6 +81,7 @@ def team_statistics(request, team_id): else: pythagorean_pct = 0 + context = { 'team': team, 'wins': wins, @@ -90,5 +93,6 @@ def team_statistics(request, team_id): 'pythagorean_pct': pythagorean_pct, 'inning_runs': inning_runs, } + print("DebuggeR:"+str(context)) - return render(request, 'team_stats/team_statistics.html', context) \ No newline at end of file + return render(request, 'team_stats/team_statistics.html', context)