-from django.forms.fields import CharField
+from django.forms.fields import CharField, BooleanField
from django.forms.widgets import Textarea
+from django.forms.models import ModelMultipleChoiceField
from threadedcomments.forms import ThreadedCommentForm
from xerxes.tools.forms import ContextModelForm
+from xerxes.tools.widgets import DropDownMultiple
from models import Influence, Character
#
class AdminInfluenceCommentForm(ThreadedCommentForm):
comment = CharField(widget=Textarea(attrs={'cols' : 80}))
+ is_public = BooleanField(required=False, initial=False)
def __init__(self, *args, **kwargs):
super(AdminInfluenceCommentForm, self).__init__(*args, **kwargs)
raise Exception("Unsupported configuration")
class InfluenceForm(ContextModelForm):
+ # Manually define this field so we can select the DropDownMultiple
+ # widget. However, we leave the queryset empty, which characters can
+ # be selected depends on the logged in user and should be set by
+ # setting the choices property in the view.
+ other_characters = ModelMultipleChoiceField(queryset=Character.objects.none(), widget=DropDownMultiple)
class Meta:
model = Influence
fields = ('initiator', 'summary', 'other_characters', 'other_contacts', 'description')