예제 #1
0
파일: views.py 프로젝트: blackboat/Dochub
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,
    })
예제 #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 test_Q2_2014():
    helpers.datetime = mock_datetime(*Q2_2014)
    assert 2014 == helpers.current_year()
예제 #4
0
def test_Q2():
    helpers.datetime = mock_datetime(*Q2)
    assert 2012 == helpers.current_year()
def test_Q2_2014():
    helpers.datetime = mock_datetime(*Q2_2014)
    assert 2014 == helpers.current_year()
def test_Q2():
    helpers.datetime = mock_datetime(*Q2)
    assert 2012 == helpers.current_year()