X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=influences%2Fviews.py;h=84719024b46dfc642580a4719461936253370aa4;hb=6c987b4168f557922f90e13dc9771baf4af0309d;hp=1b988dd43227baae8d1b731169ff6e9f21d25ecd;hpb=344b9437954ac8e0846c4932c05479704b0265e9;p=matthijs%2Fprojects%2Fxerxes.git diff --git a/influences/views.py b/influences/views.py index 1b988dd..8471902 100644 --- a/influences/views.py +++ b/influences/views.py @@ -1,28 +1,47 @@ from django.shortcuts import render_to_response from django.shortcuts import get_object_or_404 +from django.utils.translation import ugettext as _ from ee.influences.models import Character from ee.influences.models import Influence -from django import newforms as forms +from ee.tools.forms import ContextModelForm -class InfluenceForm(forms.ModelForm): - class Meta: - model = Influence - fields = ('character', 'contact', 'description') +class InfluenceForm(ContextModelForm): + class Meta: + model = Influence + fields = ('character', 'contact', 'description') + +class CharacterForm(ContextModelForm): + class Meta: + model = Character + fields = ('name') def add(request, character_id): - message = None - - if (request.method == "POST"): - f = InfluenceForm(request.POST) - if (f.is_valid()): - f.save() - message = "Influence added" - f = None - else: - f = InfluenceForm() - - if f: - # Only allow characters of the current user - f.fields['character']._set_queryset(request.user.character_set.all()) - - return render_to_response('influences/character_addinfluence.html', {'message' : message, 'form' : f}) + message = None + + initial = {} + if (character_id): + initial['character'] = character_id + + f = InfluenceForm(request=request, initial=initial) + if (f.is_valid()): + f.save() + message = _("Influence added.") + f = None + + if f: + # Only allow characters of the current user + f.fields['character']._set_queryset(request.user.character_set.all()) + + return render_to_response('influences/add.html', {'message' : message, 'form' : f}) + +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 + + return render_to_response('influences/add_character.html', {'message' : message, 'form' : f})