Templates and Admin personalization
This commit is contained in:
@@ -1,29 +1,55 @@
|
||||
from django.contrib import admin
|
||||
import nested_admin
|
||||
from django import forms
|
||||
from .models import *
|
||||
|
||||
class TrainingForm(forms.ModelForm):
|
||||
model=Training
|
||||
|
||||
def get_form(self, request, obj=None, **kwargs):
|
||||
form = super().get_form(request, obj, **kwargs)
|
||||
form.base_fields['mission'].widget.can_add_related = False
|
||||
form.base_fields['mission'].widget.can_delete_related = False
|
||||
form.base_fields['mission'].widget.can_change_related = False
|
||||
print("pluto")
|
||||
return form
|
||||
|
||||
# Register your models here.
|
||||
class HourBuildingLegInline(nested_admin.NestedTabularInline):
|
||||
model = HourBuildingLeg
|
||||
extra = 1
|
||||
extra = 0
|
||||
fk_name = 'hb'
|
||||
|
||||
class HourBuildingInLine(nested_admin.NestedTabularInline):
|
||||
model = HourBuilding
|
||||
extra = 1
|
||||
extra = 0
|
||||
inlines = [HourBuildingLegInline]
|
||||
fk_name = 'weekpref'
|
||||
verbose_name_plural = "Hour Building"
|
||||
max_num = 7
|
||||
|
||||
class TrainingInLIne(nested_admin.NestedTabularInline):
|
||||
model = Training
|
||||
extra = 0
|
||||
form = TrainingForm
|
||||
extra = 1
|
||||
fk_name = 'weekpref'
|
||||
verbose_name_plural = "Training Missions"
|
||||
max_num = 7
|
||||
|
||||
def get_formset(self, request, obj=None, **kwargs):
|
||||
formset = super(TrainingInLIne, self).get_formset(request, obj=None, **kwargs)
|
||||
return formset
|
||||
|
||||
class WeekPreferenceAdmin(nested_admin.NestedModelAdmin):
|
||||
list_display = ('week', 'student')
|
||||
list_filter = ['week', 'student']
|
||||
inlines = [TrainingInLIne, HourBuildingInLine]
|
||||
|
||||
def get_form(self, request, obj=None, **kwargs):
|
||||
form: forms.Form = super().get_form(request, obj, **kwargs)
|
||||
form.base_fields['student'].widget.can_add_related = False
|
||||
form.base_fields['student'].widget.can_delete_related = False
|
||||
form.base_fields['student'].widget.can_change_related = False
|
||||
return form
|
||||
|
||||
class StudentAdmin(admin.ModelAdmin):
|
||||
list_display = ("surname", "name", "course", "email","active")
|
||||
list_filter = ["course", "active"]
|
||||
|
||||
@@ -75,14 +75,16 @@ class WeekPreference(models.Model):
|
||||
null=False,
|
||||
db_index=True,
|
||||
default=ExtractWeek(Now()) + 1,
|
||||
auto_created=True
|
||||
auto_created=True,
|
||||
verbose_name="Week Number"
|
||||
)
|
||||
|
||||
student = models.ForeignKey(
|
||||
Student,
|
||||
null=False,
|
||||
db_index=True,
|
||||
on_delete=models.DO_NOTHING
|
||||
on_delete=models.DO_NOTHING,
|
||||
verbose_name="Student Selection"
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
@@ -105,12 +107,14 @@ class MissionProfile(models.Model):
|
||||
mtype = models.CharField(
|
||||
null=False,
|
||||
default=MissionType.PPL,
|
||||
choices=MissionType
|
||||
choices=MissionType,
|
||||
verbose_name="Mission Type"
|
||||
)
|
||||
|
||||
mnum = models.PositiveSmallIntegerField(
|
||||
null=True,
|
||||
default=0
|
||||
default=0,
|
||||
verbose_name="Mission Number"
|
||||
)
|
||||
|
||||
duration = models.DurationField(
|
||||
|
||||
Reference in New Issue
Block a user