7Stuffs
7Stuffs

Reputation: 85

How to Raise Error on @permission_required decorator in Function Based View

How to raise an error message if permission_required is failed on Function Based View?i want to raise error message instead redirect to login page, i know how to raise an error message in CBV but i don't know how to raise it in Function based view, Please Help Me. Thanks and here is a code.

@permission_required('request.user.projectuser.change_projectusermodel')
def update(request, id):
    test = User.objects.get(id=id)
    try:
        second_form = UpdateAccountDetailForm(request.POST or None, instance=test.profile)
    except:
        second_form = UpdateAccountDetailForm(request.POST or None)

    try:
        third_form = UserRoleForm(request.POST or None, instance=test.roles)
    except:
        third_form = UserRoleForm(request.POST or None)

    if request.method == 'POST':
        form = UsersForm(request.POST, instance=test)
        form2 = second_form
        form3 = third_form
    else:
        form = UsersForm(instance=test)
        form2 = second_form
        form3 = third_form
    return save_all(request, form, form2, form3,'projectuser/update.html')

Upvotes: 0

Views: 507

Answers (1)

andreihondrari
andreihondrari

Reputation: 5833

The documentation section on permission_required specifies how to do it: you have to call it with the raise_exception flag enabled: @permission_required(..., raise_exception=True)

Upvotes: 2

Related Questions