Files
WerkoutAPI/workout/admin.py

45 lines
1.5 KiB
Python

from django.contrib import admin
from .models import *
from exercise.models import Exercise
from import_export.admin import ImportExportModelAdmin
from superset.models import Superset
# Register your models here.
class WorkoutExerciseInline(admin.StackedInline):
model = WorkoutExercise
ordering = ("pk",)
extra = 0
class SupersetInline(admin.StackedInline):
model = Superset
ordering = ("pk",)
extra = 0
@admin.register(Workout)
class WorkoutAdmin(ImportExportModelAdmin):
search_fields = ['name', 'description', ]
list_display = ("id", "name", "description", "estimated_time", "registered_user", "created_at", "updated_at")
inlines = [
SupersetInline,
]
@admin.register(WorkoutExercise)
class WorkoutExerciseAdmin(admin.ModelAdmin):
list_display = ("workout", "exercise", "weight", "reps", "created_at", "updated_at")
@admin.register(CompletedWorkout)
class CompletedWorkoutAdmin(admin.ModelAdmin):
list_display = ("registered_user", "workout", "workout_start_time", "difficulty", "notes", "total_time", "created_at",)
@admin.register(PlannedWorkout)
class PlannedWorkoutAdmin(admin.ModelAdmin):
def formfield_for_foreignkey(self, db_field, request, **kwargs):
formfield = super().formfield_for_foreignkey(db_field, request, **kwargs)
if db_field.name == "workout":
formfield.queryset = Workout.objects.all().order_by('name')
return formfield
list_display = ("registered_user", "workout", "on_date",)
ordering = ['-on_date']