def get_edit_form(): """ Returns a (new) comment edit form object """ if django_comments.get_comment_app_name() != django_comments.DEFAULT_COMMENTS_APP and \ hasattr(django_comments.get_comment_app(), "get_edit_form"): return django_comments.get_comment_app().get_edit_form() else: return CommentEditForm
def get_edit_modelform(comment): """ Returns the comment ModelForm instance """ if django_comments.get_comment_app_name() != django_comments.DEFAULT_COMMENTS_APP and \ hasattr(django_comments.get_comment_app(), "get_edit_modelform"): return django_comments.get_comment_app().get_edit_modelform() else: return CommentEditForm(instance=comment)
def get_edit_form_target(comment): """ Returns the target URL for the comment edit form submission view. """ if django_comments.get_comment_app_name() != django_comments.DEFAULT_COMMENTS_APP and \ hasattr(django_comments.get_comment_app(), "get_edit_form_target"): return django_comments.get_comment_app().get_edit_form_target() else: return urlresolvers.reverse("vault.apps.comments_extension.views.moderation.edit", args=(comment.id,))
def get_edit_form_target(comment): """ Returns the target URL for the comment edit form submission view. """ from comments_extension.forms import CommentEditForm if django_comments.get_comment_app_name() != django_comments.DEFAULT_COMMENTS_APP and \ hasattr(django_comments.get_comment_app(), "get_edit_form_target"): return django_comments.get_comment_app().get_edit_form_target() else: return reverse("comments_extension:comments-edit", args=(comment.id, ))
def get_edit_form_target(comment): """ Returns the target URL for the comment edit form submission view. """ if django_comments.get_comment_app_name() != django_comments.DEFAULT_COMMENTS_APP and \ hasattr(django_comments.get_comment_app(), "get_edit_form_target"): return django_comments.get_comment_app().get_edit_form_target() else: return urlresolvers.reverse("comments_extension.views.moderation.edit", args=(comment.id, ))
def test_zinnia_trackback(self): # Clear the cache of user flagger to avoid error on MySQL get_user_flagger.cache_clear() # Disable spam-checkers import zinnia.spam_checker original_scb = zinnia.spam_checker.SPAM_CHECKER_BACKENDS zinnia.spam_checker.SPAM_CHECKER_BACKENDS = [] response = self.client.post('/trackback/404/') trackback_url = '/trackback/%s/' % self.first_entry.pk self.assertEqual(response.status_code, 404) self.assertEqual(self.client.post(trackback_url).status_code, 301) self.first_entry.trackback_enabled = False self.first_entry.save() self.assertEqual(self.first_entry.trackback_count, 0) response = self.client.post(trackback_url, {'url': 'http://example.com'}) self.assertEqual(response['Content-Type'], 'text/xml') self.assertEqual(response.context['error'], 'Trackback is not enabled for Test 1') self.first_entry.trackback_enabled = True self.first_entry.save() connect_discussion_signals() get_user_flagger() # Memoize user flagger for stable query number if comments.get_comment_app_name() == comments.DEFAULT_COMMENTS_APP: # If we are using the default comment app, # we can count the database queries executed. with self.assertNumQueries(8): response = self.client.post(trackback_url, {'url': 'http://example.com'}) else: response = self.client.post(trackback_url, {'url': 'http://example.com'}) self.assertEqual(response['Content-Type'], 'text/xml') self.assertEqual('error' in response.context, False) disconnect_discussion_signals() entry = Entry.objects.get(pk=self.first_entry.pk) self.assertEqual(entry.trackback_count, 1) response = self.client.post(trackback_url, {'url': 'http://example.com'}) self.assertEqual(response.context['error'], 'Trackback is already registered') zinnia.spam_checker.SPAM_CHECKER_BACKENDS = original_scb
def test_zinnia_trackback(self): # Clean the memoization of user flagger to avoid error on MySQL try: del user_flagger_[()] except KeyError: pass self.inhibit_templates('zinnia/entry_trackback.xml', '404.html') response = self.client.post('/trackback/404/') trackback_url = '/trackback/%s/' % self.first_entry.pk self.assertEqual(response.status_code, 404) self.assertEqual(self.client.post(trackback_url).status_code, 301) self.first_entry.trackback_enabled = False self.first_entry.save() self.assertEqual(self.first_entry.trackback_count, 0) response = self.client.post(trackback_url, {'url': 'http://example.com'}) self.assertEqual(response['Content-Type'], 'text/xml') self.assertEqual(response.context['error'], 'Trackback is not enabled for Test 1') self.first_entry.trackback_enabled = True self.first_entry.save() connect_discussion_signals() get_user_flagger() # Memoize user flagger for stable query number if comments.get_comment_app_name() == comments.DEFAULT_COMMENTS_APP: # If we are using the default comment app, # we can count the database queries executed. with self.assertNumQueries(8): response = self.client.post(trackback_url, {'url': 'http://example.com'}) else: response = self.client.post(trackback_url, {'url': 'http://example.com'}) self.assertEqual(response['Content-Type'], 'text/xml') self.assertEqual('error' in response.context, False) disconnect_discussion_signals() entry = Entry.objects.get(pk=self.first_entry.pk) self.assertEqual(entry.trackback_count, 1) response = self.client.post(trackback_url, {'url': 'http://example.com'}) self.assertEqual(response.context['error'], 'Trackback is already registered')