Beispiel #1
0
def edit_forum(request, forum_id):
    forum = get_object_or_404(Subforum, pk=forum_id)

    template = loader.get_template('forums/edit_forum.html')

    # TODO: Implement proper error page
    if not request.user.is_staff:
        return HttpResponseRedirect(reverse(index))

    if request.method == 'POST':
        # Try to create a form from the POST data
        form = SubforumForm(request.POST)

        if form.is_valid():
            # A forum cannot have itself as its parent
            if form.cleaned_data['parent'] == forum:
                return render(request, 'forums/edit_forum.html', {
                    'forum': forum,
                    'form': form,
                    'error_message': "Subforum iself is not a valid parent :< !",
                    })

            forum.parent      = form.cleaned_data['parent']
            forum.title       = form.cleaned_data['title']
            forum.description = form.cleaned_data['description']

            forum.save()
            return HttpResponseRedirect(reverse(show_forum, args=(forum.id, )))
        else:
            return render(request, 'forums/edit_forum.html', {
                'forum': forum,
                'form': form,
                'error_message': "Invalid data :< !",
                })
    else:
        form = SubforumForm(instance=forum)
        return render(request, 'forums/edit_forum.html', {
            'forum': forum,
            'form': form,
            })
Beispiel #2
0
def add_forum(request):
    # Load template
    template = loader.get_template('forums/add_forum.html')

    # TODO: Implement proper error page
    if not request.user.is_staff:
        return HttpResponseRedirect(reverse(index))

    if request.method == 'POST':
        # Try to create a form from the POST data
        form = SubforumForm(request.POST)

        if form.is_valid():
            parent      = form.cleaned_data['parent']
            title       = form.cleaned_data['title']
            description = form.cleaned_data['description']

            f = Subforum(parent=parent, title=title,
                         description=description)
            if not f:
                return render(request, 'forums/add_forum.html', {
                    'form': form,
                    'error_message': "Subforum object creation failed :< !"
                    })

            f.save()
            return HttpResponseRedirect(reverse(add_forum))
        else:
            return render(request, 'forums/add_forum.html', {
                'form': form,
                'error_message': "Invalid data :< !",
                })
    else:
        form = SubforumForm()
        return render(request, 'forums/add_forum.html', {
            'form': form,
            })