* Add "Under discussion" status for influences.
[matthijs/projects/xerxes.git] / influences / views.py
index b13c83e6c3a9a5d1a99613c17196bf52303dc65a..22f2a3b03005fc4810c354bdedb00e7b7a5c7bb9 100644 (file)
@@ -1,6 +1,8 @@
 from django.shortcuts import render_to_response
 from django.shortcuts import get_object_or_404
+from django.template import RequestContext
 from django.utils.translation import ugettext as _
+from django.contrib.auth.models import User
 from ee.influences.models import Character
 from ee.influences.models import Influence
 from ee.tools.forms import ContextModelForm
@@ -19,20 +21,25 @@ def add(request, character_id):
     message = None
 
     initial = {}
+    # Get the current user's characters
+    chars = request.user.character_set.all()
+
     if (character_id):
         initial['character'] = character_id
+    elif (chars.count() == 1):
+        initial['character'] = chars[0].id
 
     f = InfluenceForm(request=request, initial=initial)
     if (f.is_valid()):
         f.save()
         message = _("Influence added.")
         f = None
-
+     
+    # Only allow characters of the current user
     if f:
-        # Only allow characters of the current user
-        f.fields['character']._set_queryset(request.user.character_set.all())
+        f.fields['character']._set_queryset(chars)
 
-    return render_to_response('influences/character_addinfluence.html', {'message' : message, 'form' : f})
+    return render_to_response('influences/add.html', {'message' : message, 'form' : f}, RequestContext(request))
 
 def addCharacter(request):
     message = None
@@ -45,3 +52,8 @@ def addCharacter(request):
         f = None
 
     return render_to_response('influences/add_character.html', {'message' : message, 'form' : f})
+
+def index(request):
+    characters = request.user.character_set.all()
+    influences = Influence.objects.filter(character__in=characters)
+    return render_to_response('influences/index.html', {'characters' : characters, 'influences' : influences}, RequestContext(request))