У меня есть функция в веб-приложении, где в учетной записи администратора можно настроить проверку для компании, код которой приведен ниже. Теперь, выполняя действие, я не могу понять, по какой причине оно выдает ошибку «У вас нет разрешения на выполнение этого действия ОШИБКА». - 403 Запрещено. В случае, если вы хотите узнать FE, я также предоставил. Спасибо. Надеюсь, это поможет.
HTML
<button ng-click="main.verifyCompany(company,true)" ng-show="company.is_verified" class="btn btn-primary btn-sm">
<i class="fas fa-thumbs-up"></i> Approve
</button>
FE (угловой)
me.verifyCompany = function (company, verify) {
if (verify) {
var message = "Do you really want to activate job posting and other features for this business account?. Doing so will send an email notification."
} else {
var message = "Deactivate posting for this account?."
}
confirmSweet.ask(message).then(function (response) {
if (response) {
var filter = {}
filter.id = company.id
filter.verify = verify
AdminService.verify_company(me, filter).then(function (response) {
if (response.status == "200") {
console.log("Response", response.status)
me.get_companies()
}
})
}
});
}
КОД ПИТОНА
class VerifyCompany(APIView):
authentication_classes = (TokenAuthentication,)
permission_classes = (IsAuthenticated,IsCompany,IsAdmin,)
def get(self, request,company_id):
data = request.data
verify = request.GET["verify"]
verify = True if verify == "true" else False
company_ins = Company.objects.get(id=company_id)
company_ins.is_verified = verify
company_ins.save()
data = {}
data["email"] = company_ins.user.email
print("Ang response data")
if verify:
email_ins = Email()
c_task.delay(email_ins.verification_business_success, data)
return Response("Company status has been updated.", status=status.HTTP_200_OK)