Merge branch 'production'
[matthijs/projects/xerxes.git] / influences / forms.py
index a060368380e41b1eb1fd3cfed39c965b7d2108c9..db825cc018362760833c0c2e74a44a11c582e8e4 100644 (file)
@@ -1,7 +1,9 @@
 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
 
 #
@@ -66,12 +68,17 @@ def _get_influence_comment_form(allow_markup, allow_public, allow_private):
         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 = ('character', 'contact', 'summary', 'description')
+        fields = ('initiator', 'summary', 'other_characters', 'other_contacts', 'description')
 
 class CharacterForm(ContextModelForm):
     class Meta:
         model = Character
-        fields = ('name')
+        fields = ('name', 'type')