def post_save(self, form): if form.is_valid() and self.mode != START: if self.label_id != form.cleaned_data.get('label'): if form.cleaned_data.get('label'): labels_dict = Label.objects.get_cached_labels_dict() new_label = labels_dict.get(form.cleaned_data.get('label')) if new_label: label_thread(self.user, self.thread, new_label) else: unlabel_thread(self.user, self.thread)
def action_unlabel(self, request, threads): changed_threads = 0 for thread in threads: if moderation.unlabel_thread(request.user, thread): changed_threads += 1 if changed_threads: message = ungettext('%(changed)d thread label was remoded.', '%(changed)d threads labels were removed.', changed_threads) messages.success(request, message % {'changed': changed_threads}) else: message = _("No threads were unlabeled.") messages.info(request, message)
def action_unlabel(self, request, threads): changed_threads = 0 for thread in threads: if moderation.unlabel_thread(request.user, thread): changed_threads += 1 if changed_threads: message = ungettext( '%(changed)d thread label was removed.', '%(changed)d threads labels were removed.', changed_threads) messages.success(request, message % {'changed': changed_threads}) else: message = _("No threads were unlabeled.") messages.info(request, message)
def test_unlabel_thread(self): """unlabel_thread removes thread label""" label = Label.objects.create(name="Label", slug="label") self.assertTrue(moderation.label_thread(self.user, self.thread, label)) self.reload_thread() self.assertTrue(moderation.unlabel_thread(self.user, self.thread)) self.reload_thread() self.assertIsNone(self.thread.label) self.assertTrue(self.thread.has_events) event = self.thread.event_set.last() self.assertEqual(event.icon, "tag") self.assertIn("removed thread label.", event.message)
def action_unlabel(self, request, thread): moderation.unlabel_thread(request.user, thread) messages.success(request, _("Thread label was removed."))