X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=influences%2Fviews.py;h=184a3a3957271a7a988efac2f56cbedb1c76dcd4;hb=089b685a37fa8ecaecba20e10fa6bdcdfe449886;hp=22f2a3b03005fc4810c354bdedb00e7b7a5c7bb9;hpb=6ae0167b390866b52721793750bb4ae6874c5110;p=matthijs%2Fprojects%2Fxerxes.git diff --git a/influences/views.py b/influences/views.py index 22f2a3b..184a3a3 100644 --- a/influences/views.py +++ b/influences/views.py @@ -3,14 +3,18 @@ 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 django.core.urlresolvers import reverse +from django.http import HttpResponseRedirect from ee.influences.models import Character from ee.influences.models import Influence from ee.tools.forms import ContextModelForm + + class InfluenceForm(ContextModelForm): class Meta: model = Influence - fields = ('character', 'contact', 'description') + fields = ('character', 'contact', 'summary', 'description') class CharacterForm(ContextModelForm): class Meta: @@ -18,8 +22,6 @@ class CharacterForm(ContextModelForm): fields = ('name') def add(request, character_id): - message = None - initial = {} # Get the current user's characters chars = request.user.character_set.all() @@ -31,27 +33,23 @@ def add(request, character_id): f = InfluenceForm(request=request, initial=initial) if (f.is_valid()): - f.save() - message = _("Influence added.") - f = None + influence = f.save() + return HttpResponseRedirect(reverse('influences_influence_detail', args=[influence.id])) # Only allow characters of the current user - if f: - f.fields['character']._set_queryset(chars) + f.fields['character']._set_queryset(chars) - return render_to_response('influences/add.html', {'message' : message, 'form' : f}, RequestContext(request)) + return render_to_response('influences/add.html', {'form' : f}, RequestContext(request)) def addCharacter(request): - message = None f = CharacterForm(request=request) if (f.is_valid()): - c = f.save(commit=False) - c.player = request.user - c.save() - message = _("Character added.") - f = None + character = f.save(commit=False) + character.player = request.user + character.save() + return HttpResponseRedirect(reverse('influences_character_detail', args=[character.id])) - return render_to_response('influences/add_character.html', {'message' : message, 'form' : f}) + return render_to_response('influences/add_character.html', {'form' : f}) def index(request): characters = request.user.character_set.all()