def test_adding_slug(self): data = { "title": "test post title", "author": self.user, "body": "test body", "pub_date_0": "2010-12-21", "pub_date_1": "13:00:00", "blogs": [self.blog.id], } form = PostForm(data) self.assertTrue(form.is_valid()) form.instance.author = self.user form.save() post = Post.objects.get(slug="test-post-title")
def test_slug_uniqueness(self): data = { "title": "test post title", "author": self.user, "body": "test body", "pub_date_0": "2010-12-21", "pub_date_1": "13:00:00", "blogs": [self.blog.id], } form = PostForm(data) form.instance.author = self.user form.save() data["title"] = "test.-post title" data["pub_date_1"] = "11:50:00" form = PostForm(data) self.assertFalse(form.is_valid()) self.assertEqual(form.errors["title"], ["Title must be unique for date."])
def edit_blog_post(request, **kwargs): username = kwargs.get('author') if username: # a username kwarg implies that the URL is for an existing post, # i.e. this is an update, not an insert author = get_object_or_404(User, username=username) if not author == request.user and not request.user.is_superuser: raise Http404 instance = _get_post_or_404(author, kwargs.get('year'), kwargs.get('month'), kwargs.get('day'), kwargs.get('slug')) else: instance = None if request.method == 'POST': post_form = PostForm(request.POST, instance=instance) if post_form.is_valid(): if not instance: post_form.instance.author = request.user post = post_form.save() return HttpResponseRedirect(post.get_absolute_url()) else: post_form = PostForm(instance=instance) return render_to_response('dogood/post_edit.html', {'post_form': post_form}, RequestContext(request))