Пример #1
0
 def test_board_edit_form(self):
     """Test that the board editing form validates for reasonable input."""
     form = BoardForm({
         'board_title': 'New board title',
         'board_desc': 'New board description',
     })
     self.assertTrue(form.is_valid())
Пример #2
0
def edit_board(request, board_id):
    """Return a board edit view, or handle the form submission."""
    board = get_object_or_404(Board, pk=board_id)

    if 'edit_board' not in board.permissions.for_user(request.user):
        raise PermissionDenied()

    allow_remove = request.user.is_staff and getattr(settings, 'EDIT_REMOVE_ENABLED', True)

    if request.method == 'POST':
        form = BoardForm(request.POST, instance=board)
        if 'remove' in form.data:
            if allow_remove:
                board.removed = True
                board.save()
                messages.success(request, _('Removed board {name}').format(name=board.board_title))
                return HttpResponseRedirect(reverse('openach:index'))
            else:
                raise PermissionDenied()

        elif form.is_valid():
            form.save()
            messages.success(request, _('Updated board title and/or description.'))
            return HttpResponseRedirect(reverse('openach:detail', args=(board.id,)))
    else:
        form = BoardForm(instance=board)

    context = {
        'form': form,
        'board': board,
        'allow_remove': allow_remove
    }

    return render(request, 'boards/edit_board.html', context)
Пример #3
0
def edit_board(request, board_id):
    """Return a board edit view, or handle the form submission."""
    board = get_object_or_404(Board, pk=board_id)

    if "edit_board" not in board.permissions.for_user(request.user):
        raise PermissionDenied()

    allow_remove = request.user.is_staff and getattr(
        settings, "EDIT_REMOVE_ENABLED", True)

    if request.method == "POST":
        form = BoardForm(request.POST, instance=board)
        if "remove" in form.data:
            if allow_remove:
                board.removed = True
                board.save()
                messages.success(
                    request,
                    _("Removed board {name}").format(name=board.board_title))
                return HttpResponseRedirect(reverse("openach:index"))
            else:
                raise PermissionDenied()

        elif form.is_valid():
            form.save()
            messages.success(request,
                             _("Updated board title and/or description."))
            return HttpResponseRedirect(
                reverse("openach:detail", args=(board.id, )))
    else:
        form = BoardForm(instance=board)

    context = {"form": form, "board": board, "allow_remove": allow_remove}

    return render(request, "boards/edit_board.html", context)