def get(self, request, *args, **kwargs): data = request.headers INN = data['INN'] user = request.my_user get_all = data.get('get_all') if get_all: try: school = find_school_and_allow_user(INN, user) otherorders = school.otherorders_set.select_related() except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) res = [OtherOrdersSerializer(i).data for i in otherorders] return Response({'otherorders': res}) else: try: order_id = int(data['order-id']) school = find_school_and_allow_user(INN, user) otherorders = school.otherorders_set.get_or_create(id=order_id)[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) otherorders_serializer = OtherOrdersSerializer(otherorders) return Response({'otherorders': otherorders_serializer.data})
def get(self, request, *args, **kwargs): data = request.headers INN = data['INN'] user = request.my_user get_all = data.get('get_all') if get_all: try: school = find_school_and_allow_user(INN, user) mandates = school.mandatecouncil_set.select_related() except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) res = [MandateCouncilSerializer(i).data for i in mandates] return Response({'mandates': res}) else: try: mandate_id = int(data['mandate-id']) school = find_school_and_allow_user(INN, user) mandate = school.mandatecouncil_set.get_or_create( id=mandate_id)[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) mandate_serializer = MandateCouncilSerializer(mandate) return Response({'mandate': mandate_serializer.data})
def post(self, request, *args, **kwargs): data = request.headers INN = data['INN'] doc_id = data['doc-id'] if request.FILES: file = request.FILES['file'] else: return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": "File is not provided"}) user = request.my_user try: school = find_school_and_allow_user(INN, user) docs = school.document_set.get_or_create()[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) if doc_id == 'passport_BTI': docs.passport_BTI = file elif doc_id == 'topographic_plan': docs.topographic_plan = file elif doc_id == 'teplosnabj_MK': docs.teplosnabj_MK = file elif doc_id == 'vodosnabj_MK': docs.vodosnabj_MK = file elif doc_id == 'electrosnabj_MK': docs.electrosnabj_MK = file else: return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": "No such doc_id"}) docs.save() return Response(status=status.HTTP_200_OK)
def put(self, request, *args, **kwargs): data: dict = request.headers data1: dict = request.data logger.debug(data1) INN = data['INN'] user = request.my_user file = None if request.FILES: file = request.FILES['file'] try: mandate_id = data.get('mandate-id') school = find_school_and_allow_user(INN, user) if mandate_id: mandate_id = int(data['mandate-id']) mandate = school.mandatecouncil_set.get_or_create( id=mandate_id)[0] else: mandate = school.mandatecouncil_set.create()[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) mandate.update(data1) if file: mandate.file = file mandate.save() return Response(status=status.HTTP_200_OK)
def get(self, request): data = request.headers INN = data['INN'] user = request.my_user try: school = find_school_and_allow_user(INN, user) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) director = get_director(school) bookkeeper = get_bookkeeper(school) responsible_for_filling = get_updater(school) zavhoz = get_zavhoz(school) ans = {} ans.update({ get_model_name(director): PersonalAllInfoSerializer(director, many=False).data }) ans.update({ get_model_name(zavhoz): PersonalAllInfoSerializer(zavhoz, many=False).data }) ans.update({ get_model_name(bookkeeper): PersonalAllInfoSerializer(bookkeeper, many=False).data }) ans.update({ get_model_name(responsible_for_filling): PersonalAllInfoSerializer(responsible_for_filling, many=False).data }) return Response(data=ans)
def put(self, request): data = request.data INN = data['INN'] user = request.my_user try: school = find_school_and_allow_user(INN, user) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) director = get_director(school) bookkeeper = get_bookkeeper(school) responsible_for_filling = get_updater(school) zavhoz = get_zavhoz(school) try: director.update(data[get_model_name(director)]) zavhoz.update(data.pop(get_model_name(zavhoz))) bookkeeper.update(data.pop(get_model_name(bookkeeper))) responsible_for_filling.update( data.pop(get_model_name(responsible_for_filling))) except BaseException as ex: return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) return Response(status=status.HTTP_200_OK)
def delete(self, request, *args, **kwargs): data = request.headers INN = data['INN'] doc_id = data['doc_id'] user = request.my_user try: school = find_school_and_allow_user(INN, user) docs = school.document_set.get() except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) if doc_id == 'passport_BTI': docs.passport_BTI.delete() elif doc_id == 'topographic_plan': docs.topographic_plan.delete() elif doc_id == 'teplosnabj_MK': docs.teplosnabj_MK.delete() elif doc_id == 'vodosnabj_MK': docs.vodosnabj_MK.delete() elif doc_id == 'electrosnabj_MK': docs.electrosnabj_MK.delete() else: return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": "No such doc_id"}) docs.save() return Response(status=status.HTTP_200_OK)
def post(self, request: Request): data: dict = request.data try: data.pop('school') except: pass INN = data.pop('INN') user = request.my_user if user is None: return Response(status=status.HTTP_401_UNAUTHORIZED, data={'detail': 'You need to authorize'}) try: school = find_school_and_allow_user(INN=INN, user=user) except BaseException as ex: return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={'detail': ex.__str__()}) try: building = Building.objects.create(school=school) building.update(data=data) building.save() logger.success(str.format("{0} Добавил информацию о зданиях {1}\n{2}", user, school, building)) return Response(status=status.HTTP_200_OK) except BaseException as ex: try: building.delete() except: pass return Response(status=status.HTTP_501_NOT_IMPLEMENTED, data={'detail': ex.__str__()})
def get(self, request, *args, **kwargs): data = request.headers INN = data['INN'] user = request.my_user try: school = find_school_and_allow_user(INN, user) docs = school.document_set.get_or_create()[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) documents_serializer = DocumentsSerializer(docs) return Response({'documents': documents_serializer.data})
def get(self, request): data = request.headers INN = data['INN'] user = request.my_user try: school = find_school_and_allow_user(INN, user) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) updater = get_updater(school) prikaz = str(updater.prikaz) return Response({'prikaz': prikaz})
def get(self, request): data = request.headers INN = data['INN'] user = request.my_user try: school = find_school_and_allow_user(INN, user) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) school_serializer = SchoolAllInfoSerializer(school, many=False) logger.success(str.format("{0} Получил информацию о {1}", user, school)) return Response({'school': school_serializer.data})
def delete(self, request, *args, **kwargs): data = request.headers INN = data['INN'] user = request.my_user try: mandate_id = int(data['mandate-id']) school = find_school_and_allow_user(INN, user) mandate = school.mandatecouncil_set.get(id=mandate_id) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) mandate.delete() return Response(status=status.HTTP_200_OK)
def get(self, request): data = request.headers print(data) INN = data['INN'] user = request.my_user try: school = find_school_and_allow_user(INN, user) requisites = get_requisites(school) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) requisites_serializer = RequisitesSerializer(requisites, many=False) return Response({'requisites': requisites_serializer.data})
def put(self, request): data: dict = request.data INN = data['INN'] user = request.my_user try: school = find_school_and_allow_user(INN, user) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) try: school.update(data) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={'detail': ex.__str__()}) logger.success(str.format("{0} Обновил информацию о {1}", user, school)) return Response(status=status.HTTP_200_OK)
def put(self, request): data = request.data INN = data['INN'] user = request.my_user try: school = find_school_and_allow_user(INN, user) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) prikaz = data.pop('prikaz')[0] try: if prikaz: get_and_update_updater(school, prikaz) except BaseException as ex: return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) return Response(status=status.HTTP_200_OK)
def get(self, request): data = request.headers INN = data['INN'] user = request.my_user try: school = find_school_and_allow_user(INN, user) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) try: buildings = list(filter(lambda b: b.school == school, Building.objects.all())) except BaseException as ex: logger.exception(ex) return Response(data=[]) ans = [] buildings_serializer = BuildingSerializer(buildings, many=True) ans.append(buildings_serializer.data) logger.success(str.format("{0} Получил информацию о зданиях {1}", user, school)) return Response(data=ans)
def post(self, request, *args, **kwargs): data = request.headers data2 = request.data data2: dict = data2.dict() data2.pop('file') INN = data['INN'] user = request.my_user date_order = data2.get('date_order') if data2.get('date_order') != 'null' else None type_work = data2.get('type_work') summa = data2.get('summa') if data2.get('summa') != 'null' else None period_execution = data2.get('period_execution') if data2.get('period_execution') != 'null' else None vkluchenie = True if data2.get('vkluchenie') == 'true' else False executed = True if data2.get('executed') == 'true' else False order = None if request.FILES: order = request.FILES['file'] try: # order_id = int(data['order-id']) school = find_school_and_allow_user(INN, user) rospotreb = school.rospotreb_set.create() # rospotreb.school = school # rospotreb = school.rospotreb_set.get_or_create(id=order_id)[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) try: rospotreb.date_order = date_order rospotreb.type_work = type_work rospotreb.period_execution = period_execution rospotreb.vkluchenie = vkluchenie rospotreb.executed = executed rospotreb.order = order rospotreb.summa = summa except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) rospotreb.save() return Response(status=status.HTTP_200_OK)
def get(self, request): data = request.headers INN = data['INN'] user = request.my_user try: school = find_school_and_allow_user(INN, user) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) buildings = school.building_set.all() ans: dict = {} for building in buildings: temp_info = building.temperature_set.all() ans.update({ building.id: TemperatureSerializer(temp_info, many=True).data }) logger.success( str.format("{0} Получил информацию о температурном режиме {1}", user, school)) return Response(data=ans)