Fix Template to use last session data in Block

This commit is contained in:
Cutty 2026-03-19 14:48:55 -06:00
parent 014ccacb46
commit 209359043e
2 changed files with 28 additions and 5 deletions

View file

@ -155,6 +155,10 @@
const tbody = document.getElementById('activeTableBody');
tbody.innerHTML = '';
// Get current template data to seed values
const templateName = document.getElementById('templateSelect').value;
const templateData = templates[templateName] || [];
const selects = [
{ el: document.getElementById('primarySelect'), group: 'Primary' },
{ el: document.getElementById('secondarySelect'), group: 'Secondary' },
@ -167,15 +171,23 @@
for (let set = 1; set <= 4; set++) {
selects.forEach(s => {
const opt = s.el.options[s.el.selectedIndex];
const exName = s.el.value;
// Look for existing data in the template for this exercise/set
const match = templateData.find(row => row.exercise === exName && row.set === set);
const rReps = match ? match.reps : 0;
const rWeight = match ? match.weight : 0;
const rNotes = match ? (match.notes || '') : '';
const row = `
<tr>
<td>${s.el.value}<input type="hidden" class="d-ex" value="${s.el.value}"></td>
<td>${exName}<input type="hidden" class="d-ex" value="${exName}"></td>
<td>${s.group}<input type="hidden" class="d-gr" value="${s.group}">
<input type="hidden" class="d-ty" value="${opt.dataset.type}"></td>
<td>${set}<input type="hidden" class="d-st" value="${set}"></td>
<td><input type="number" class="table-input d-rp" value="0"></td>
<td><input type="number" class="table-input d-wt" step="0.5" value="0"></td>
<td><input type="text" class="table-input d-nt" placeholder="Notes"></td>
<td><input type="number" class="table-input d-rp" value="${rReps}"></td>
<td><input type="number" class="table-input d-wt" step="0.5" value="${rWeight}"></td>
<td><input type="text" class="table-input d-nt" value="${rNotes}" placeholder="Notes"></td>
</tr>`;
tbody.insertAdjacentHTML('beforeend', row);
});

View file

@ -3,6 +3,7 @@ from django.db import transaction
from .models import Exercise, Workout, ChestTemplate, BackTemplate, LegsTemplate
import json
from datetime import date
from django.core.serializers.json import DjangoJSONEncoder
def workout_tracker(request):
template_models = {
@ -50,4 +51,14 @@ def workout_tracker(request):
# GET: Fetch exercises for dropdowns
exercises = list(Exercise.objects.values('exercise', 'type', 'group'))
return render(request, 'tracker/index.html', {'exercises_json': json.dumps(exercises)})
# Fetch current template data to seed the view
templates_data = {
name: list(model.objects.values())
for name, model in template_models.items()
}
return render(request, 'tracker/index.html', {
'exercises_json': json.dumps(exercises),
'templates_json': json.dumps(templates_data, cls=DjangoJSONEncoder)
})