コード例 #1
0
ファイル: views.py プロジェクト: RemyBordignon/PartyWhip
def create_post(request):
    if request.method == "POST":
        # use this to add users to DB TABLE TODO
        post = Post(
            user=request.user,
            pub_date=timezone.localtime(),
            winner_selected=False,
        )
        form = PostForm(instance=post, data=request.POST)
        if form.is_valid():
            form.save()
            return redirect('boards:index')
    else:
        form = PostForm()
    return render(request, "boards/new_post_form.html", {'form': form})
コード例 #2
0
def reply_topic(request, pk, topic_pk):
    topic = get_object_or_404(Topic, board__pk=pk, pk=topic_pk)
    if request.method == 'POST':
        form = PostForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.topic = topic
            post.created_by = request.user
            post.save()

            topic.last_update = timezone.now()
            topic.save()

            topic_url = reverse('topic_posts',
                                kwargs={
                                    'pk': pk,
                                    'topic_pk': topic_pk
                                })
            topic_post_url = '{url}?page={page}#{id}'.format(
                url=topic_url, id=post.pk, page=topic.get_page_count())

            return redirect(topic_post_url)
    else:
        form = PostForm
    return render(request, 'reply_topic.html', {'topic': topic, 'form': form})
コード例 #3
0
ファイル: views.py プロジェクト: DanyilNefodov/RockLab-task
def reply_topic(request, pk, topic_pk):
    topic = get_object_or_404(Topic, board__pk=pk, pk=topic_pk)
    form = PostForm(request.POST)
    if form.is_valid():
        post = form.save(commit=False)
        post.topic = topic
        post.created_by = request.user
        post.save()

        topic.last_updated = timezone.now()
        topic.save()

        topic_url = reverse('topic_posts',
                            kwargs={
                                'pk': pk,
                                'topic_pk': topic_pk
                            })
        topic_post_url = '{url}?page={page}#{id}'.format(
            url=topic_url, id=post.pk, page=topic.get_page_count())
        send_reply_notification.delay(post.topic.starter.username,
                                      post.topic.starter.email,
                                      post.topic.subject,
                                      post.created_by.username)
        return redirect(topic_post_url)
    return render(request, 'reply_topic.html', {'topic': topic, 'form': form})
コード例 #4
0
def reply_topic(request, board_id, topic_id):
    try:
        topic = Topic.objects.get(pk=topic_id)
    except Topic.DoesNotExist:
        raise Http404
    if request.method == 'POST':
        form = PostForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.topic = topic
            post.created_by = request.user
            post.save()

            topic.last_updated = timezone.now()
            topic.save()

            topic_url = reverse('topic_posts',
                                kwargs={
                                    'board_id': board_id,
                                    'topic_pk': topic_id
                                })
            topic_post_url = '{url}?page={page}#{id}'.format(
                url=topic_url, id=post.pk, page=topic.get_page_count())
            # return redirect('topic_posts', board_id=topic.board_id, topic_pk=topic.pk)
            return redirect(topic_post_url)
    else:
        form = PostForm()
    return render(request, 'reply_topic.html', {'topic': topic, 'form': form})
コード例 #5
0
ファイル: views.py プロジェクト: 2018lak/MAF
def post(request):
    """
    posting questions
    """
    if request.method == "POST":
        postform = PostForm(request.POST)
        if postform.is_valid():
            _post = postform.save(commit=False)
            _post.user = request.user
            _post.save()

            # tags(ManyToManyField)
            for _tagname in request.POST.get('tags', '').split(','):
                _tagname = _tagname.strip()

                # When only _tagname is not blank
                if _tagname:
                    _tag, _created = Tag.objects.get_or_create(
                        name=_tagname, defaults={'name': _tagname})
                    _post.tags.add(_tag)

            return HttpResponseRedirect(reverse('home'))
    elif request.method == "GET":
        postform = PostForm()

    return render(request, "post.html", {
        'postform': postform,
    })
コード例 #6
0
ファイル: views.py プロジェクト: safakge/boards
def reply_topic(request, board_id, topic_id):
    topic = get_object_or_404(Topic, board_id=board_id, id=topic_id)

    if request.method == 'POST':
        form = PostForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.topic = topic
            post.created_by = request.user
            post.save()

            # update topic's last_updated
            topic.last_updated = datetime.now()
            topic.save()

            topic_url = reverse('topic_posts',
                                kwargs={
                                    'board_id': board_id,
                                    'topic_id': topic_id
                                })
            topic_post_url = f'{topic_url}?page={topic.get_page_count()}#{post.id}'

            return redirect(topic_post_url)
    else:
        form = PostForm()

    return render(request, 'reply_topic.html', {'topic': topic, 'form': form})
コード例 #7
0
ファイル: views.py プロジェクト: yasnum/fisio
def reply_topic(request, pk, topic_pk):
    topic = get_object_or_404(Topic, board__pk=pk, pk=topic_pk)
    if request.method == 'POST':
        form = PostForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.topic = topic
            post.created_by = request.user
            post.save()
            return redirect('topic_posts', pk=pk, topic_pk=topic_pk)
    else:
        form = PostForm()
    return render(request, 'reply_topic.html', {'topic': topic, 'form': form})
コード例 #8
0
ファイル: views.py プロジェクト: halfpintutopia/social-board
def reply_topic(request, pk, topic_pk):
    topic = get_object_or_404(Topic, board__pk=pk, pk=topic_pk)
    if request.method == 'POST':
        form = PostForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.topic = topic
            post.created_by = request.user
            post.save()
            # IMPORTANT: using topic_pk as referring to the keyword argument of the function.
            return redirect('topic_posts', pk=pk, topic_pk=topic_pk)
    else:
        form = PostForm()
    return render(request, 'reply_topic.html', {'topic': topic, 'form': form})
コード例 #9
0
def reply_topic(request, id, topic_id):
    topic = get_object_or_404(Topic, board__pk=id, pk=topic_id)
    if request.method == "POST":
        form = PostForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.topic = topic
            post.created_by = request.user
            post.save()
            topic.updated_by = request.user
            topic.updated_dt = timezone.now()
            topic.save()

            return redirect('topics_posts', id=id, topic_id=topic_id)
    else:
        form = PostForm()
    return render(request, 'reply_topic.html', {'topic': topic, 'form': form})
コード例 #10
0
ファイル: views.py プロジェクト: ArRosid/boards_project
def reply_topic(request, pk, topic_pk):
    topic = get_object_or_404(Topic, board__pk=pk, pk=topic_pk)
    if request.method == "POST":
        form = PostForm(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
            post.topic = topic
            post.created_by = request.user
            post.save()
            return redirect("boards:topic_posts", pk=pk, topic_pk=topic_pk)
    else:
        form = PostForm()

    return render(request, "boards/reply_topic.html", {
        "topic": topic,
        "form": form
    })