def create(self, request, **kwargs): serializer = CompanySerializer(data=request.data) if serializer.is_valid(): user = save_user(request.data, UserPermissions.IS_COMPANY) city = City(**request.data["city"]) company = Company( name=request.data["name"], type=UserType.COMPANY, address=request.data["address"], identityDoc=request.data["identityDoc"], phone=request.data["phone"], city=city, user=user, ) company.save() return Response( { "status": "SUCCESS", "msg_status": "Estabecimiento creado satisfactoriamente. Puede ingresar con su nueva contrasena.", } ) else: messages = [] make_error(serializer.errors.values(), messages) return Response({"status": "FAILURE", "msg_status": messages})
def list_company(request): """ List all companies, or create a new company. """ if request.method == 'GET': companies = Company.objects.all() serializer = CompanySerializer(companies, many=True) return JSONResponse(serializer.data) elif request.method == 'POST': data = JSONParser().parse(request) serializer = CompanySerializer(data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data, status=201) return JSONResponse(serializer.errors, status=400)
def company_detail(request, pk): """ Retrieve, update or delete a company. """ try: company = Company.objects.get(pk=pk) except Company.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = CompanySerializer(company) return JSONResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = CompanySerializer(company, data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data) return JSONResponse(serializer.errors, status=400) elif request.method == 'DELETE': company.delete() return HttpResponse(status=204)
def jwt_response_payload_handler(token, user=None, request=None): try: data = Data.objects.get(user_id=user.id) serialized_company = None if data.company is not None: company = Company.objects.get(id=data.company.id) serialized_company = CompanySerializer(company).data return { 'access_token': token, 'user': UserSerializer(user).data, 'data': DataSerializer(data).data, 'company': serialized_company } except Exception as e: return None