summaryrefslogtreecommitdiff
path: root/tests/regressiontests/views/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/regressiontests/views/views.py')
-rw-r--r--tests/regressiontests/views/views.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/regressiontests/views/views.py b/tests/regressiontests/views/views.py
index 956432e7d5..b90852189c 100644
--- a/tests/regressiontests/views/views.py
+++ b/tests/regressiontests/views/views.py
@@ -1,5 +1,29 @@
from django.http import HttpResponse
+from django import forms
+from django.views.generic.create_update import create_object
+
+from models import Article
+
def index_page(request):
"""Dummy index page"""
return HttpResponse('<html><body>Dummy page</body></html>')
+
+
+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.cleaned_data['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)