コード例 #1
0
ファイル: views.py プロジェクト: zouf/AllSortz
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)
コード例 #2
0
ファイル: views.py プロジェクト: zouf/AllSortz
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)
コード例 #3
0
ファイル: views.py プロジェクト: zouf/AllSortz
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)
コード例 #4
0
ファイル: views.py プロジェクト: zouf/AllSortz
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)