def put(self, request, company_id):
"""
Handling put method.
:args
request: Request to View.
company_id: id of company to be updated.
:return: HttpResponse with code 201 if company is updated or
HttpResponseBadRequest if request contain incorrect data also if user is not superuser .
"""
if (not request.user.is_superuser) and (Company.get_company(company_id).administrator !=
request.user.adviseruser):
return HttpResponseBadRequest("Permission denied")
data = json.loads(request.body)
if data.get("administrator"):
data["administrator"] = AdviserUser.objects.get(id=data.get("administrator").get("id"))
company = Company.get_company(data["id"])
company_form = CompanyForm(data, company)
if not company_form.is_valid():
return HttpResponseBadRequest(str(company_form.errors))
company.set_company(data)
return HttpResponse(status=201)
评论列表
文章目录