X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=influences%2Fviews.py;h=1c7edb44753aa0dec03275fc869373a3883930c5;hb=ab54cf88ff3843cb2f7553d0cabfb86d1d380d0b;hp=4450efadc8e863fe825e9e5871d9cb0faf42fca8;hpb=25f8408523048e3734758d970efaf12b1d7157db;p=matthijs%2Fprojects%2Fxerxes.git diff --git a/influences/views.py b/influences/views.py index 4450efa..1c7edb4 100644 --- a/influences/views.py +++ b/influences/views.py @@ -1,23 +1,29 @@ from django.shortcuts import render_to_response from django.shortcuts import get_object_or_404 +from django import newforms as forms +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 -class AddInfluenceForm(forms.Form): - contact = forms.CharField(max_length=255, help_text='Which contact will you ask?') - description = forms.CharField(help_text='What do you want to achieve') +class InfluenceForm(forms.ModelForm): + class Meta: + model = Influence + fields = ('character', 'contact', 'description') -def addinfluence(request, character_id): - character = get_object_or_404(Character, id=character_id) +def add(request, character_id): message = None + if (request.method == "POST"): - f = AddInfluenceForm(request.POST) + f = InfluenceForm(request.POST) if (f.is_valid()): - inf = character.influence_set.create(contact = f.clean_data['contact'], description = f.clean_data['description']) - message = "Influence added" + f.save() + message = _("Influence added.") f = None else: - f = AddInfluenceForm() + 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', {'character' : character, 'message' : message, 'form' : f}) + return render_to_response('influences/character_addinfluence.html', {'message' : message, 'form' : f})