* Mark all model names and field names in influences as translatable strings.
[matthijs/projects/xerxes.git] / influences / views.py
index b13c83e6c3a9a5d1a99613c17196bf52303dc65a..41a1ecbe08cbd3db595a3e9b69344a47f80136ab 100644 (file)
@@ -1,6 +1,7 @@
 from django.shortcuts import render_to_response
 from django.shortcuts import get_object_or_404
 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 +20,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})
 
 def addCharacter(request):
     message = None
@@ -45,3 +51,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})