def add_business(request): try: user = authenticate_api_request(request) authorize_user(user, request, "add") bus = Business() name=get_json_post_or_error('businessName', request) addr=get_json_post_or_error('streetAddr', request) city = get_json_post_or_error('businessCity', request) state = get_json_post_or_error('businessState', request) phone = get_json_post_or_error('businessPhone', request) #already exists if Business.objects.filter(name=name,address=addr,city=city,state=state).count() == 0: bus = Business(name=name,address=addr,city=city,state=state) bus.save() elif Business.objects.filter(name=name,address=addr,city=city,state=state).count() > 1: #too many Business.objects.filter(name=name,address=addr,city=city,state=state).delete() Business.objects.create(name=name,address=addr,city=city,state=state,phone=phone) else: bus = Business.objects.get(name=name,address=addr,city=city,state=state) except ReadJSONError as e: return server_error(e.value) except (AuthenticationFailed, AuthorizationError) as e: return server_error(e.value) bus.dist = distance.distance(user.current_location,(bus.lat,bus.lon)).miles bus_data = get_single_bus_data_ios(bus,user) return server_data(bus_data)
def edit_business(request,oid): try: user = authenticate_api_request(request) authorize_user(user, request, "edit") bus = Business.objects.get(id = oid) except ReadJSONError as e: return server_error(e.value) except (AuthenticationFailed, AuthorizationError) as e: return server_error(e.value) except: return server_error("Getting business with id "+str(oid)+" failed") print(request.POST) if 'businessName' in request.POST: print('mod that stuff!') bus.name = request.POST['businessName'] if 'streetAddr' in request.POST: bus.addr = request.POST['streetAddr'] if 'businessCity' in request.POST: bus.city = request.POST['businessCity'] if 'businessPhone' in request.POST: return server_error("Phone not implemented") if 'businessState' in request.POST: bus.state = request.POST['businessState'] print(bus.name) bus.save() print(bus.name) bus.dist = distance.distance(user.current_location,(bus.lat,bus.lon)).miles bus_data = get_single_bus_data_ios(bus,user) return server_data(bus_data)
def get_business(request,oid): try: user = authenticate_api_request(request) authorize_user(user, request, "get") bus = Business.objects.get(id=oid) except ReadJSONError as e: return server_error(e.value) except (AuthenticationFailed, AuthorizationError) as e: return server_error(e.value) except: return server_error('Business with id '+str(oid)+'not found') bus_data = get_single_bus_data_ios(bus,user) return server_data(bus_data)
def rate_business(request,oid): try: user = authenticate_api_request(request) authorize_user(user, request, "rate") rating = get_json_get_or_error('rating', request) bus = Business.objects.get(id=oid) except ReadJSONError as e: return server_error(e.value) except (AuthenticationFailed, AuthorizationError) as e: return server_error(e.value) except: return server_error('Business with id '+str(oid)+'not found') if Rating.objects.filter(business=bus,user=user).count() > 0: Rating.objects.filter(business=bus,user=user).delete() Rating.objects.create(business=bus, rating=rating,user=user) bus.dist = distance.distance(user.current_location,(bus.lat,bus.lon)).miles bus_data = get_single_bus_data_ios(bus,user) return server_data(bus_data)