diff -r 5ff1fc726848 -r c6bca38c1cbf parts/django/tests/regressiontests/views/views.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/parts/django/tests/regressiontests/views/views.py Sat Jan 08 11:20:57 2011 +0530 @@ -0,0 +1,59 @@ +import sys + +from django.http import HttpResponse, HttpResponseRedirect +from django import forms +from django.views.debug import technical_500_response +from django.views.generic.create_update import create_object +from django.core.urlresolvers import get_resolver +from django.shortcuts import render_to_response + +from regressiontests.views import BrokenException, except_args + +from models import Article + + +def index_page(request): + """Dummy index page""" + return HttpResponse('Dummy page') + +def custom_create(request): + """ + Calls create_object generic view with a custom form class. + """ + class SlugChangingArticleForm(forms.ModelForm): + """Custom form class to overwrite the slug.""" + + class Meta: + model = Article + + def save(self, *args, **kwargs): + self.instance.slug = 'some-other-slug' + return super(SlugChangingArticleForm, self).save(*args, **kwargs) + + return create_object(request, + post_save_redirect='/views/create_update/view/article/%(slug)s/', + form_class=SlugChangingArticleForm) + +def raises(request): + try: + raise Exception + except Exception: + return technical_500_response(request, *sys.exc_info()) + +def raises404(request): + resolver = get_resolver(None) + resolver.resolve('') + +def redirect(request): + """ + Forces an HTTP redirect. + """ + return HttpResponseRedirect("target/") + +def view_exception(request, n): + raise BrokenException(except_args[int(n)]) + +def template_exception(request, n): + return render_to_response('debug/template_exception.html', + {'arg': except_args[int(n)]}) +