Improve game choices on the session form
This commit is contained in:
parent
89d1bbdd9e
commit
b2b69339b3
|
@ -11,8 +11,13 @@ custom_datetime_widget = forms.DateTimeInput(
|
||||||
autofocus_input_widget = forms.TextInput(attrs={"autofocus": "autofocus"})
|
autofocus_input_widget = forms.TextInput(attrs={"autofocus": "autofocus"})
|
||||||
|
|
||||||
|
|
||||||
|
class GameChoiceField(forms.ModelChoiceField):
|
||||||
|
def label_from_instance(self, obj) -> str:
|
||||||
|
return f"{obj.sort_name} ({obj.platform}, {obj.year_released})"
|
||||||
|
|
||||||
|
|
||||||
class SessionForm(forms.ModelForm):
|
class SessionForm(forms.ModelForm):
|
||||||
game = forms.ModelChoiceField(
|
game = GameChoiceField(
|
||||||
queryset=Game.objects.order_by("sort_name"),
|
queryset=Game.objects.order_by("sort_name"),
|
||||||
widget=forms.Select(attrs={"autofocus": "autofocus"}),
|
widget=forms.Select(attrs={"autofocus": "autofocus"}),
|
||||||
)
|
)
|
||||||
|
@ -36,11 +41,6 @@ class SessionForm(forms.ModelForm):
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class GameChoiceField(forms.ModelMultipleChoiceField):
|
|
||||||
def label_from_instance(self, obj) -> str:
|
|
||||||
return f"{obj.sort_name} ({obj.platform}, {obj.year_released})"
|
|
||||||
|
|
||||||
|
|
||||||
class IncludePlatformSelect(forms.SelectMultiple):
|
class IncludePlatformSelect(forms.SelectMultiple):
|
||||||
def create_option(self, name, value, *args, **kwargs):
|
def create_option(self, name, value, *args, **kwargs):
|
||||||
option = super().create_option(name, value, *args, **kwargs)
|
option = super().create_option(name, value, *args, **kwargs)
|
||||||
|
|
Loading…
Reference in New Issue