1 from django.shortcuts import render_to_response
2 from django.shortcuts import get_object_or_404
3 from django.template import RequestContext
4 from django.utils.translation import ugettext as _
5 from django.contrib.auth.models import User
6 from ee.influences.models import Character
7 from ee.influences.models import Influence
8 from ee.tools.forms import ContextModelForm
10 class InfluenceForm(ContextModelForm):
13 fields = ('character', 'contact', 'description')
15 class CharacterForm(ContextModelForm):
20 def add(request, character_id):
24 # Get the current user's characters
25 chars = request.user.character_set.all()
28 initial['character'] = character_id
29 elif (chars.count() == 1):
30 initial['character'] = chars[0].id
32 f = InfluenceForm(request=request, initial=initial)
35 message = _("Influence added.")
38 # Only allow characters of the current user
40 f.fields['character']._set_queryset(chars)
42 return render_to_response('influences/add.html', {'message' : message, 'form' : f}, RequestContext(request))
44 def addCharacter(request):
46 f = CharacterForm(request=request)
48 c = f.save(commit=False)
49 c.player = request.user
51 message = _("Character added.")
54 return render_to_response('influences/add_character.html', {'message' : message, 'form' : f})
57 characters = request.user.character_set.all()
58 influences = Influence.objects.filter(character__in=characters)
59 return render_to_response('influences/index.html', {'characters' : characters, 'influences' : influences}, RequestContext(request))