Beispiel #1
0
def unwatch_approved(request):
    """Stop watching approved revisions."""
    locale = request.POST.get('locale')
    if locale not in settings.SUMO_LANGUAGES:
        raise Http404

    destroy_watch(Document, None, request.user.email, 'approved', locale)
    return HttpResponseRedirect(reverse('dashboards.localization'))
Beispiel #2
0
def watch_forum(request, document_slug):
    """Watch/unwatch a forum (based on 'watch' POST param)."""
    doc = get_document(document_slug, request)
    if request.POST.get('watch') == 'yes':
        create_watch(Document, doc.id, request.user.email, 'post')
    else:
        destroy_watch(Document, doc.id, request.user.email, 'post')

    return HttpResponseRedirect(reverse('wiki.discuss.threads',
                                        args=[document_slug]))
Beispiel #3
0
def watch_forum(request, forum_slug):
    """Watch/unwatch a forum (based on 'watch' POST param)."""
    forum = get_object_or_404(Forum, slug=forum_slug)
    if not forum.allows_viewing_by(request.user):
        raise Http404

    if request.POST.get("watch") == "yes":
        create_watch(Forum, forum.id, request.user.email, "post")
    else:
        destroy_watch(Forum, forum.id, request.user.email, "post")

    return HttpResponseRedirect(reverse("forums.threads", args=[forum_slug]))
Beispiel #4
0
def watch_thread(request, document_slug, thread_id):
    """Watch/unwatch a thread (based on 'watch' POST param)."""
    doc = get_document(document_slug, request)
    thread = get_object_or_404(Thread, pk=thread_id, document=doc)

    if request.POST.get('watch') == 'yes':
        create_watch(Thread, thread.id, request.user.email, 'reply')
    else:
        destroy_watch(Thread, thread.id, request.user.email, 'reply')

    return HttpResponseRedirect(reverse('wiki.discuss.posts',
                                        args=[document_slug, thread_id]))
Beispiel #5
0
def watch_thread(request, forum_slug, thread_id):
    """Watch/unwatch a thread (based on 'watch' POST param)."""
    forum = get_object_or_404(Forum, slug=forum_slug)
    if not forum.allows_viewing_by(request.user):
        raise Http404

    thread = get_object_or_404(Thread, pk=thread_id, forum=forum)

    if request.POST.get("watch") == "yes":
        create_watch(Thread, thread.id, request.user.email, "reply")
    else:
        destroy_watch(Thread, thread.id, request.user.email, "reply")

    return HttpResponseRedirect(reverse("forums.posts", args=[forum_slug, thread_id]))
Beispiel #6
0
 def test_destroy_watch_not_exist(self):
     """Destroying a non-existent watch should return False."""
     assert not destroy_watch(Thread, 1, '*****@*****.**', 'reply')
Beispiel #7
0
    def test_destroy_watch_exists(self):
        """Destroying a watch should return True, and work."""
        assert destroy_watch(Thread, 1, '*****@*****.**', 'reply')

        w = EventWatch.objects.filter(email='*****@*****.**')
        eq_(0, len(w))
Beispiel #8
0
def unwatch_question(request, question_id):
    """Stop watching a question."""
    question = get_object_or_404(Question, pk=question_id)
    destroy_watch(Question, question.id, request.user.email)
    return HttpResponseRedirect(question.get_absolute_url())
Beispiel #9
0
def unwatch_locale(request):
    """Stop watching a locale for revisions ready for review."""
    destroy_watch(Document, None, request.user.email, 'ready_for_review',
                  request.locale)
    return HttpResponseRedirect(reverse('dashboards.localization'))
Beispiel #10
0
def unwatch_document(request, document_slug):
    """Stop watching a document for edits."""
    document = get_object_or_404(
        Document, locale=request.locale, slug=document_slug)
    destroy_watch(Document, document.id, request.user.email)
    return HttpResponseRedirect(document.get_absolute_url())