31 lines
936 B
Python
31 lines
936 B
Python
from django import forms
|
|
|
|
from . import models
|
|
|
|
|
|
class GroupAddMembersForm(forms.ModelForm):
|
|
def __init__(self, *args, **kwargs):
|
|
super().__init__(*args, **kwargs)
|
|
self.fields["members"].queryset = self.fields["members"].queryset.exclude(
|
|
id=self.instance.owner.id
|
|
)
|
|
|
|
class Meta:
|
|
model = models.Group
|
|
fields = ["members"]
|
|
|
|
|
|
class MusikGameForm(forms.ModelForm):
|
|
class Meta:
|
|
model = models.MusikGame
|
|
fields = ["players", "n"]
|
|
widgets = {
|
|
"players": forms.CheckboxSelectMultiple,
|
|
}
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
group = models.Group.objects.get(pk=kwargs.pop("group", None))
|
|
players = group.members.all() | models.User.objects.filter(id=group.owner.id)
|
|
kwargs["initial"].setdefault("players", players)
|
|
super().__init__(*args, **kwargs)
|
|
self.fields["players"].queryset = players
|