Пример #1
0
def new_thread(request, course_slug=None, document_id=None):
    if document_id is not None:
        document = get_object_or_404(Document, id=document_id)
        course = document.course
    else:
        course = get_object_or_404(Course, slug=course_slug)
        document = None

    if request.method == "POST":
        form = NewThreadForm(request.POST)

        if form.is_valid():
            name = form.cleaned_data["name"]
            content = form.cleaned_data["content"]

            thread = Thread.objects.create(user=request.user, name=name, course=course, document=document)
            message = Message.objects.create(user=request.user, thread=thread, text=content)

            placement = {}
            for opt, typecast in Thread.PLACEMENT_OPTS.items():
                if opt in request.POST:
                    placement[opt] = typecast(request.POST[opt])
            if len(placement) > 0:
                thread.placement = json.dumps(placement)
                thread.save()

            actions.follow(request.user, thread, actor_only=False)
            action.send(request.user, verb="a posté", action_object=thread, target=course, markdown=message.text)

            return HttpResponseRedirect(reverse("thread_show", args=[thread.id]) + "#message-" + str(message.id))
    else:
        form = NewThreadForm()

    return render(request, "telepathy/new_thread.html", {"form": form, "course": course})
Пример #2
0
def new_thread(request, parent_id):
    parentNode = get_object_or_404(Node, id=parent_id)

    if request.method == 'POST':
        form = NewThreadForm(request.POST)

        if form.is_valid():
            name = form.cleaned_data['name']
            content = form.cleaned_data['content']

            year = "{}-{}".format(current_year(), current_year() + 1)

            thread = Thread.objects.create(user=request.user, name=name, year=year)
            message = Message.objects.create(user=request.user, thread=thread, text=content)
            parentNode.add_child(thread)

            placement = {}
            for opt,typecast in Thread.PLACEMENT_OPTS.iteritems():
                if opt in request.POST:
                    placement[opt] = typecast(request.POST[opt])
            if len(placement) > 0:
                thread.placement = json.dumps(placement)
                thread.save()

            if request.user.auto_follow:
                request.user.follow.add(thread)

            return HttpResponseRedirect(reverse('thread_show', args=[thread.id]) + "#message-" + str(message.id))
    else:
        form = NewThreadForm()

    return render(request, 'new_thread.html', {
        'form': form,
        'parent': parentNode,
    })
Пример #3
0
def new_thread(request):
    form = NewThreadForm(request.POST)

    if form.is_valid():
        name = escape(form.cleaned_data['name'])
        content = escape(form.cleaned_data['content'])
        parentNode = get_object_or_404(Node, id=form.cleaned_data['parentNode'])
        thread = Thread.objects.create(user=request.user.get_profile(), name=name)
        message = Message.objects.create(user=request.user.get_profile(),
                                         thread=thread, text=content)
        parentNode.add_child(thread)
        return HttpResponseRedirect(reverse('thread_show', args=[thread.id]))
    return HttpResponse('form invalid', 'text/html')
Пример #4
0
def new_thread(request, group_slug=None, document_id=None):
    if document_id is not None:
        document = get_object_or_404(Document, id=document_id)
        group = document.group
    else:
        group = get_object_or_404(Group, slug=group_slug)
        document = None

    if request.method == 'POST':
        form = NewThreadForm(request.POST)

        if form.is_valid():
            name = form.cleaned_data['name']
            content = form.cleaned_data['content']

            thread = Thread.objects.create(user=request.user,
                                           name=name,
                                           group=group,
                                           document=document)
            message = Message.objects.create(user=request.user,
                                             thread=thread,
                                             text=content)

            placement = {}
            for opt, typecast in Thread.PLACEMENT_OPTS.items():
                if opt in request.POST:
                    placement[opt] = typecast(request.POST[opt])
            if len(placement) > 0:
                thread.placement = json.dumps(placement)
                thread.save()

            actions.follow(request.user, thread, actor_only=False)
            action.send(request.user,
                        verb="a posté",
                        action_object=thread,
                        target=group,
                        markdown=message.text)

            return HttpResponseRedirect(
                reverse('thread_show', args=[thread.id]) + "#message-" +
                str(message.id))
    else:
        form = NewThreadForm()

    return render(request, 'telepathy/new_thread.html', {
        'form': form,
        'group': group,
    })
Пример #5
0
def new_thread(request):
    form = NewThreadForm(request.POST)

    if form.is_valid():
        name = escape(form.cleaned_data['name'])
        content = escape(form.cleaned_data['content'])
        parentNode = get_object_or_404(Node,
                                       id=form.cleaned_data['parentNode'])
        thread = Thread.objects.create(user=request.user.get_profile(),
                                       name=name)
        message = Message.objects.create(user=request.user.get_profile(),
                                         thread=thread,
                                         text=content)
        parentNode.add_child(thread)
        return HttpResponseRedirect(reverse('thread_show', args=[thread.id]))
    return HttpResponse('form invalid', 'text/html')
Пример #6
0
def new_thread(request, parent_id):
    parentNode = get_object_or_404(Node, id=parent_id)

    if request.method == 'POST':
        form = NewThreadForm(request.POST)

        if form.is_valid():
            name = form.cleaned_data['name']
            content = form.cleaned_data['content']

            year = "{}-{}".format(current_year(), current_year() + 1)

            thread = Thread.objects.create(user=request.user,
                                           name=name,
                                           year=year)
            message = Message.objects.create(user=request.user,
                                             thread=thread,
                                             text=content)
            parentNode.add_child(thread)

            placement = {}
            for opt, typecast in Thread.PLACEMENT_OPTS.iteritems():
                if opt in request.POST:
                    placement[opt] = typecast(request.POST[opt])
            if len(placement) > 0:
                thread.placement = json.dumps(placement)
                thread.save()

            if request.user.auto_follow:
                request.user.follow.add(thread)

            return HttpResponseRedirect(
                reverse('thread_show', args=[thread.id]) + "#message-" +
                str(message.id))
    else:
        form = NewThreadForm()

    return render(request, 'new_thread.html', {
        'form': form,
        'parent': parentNode,
    })