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)
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)