First commit of claude's rework in django + vanillajs fronted

This commit is contained in:
Gérald Colangelo
2026-04-02 11:24:30 +02:00
parent 7710a876df
commit fde92f92db
163 changed files with 84852 additions and 15 deletions

45
apps/tools/admin.py Normal file
View File

@@ -0,0 +1,45 @@
from django.contrib import admin
from django.utils.translation import gettext_lazy as _
from .models import ChronographAnalysis, Shot, ShotGroup
class ShotInline(admin.TabularInline):
model = Shot
extra = 0
readonly_fields = ('shot_number',)
fields = ('shot_number', 'velocity_fps', 'notes')
class ShotGroupInline(admin.TabularInline):
model = ShotGroup
extra = 0
show_change_link = True
fields = ('label', 'distance_m', 'order', 'ammo_batch', 'notes')
raw_id_fields = ('ammo_batch',)
@admin.register(ChronographAnalysis)
class ChronographAnalysisAdmin(admin.ModelAdmin):
list_display = ('name', 'user', 'date', 'created_at')
search_fields = ('name', 'user__email', 'notes')
readonly_fields = ('created_at', 'updated_at')
raw_id_fields = ('user',)
inlines = [ShotGroupInline]
@admin.register(ShotGroup)
class ShotGroupAdmin(admin.ModelAdmin):
list_display = ('label', 'analysis', 'distance_m', 'order', 'ammo_batch')
search_fields = ('label', 'analysis__name')
raw_id_fields = ('analysis', 'ammo_batch')
inlines = [ShotInline]
@admin.register(Shot)
class ShotAdmin(admin.ModelAdmin):
list_display = ('shot_number', 'group', 'velocity_fps', 'notes')
search_fields = ('group__label', 'group__analysis__name')
readonly_fields = ('shot_number',)
raw_id_fields = ('group',)
ordering = ('group', 'shot_number')