def vacancy_list(request): if request.method == 'GET': vacancies = Vacancy.objects.all() serializer = VacancySerializer(vacancies, many=True) return Response(serializer.data) elif request.method == 'POST': serializer = VacancySerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response({'error': serializer.errors}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def vacancy_list(request): if request.method == 'GET': vacancies = Vacancy.objects.all() serializer = CompanySerializer2(vacancies, many=True) return JsonResponse(serializer.data, safe=False) elif request.method == 'POST': request_body = json.loads(request.body) serializer = VacancySerializer(data=request_body) if serializer.is_valid(): # Validate data from client serializer.save() return JsonResponse(serializer.data) return JsonResponse({'error': serializer.errors})
def vacancy_by_company(request, pk): try: company = Company.objects.get(id=pk) except Company.DoesNotExist as e: return Response({'error': str(e)}) if request.method == 'GET': serializer = VacancySerializer(company.vacancies.all(), many=True) return Response(serializer.data) elif request.method == 'POST': serializer = VacancySerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response({'error': serializer.errors}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def company_vacancies(request, company_id): if request.method == 'GET': try: vacancies = Vacancy.objects.filter(company_id=company_id) except Vacancy.DoesNotExist as e: return Response({'error': str(e)}) serializer = VacancySerializer(vacancies, many=True) return Response(serializer.data) elif request.method == 'POST': serializer = VacancySerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response({'error': serializer.errors}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def vacancy_detail(request, id): vacancy = Vacancy.objects.get(id=id) try: if request.method == "GET": serializer = VacancySerializer(vacancy) return JsonResponse(serializer.data) elif request.method == "PUT": request_body = json.loads(request.body) serializer = VacancySerializer(instance=vacancy, data=request_body) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse({'error': serializer.errors}) elif request.method == "DELETE": vacancy.delete() return JsonResponse({'deleted': True}) except Vacancy.DoesNotExist as e: return JsonResponse({'error': 'No such vacancy through serializer :('})
def vacancies_detail(request, vacancy_id): try: vacancy = Vacancy.objects.get(id=vacancy_id) except Vacancy.DoesNotExist as e: return JsonResponse({'error': str(e)}) if request.method == 'GET': serializer = VacancySerializer(vacancy) return JsonResponse(serializer.data, status=200) elif request.method == 'PUT': data = json.loads(request.body) serializer = VacancySerializer(instance=vacancy, data=data) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data, status=200) return JsonResponse(serializer.errors) elif request.method == 'DELETE': vacancy.delete() return JsonResponse({}, status=204)
def company_vacancies(request, company_id): try: company = Company.objects.get(id=company_id) except Company.DoesNotExist as e: return JsonResponse({'error': str(e)}) if request.method == 'GET': vacancies = company.vacancies.all() serializer = VacancySerializer(vacancies, many=True) return JsonResponse(serializer.data, safe=False) elif request.method == 'POST': request_body = json.loads(request.body) serializer = VacancySerializer(data=request_body) if serializer.is_valid(): # Validate data from client serializer.save() return JsonResponse(serializer.data) return JsonResponse({'error': serializer.errors})
def vacancy_detail(request, vacancy_id): try: vacancy = Vacancy.objects.get(id=vacancy_id) except Exception as e: return Response({'error': str(e)}) if request.method == 'GET': serializer = VacancySerializer(vacancy) return Response(serializer.data) elif request.method == 'PUT': serializer = VacancySerializer(instance=vacancy, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return JsonResponse({'error': serializer.errors}) elif request.method == 'DELETE': vacancy.delete() return JsonResponse({"deleted":True})
def vacancy_detail(request, pk): try: vacancy = Vacancy.objects.get(id=pk) except Vacancy.DoesNotExist as e: return JsonResponse({'error': str(e)}, safe=False) if request.method == 'GET': serializer = VacancySerializer(vacancy) return Response(serializer.data) elif request.method == 'PUT': serializer = VacancySerializer(instance=vacancy, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response({'error': serializer.errors}) elif request.method == 'DELETE': vacancy.delete() return Response({'deleted': True})
def vacancy_detail(request, id): try: vacancy = Vacancy.objects.get(id=id) except Vacancy.DoesNotExist as e: raise Http404 if request.method == 'GET': serializer = VacancySerializer(vacancy) return Response(serializer.data) elif request.method == 'PUT': serializer = VacancySerializer(instance=vacancy, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors) elif request.method == 'DELETE': vacancy.delete() return Response({'DELETED': True})
def company_vacancies(request, company_id): try: vacancies = Vacancy.objects.filter(company_id=company_id) except Vacancy.DoesNotExist as e: return Response({'error': str(e)}) if request.method == 'GET': serializer = VacancySerializer(vacancies, many=True) return Response(serializer.data) elif request.method == 'PUT': serializer = VacancySerializer(instance=vacancies, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response({'error': serializer.errors}) elif request.method == 'DELETE': vacancies.delete() return Response({'deleted': True})
def vacancy_description(request, id): try: vacancy = Vacancy.objects.get(id=id) except Vacancy.DoesNotExist as e: return Response({'error': str(e)}) if request.method == 'GET': serializer = VacancySerializer(vacancy) return Response(serializer.data) elif request.method == 'PUT': serializer = VacancySerializer(instance=vacancy, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response({'error': serializer.errors}) elif request.method == 'DELETE': vacancy.delete() return Response({'delete': True})
def vacancies_detail(request, vacancy_id): try: vacancy = Vacancy.objects.get(id=vacancy_id) except Vacancy.DoesNotExist as e: return Response({'error': str(e)}) if request.method == 'GET': serializer = VacancySerializer(vacancy) return Response(serializer.data) elif request.method == 'PUT': serializer = VacancySerializer(instance=vacancy, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response({'error': serializer.errors}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) elif request.method == 'DELETE': vacancy.delete() return Response({'deleted': True})
def vacancy_detail(request, category_id): try: category = Vacancy.objects.get(id=category_id) except Vacancy.DoesNotExist as e: return Response({'error': str(e)}) if request.method == 'GET': serializer = VacancySerializer(category) return Response(serializer.data) elif request.method == 'PUT': serializer = VacancySerializer(instance=category, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response({'error': serializer.errors}) elif request.method == 'DELETE': category.delete() return Response({'deleted': True})
def vacancy_detail(request, vacancy_id): try: vacancy = Vacancy.objects.get(id=vacancy_id) except Vacancy.DoesNotExist as e: return JsonResponse({'error': str(e)}) # raise Http404 if request.method == 'GET': serializer = VacancySerializer(vacancy) return JsonResponse(serializer.data) elif request.method == 'PUT': request_body = json.loads(request.body) serializer = VacancySerializer(instance=vacancy, data=request_body) if serializer.is_valid(): serializer.save() return JsonResponse(serializer.data) return JsonResponse({'error': serializer.errors}) elif request.method == 'DELETE': vacancy.delete() return JsonResponse({'deleted': True})
def vacancy_detail(request, vacancy_id): try: vacancy = Vacancy.objects.get(id=vacancy_id) except Vacancy.DoesNotExist as e: return Response({'error': str(e)}) if request.method == 'GET': serializer = VacancySerializer(vacancy) return Response(serializer.data) elif request.method == 'POST': serializer = VacancySerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response({'error': serializer.errors}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) # elif request.method == 'PUT': # serializer = VacancySerializer(instance=vacancy, data=request.data) # if serializer.is_valid(): # serializer.save() # return Response(serializer.data) # return Response({'error': serializer.errors}) # # elif request.method == 'DELETE': # vacancy.delete() # return Response({'deleted': True}) @api_view(['GET']) def vacancies_top(request): if request.method == 'GET': try: top_vacancies = Vacancy.objects.order_by('-salary')[:10] except Vacancy.DoesNotExist as e: return Response({'error': str(e)}) serializer = VacancySerializer(top_vacancies, many=True) return Response(serializer.data)
def post(self, request, format=None): serializer = VacancySerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def post(self, request): serializer = VacancySerializer(data=json.loads(request.body)) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response({'Error': serializer.errors})
def post(self, request): serializer = VacancySerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors)
def post(self, request): serializer = VacancySerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response({'error': serializer.errors}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)