def put(self, request: Request): data: dict = request.data user = request.my_user if user is None: return Response(status=status.HTTP_401_UNAUTHORIZED, data={'detail': 'You need to authorize'}) temp_id = data.pop('id') data.pop('building') temp_obj = Temperature.objects.get(id=temp_id) try: find_building_and_allow_user(temp_obj.building_id, user) temp_obj.update(data) return Response(status=status.HTTP_200_OK) except BaseException as ex: return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={'detail': ex.__str__()})
def delete(self, request): data: dict = request.headers['data'] if isinstance(data, str): data = json.loads(data) user = request.my_user if user is None: return Response(status=status.HTTP_401_UNAUTHORIZED, data={'detail': 'You need to authorize'}) temp_date = data['date'] building_id = data['building'] temp_objs = Temperature.objects.all() temp_objs = list( filter(lambda t: t.date == parse_date(temp_date), temp_objs)) temp_objs = list( filter(lambda t: t.building.id == int(building_id), temp_objs)) building_obj = find_building_and_allow_user(building_id, user) try: if isinstance(temp_objs, list): for temp_obj in temp_objs: temp_obj.delete() else: temp_objs.delete() logger.success( str.format( "{0} Добавил информацию о температуре здания {1} по дате {2}\n", user, building_obj, temp_date)) return Response(status=status.HTTP_200_OK) except BaseException as ex: return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={'detail': ex.__str__()})
def put(self, request): data = request.data building_id = data['id'] user = request.my_user if request.FILES: files = request.FILES data.update(files) if data.get('ground_loop'): data: dict = data.dict() data['ground_loop'] = True if data[ 'ground_loop'] == 'true' else False if data[ 'ground_loop'] == 'false' else None try: building = find_building_and_allow_user(id=building_id, user=user) eng_communication = EngineeringCommunication.objects.get_or_create( building=building) if eng_communication[1]: building.engineering_communication = eng_communication[0] building.save() eng_communication = eng_communication[0] eng_communication.update(data=data) except BaseException as ex: logger.exception(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 id = data['id'] user = request.my_user try: building = find_building_and_allow_user(id, user) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) ans = [] building_serializer = BuildingAllInfoSerializer(building, many=False) ans.append(building_serializer.data) logger.success(str.format("{0} Получил информацию о здании {1}", user, building)) return Response(data=ans)
def delete(self, request): data = request.headers id = data['id'] user = request.my_user try: building = find_building_and_allow_user(id, user) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) try: building.delete() except BaseException as ex: logger.exception(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 building_id = data['id'] user = request.my_user try: building = find_building_and_allow_user(building_id, user) safety_sys = SafetySystem.objects.get_or_create(building=building) if safety_sys[1]: building.safety_system = safety_sys[0] building.save() safety_sys = safety_sys[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) ans = [SafetySystemSerializer(safety_sys, many=False).data] return Response(status=status.HTTP_200_OK, data=ans)
def put(self, request): data = request.data building_id = data['id'] user = request.my_user try: building = find_building_and_allow_user(id=building_id, user=user) safety_sys = SafetySystem.objects.get_or_create(building=building) if safety_sys[1]: building.safety_systems = safety_sys[0] building.save() safety_sys = safety_sys[0] safety_sys.update(data=data) except BaseException as ex: logger.exception(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 building_id = data['id'] user = request.my_user try: building = find_building_and_allow_user(building_id, user) ter_imp = TerritoryImprovement.objects.get_or_create( building=building) if ter_imp[1]: building.territory_improvement = ter_imp[0] building.save() ter_imp = ter_imp[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) ans = [TerritoryImprovementSerializer(ter_imp, many=False).data] return Response(status=status.HTTP_200_OK, data=ans)
def put(self, request): data = request.data building_id = data['id'] user = request.my_user try: building = find_building_and_allow_user(id=building_id, user=user) sport_fac = SportsFacilities.objects.get_or_create( building=building) if sport_fac[1]: building.sports_facilities = sport_fac[0] building.save() sport_fac = sport_fac[0] sport_fac.update(data=data) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) return Response(status=status.HTTP_200_OK)
def put(self, request): data = request.data building_id = data['id'] user = request.my_user try: building = find_building_and_allow_user(id=building_id, user=user) ter_imp = TerritoryImprovement.objects.get_or_create( building=building) if ter_imp[1]: building.territory_improvement = ter_imp[0] building.save() ter_imp = ter_imp[0] ter_imp.update(data=data) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) return Response(status=status.HTTP_200_OK)
def put(self, request): data = request.data building_id = data['id'] user = request.my_user try: building = find_building_and_allow_user(id=building_id, user=user) access_environ = AccessibleEnvironment.objects.get_or_create( building=building) if access_environ[1]: building.accessible_environment = access_environ[0] building.save() access_environ = access_environ[0] access_environ.update(data=data) except BaseException as ex: logger.exception(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 building_id = data['id'] user = request.my_user try: building = find_building_and_allow_user(building_id, user) sport_fac = SportsFacilities.objects.get_or_create( building=building) if sport_fac[1]: building.sports_facilities = sport_fac[0] building.save() sport_fac = sport_fac[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) ans = [SportsFacilitiesSerializer(sport_fac, many=False).data] return Response(status=status.HTTP_200_OK, data=ans)
def delete(self, request): data = request.headers building_id = data['id'] user = request.my_user doc_id = data['docId'] try: building = find_building_and_allow_user(building_id, user) building_constr = BuildingConstruction.objects.get_or_create( building=building) if building_constr[1]: building.building_construction = building_constr[0] building.save() building_constr = building_constr[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) if doc_id == 'blind_area_act': building_constr.blind_area_act.delete() elif doc_id == 'blind_area_photo': building_constr.blind_area_photo.delete() elif doc_id == 'facade_photo': building_constr.facade_photo.delete() elif doc_id == 'facade_act': building_constr.facade_act.delete() elif doc_id == 'attic_overlapping_act': building_constr.attic_overlapping_act.delete() elif doc_id == 'basement_overlapping_act': building_constr.basement_overlapping_act.delete() elif doc_id == 'roof_photo': building_constr.roof_photo.delete() elif doc_id == 'roof_act': building_constr.roof_act.delete() elif doc_id == 'window_act': building_constr.window_act.delete() elif doc_id == 'foundation_photo': building_constr.foundation_photo.delete() elif doc_id == 'foundation_act': building_constr.foundation_act.delete() else: return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": "No such doc_id"}) building_constr.save() return Response(status=status.HTTP_200_OK)
def get(self, request): data = request.headers building_id = data['id'] user = request.my_user try: building = find_building_and_allow_user(building_id, user) access_environ = AccessibleEnvironment.objects.get_or_create( building=building) if access_environ[1]: building.accessible_environment = access_environ[0] building.save() access_environ = access_environ[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) ans = [ AccessibleEnvironmentSerializer(access_environ, many=False).data ] return Response(status=status.HTTP_200_OK, data=ans)
def get(self, request): data = request.headers building_id = data['id'] user = request.my_user try: building = find_building_and_allow_user(building_id, user) building_constr = BuildingConstruction.objects.get_or_create( building=building) if building_constr[1]: building.building_construction = building_constr[0] building.save() building_constr = building_constr[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) ans = [ BuildingConstructionSerializer(building_constr, many=False).data ] return Response(status=status.HTTP_200_OK, data=ans)
def delete(self, request): data = request.headers building_id = data['id'] user = request.my_user doc_id = data['docId'] try: building = find_building_and_allow_user(building_id, user) ind_areas = IndoorAreas.objects.get_or_create(building=building) if ind_areas[1]: building.indoor_areas = ind_areas[0] building.save() ind_areas = ind_areas[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) if doc_id == 'admin_room_act': ind_areas.admin_room_act.delete() elif doc_id == 'auditorium_act': ind_areas.auditorium_act.delete() elif doc_id == 'bathroom_act': ind_areas.bathroom_act.delete() elif doc_id == 'classroom_act': ind_areas.classroom_act.delete() elif doc_id == 'corridors_act': ind_areas.corridors_act.delete() elif doc_id == 'emergency_exit_act': ind_areas.emergency_exit_act.delete() elif doc_id == 'food_block_act': ind_areas.food_block_act.delete() elif doc_id == 'gym_act': ind_areas.gym_act.delete() elif doc_id == 'laundry_act': ind_areas.laundry_act.delete() elif doc_id == 'pantry_act': ind_areas.pantry_act.delete() else: return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": "No such doc_id"}) ind_areas.save() return Response(status=status.HTTP_200_OK)
def put(self, request): data = request.data building_id = data['id'] user = request.my_user if request.FILES: files = request.FILES data.update(files) data = find_and_change_bool_vars(data) try: building = find_building_and_allow_user(id=building_id, user=user) ind_areas = IndoorAreas.objects.get_or_create(building=building) if ind_areas[1]: building.indoor_areas = ind_areas[0] building.save() ind_areas = ind_areas[0] ind_areas.update(data=data) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) return Response(status=status.HTTP_200_OK)
def put(self, request): data = request.data building_id = data['id'] user = request.my_user if request.FILES: files = request.FILES data.update(files) try: building = find_building_and_allow_user(id=building_id, user=user) building_constr = BuildingConstruction.objects.get_or_create( building=building) if building_constr[1]: building.building_construction = building_constr[0] building.save() building_constr = building_constr[0] building_constr.update(data=data) except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) return Response(status=status.HTTP_200_OK)
def post(self, request: Request): global new_temper data: dict = request.data try: data.pop('id') except: pass building_id = data.pop('building') user = request.my_user if user is None: return Response(status=status.HTTP_401_UNAUTHORIZED, data={'detail': 'You need to authorize'}) try: building_obj = find_building_and_allow_user(building_id, user) except BaseException as ex: return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={'detail': ex.__str__()}) try: new_temper = Temperature.objects.create(building=building_obj, **data) new_temper.save() logger.success( str.format( "{0} Добавил информацию о температуре здания {1}\n{2}", user, building_obj, new_temper)) return Response(status=status.HTTP_200_OK) except BaseException as ex1: try: new_temper.delete() logger.exception(ex1) return Response(status=status.HTTP_501_NOT_IMPLEMENTED, data={'detail': ex1.__str__()}) except BaseException as ex2: logger.exception(ex2) return Response(status=status.HTTP_501_NOT_IMPLEMENTED, data={'detail': ex2.__str__()})
def delete(self, request): data = request.headers building_id = data['id'] user = request.my_user doc_id = data['docId'] try: building = find_building_and_allow_user(building_id, user) eng_communication = EngineeringCommunication.objects.get_or_create( building=building) if eng_communication[1]: building.engineering_communication = eng_communication[0] building.save() eng_communication = eng_communication[0] except BaseException as ex: logger.exception(ex) return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": ex.__str__()}) if doc_id == 'technical_condition_of_the_heating_system_act': eng_communication.technical_condition_of_the_heating_system_act.delete( ) elif doc_id == 'technical_condition_of_the_ventilation_system_act': eng_communication.technical_condition_of_the_ventilation_system_act.delete( ) elif doc_id == 'technical_condition_of_the_hot_water_supply_system_act': eng_communication.technical_condition_of_the_hot_water_supply_system_act.delete( ) elif doc_id == 'passport_vvoda': eng_communication.passport_vvoda.delete() elif doc_id == 'schema_vvoda': eng_communication.schema_vvoda.delete() elif doc_id == 'passport_itp': eng_communication.passport_itp.delete() elif doc_id == 'schema_itp': eng_communication.schema_itp.delete() elif doc_id == 'act_balance_razgranich': eng_communication.act_balance_razgranich.delete() elif doc_id == 'schema_balance_razgranich': eng_communication.schema_balance_razgranich.delete() elif doc_id == 'spravka_teplov_nagruz': eng_communication.spravka_teplov_nagruz.delete() elif doc_id == 'raschet_teplov_poter': eng_communication.raschet_teplov_poter.delete() elif doc_id == 'toposnova': eng_communication.toposnova.delete() elif doc_id == 'technical_condition_of_the_internal_power_supply_system_act': eng_communication.technical_condition_of_the_internal_power_supply_system_act.delete( ) elif doc_id == 'technical_condition_of_the_external_power_supply_system_act': eng_communication.technical_condition_of_the_external_power_supply_system_act.delete( ) elif doc_id == 'power_supply_system_act_balance_razgranich': eng_communication.power_supply_system_act_balance_razgranich.delete( ) elif doc_id == 'power_supply_system_scheme_balance_razgranich': eng_communication.power_supply_system_scheme_balance_razgranich.delete( ) elif doc_id == 'power_supply_system_odnolinein_schema': eng_communication.power_supply_system_odnolinein_schema.delete() elif doc_id == 'power_supply_system_photo_vru': eng_communication.power_supply_system_photo_vru.delete() elif doc_id == 'technical_condition_of_the_water_supply_system_act': eng_communication.technical_condition_of_the_water_supply_system_act.delete( ) elif doc_id == 'technical_condition_of_the_sewerage_system_act': eng_communication.technical_condition_of_the_sewerage_system_act.delete( ) elif doc_id == 'water_supply_scheme_balance_razgranich': eng_communication.water_supply_scheme_balance_razgranich.delete() elif doc_id == 'water_supply_act_balance_razgranich': eng_communication.water_supply_act_balance_razgranich.delete() else: return Response(status=status.HTTP_500_INTERNAL_SERVER_ERROR, data={"detail": "No such doc_id"}) eng_communication.save() return Response(status=status.HTTP_200_OK)