Beispiel #1
0
def settings_page(request):
    if request.method == "POST":
        form = UserSettingsForm(request.POST, instance=get_current_user(request))
    
        if form.is_valid():
            form.save()
            confirmation = dict({"message": "Updated settings!"})
            return HttpResponse(simplejson.dumps(confirmation),
                                mimetype="application/json")
    else:
        # Create unbound form if GET
        initialData = {
            'cell_phone': get_current_user(request).cell_phone,
            'location': get_current_user(request).location,
            'email_notifications': get_current_user(request).email_notifications,
            'sms_notifications': get_current_user(request).sms_notifications,
        }
        form = UserSettingsForm(initial=initialData)
    
    render_params = base_params(request)
    render_params[NAV_PAGE] = SETTINGS
    render_params['form'] = form
    
    return render(request, 'settings.html', render_params,
                  context_instance=RequestContext(request))
Beispiel #2
0
def delete_reservation(request):
    if request.method != 'POST':
        return redirect('data.views.dashboard_page')

    reservation_id = request.POST['reservation_id']
    reservation = Reservation.get_reservation_by_id(reservation_id)
    get_current_user(request).remove_reservation(reservation)
    return redirect('data.views.dashboard_page')
Beispiel #3
0
def unclaim_listing(request):
    if request.method != 'POST':
        return redirect('data.views.dashboard_page')
    item = Item.get_item_by_id(request.POST['item_id'])
    try:
        get_current_user(request).remove_claim(item)
    except:
        # TODO(kxing): Log this.
        pass
    return redirect('data.views.dashboard_page')
Beispiel #4
0
def dashboard_page(request):
    render_params = base_params(request)
    render_params[NAV_PAGE] = DASHBOARD

    form = ReservationForm()
    render_params['form'] = form
    render_params['reservations'] = get_current_user(request).get_reservations()
    render_params['claims'] = get_current_user(request).get_claims()
    render_params['items'] = get_current_user(request).get_items()
    return render(request, 'dashboard/dashboard.html', render_params, \
            context_instance=RequestContext(request))
Beispiel #5
0
def make_reservation(request):
    if request.method != 'POST':
        return redirect('data.views.dashboard_page')
    form = ReservationForm(request.POST)
    if not form.is_valid():
        return redirect('data.views.dashboard_page')

    search_query = form.cleaned_data['search_query']
    max_price = form.cleaned_data['max_price']

    get_current_user(request).add_reservation(search_query, max_price)
    return redirect('data.views.dashboard_page')
Beispiel #6
0
def claim_listing(request):
    if request.method != 'POST':
        return redirect('data.views.buy_page')
    item = Item.get_item_by_id(request.POST['item_id'])
    get_current_user(request).add_claim(item)

    buyer = get_current_user(request)
    item = Item.get_item_by_id(request.POST['item_id'])
    item.seller_user.send_email(str(buyer) + ' wants to buy your ' + str(item) + '. Please contact your buyer at ' + buyer.email, '[Geddit] Buyer for ' + str(item))
    
    get_params = QueryDict('', mutable=True)
    get_params['message'] = "Item Claimed.  An email has been sent to the seller.  Please wait for them to contact you to coordinate the transaction."
    return redirect(reverse('data.views.dashboard_page') + '?' + get_params.urlencode())
Beispiel #7
0
def base_params(request):
    return { \
        'categories': Category.get_all_categories(), \
        'SITE_ROOT': SITE_ROOT, \
        'user': get_current_user(request), \
        'message': request.GET.get('message', None), \
    }
Beispiel #8
0
def reserve_page(request):
    render_params = base_params(request)

    form = ReservationForm()
    render_params['form'] = form
    render_params['reservations'] = get_current_user(request).get_reservations()
    return render(request, 'reserve.html', render_params, \
            context_instance=RequestContext(request))
Beispiel #9
0
def settings_page(request):
    if request.method == "POST":
        form = UserSettingsForm(request.POST, instance=get_current_user(request))
    
        if form.is_valid():
            form.save()
            return redirect('data.views.settings_page')
    else:
        # Create unbound form if GET
        initialData = {
            'cell_phone': get_current_user(request).cell_phone,
            'location': get_current_user(request).location
        }
        form = UserSettingsForm(initial=initialData)
    
    render_params = base_params(request)
    render_params['form'] = form
    
    return render(request, 'settings.html', render_params,
                  context_instance=RequestContext(request))
Beispiel #10
0
def sell_page(request):
    if request.method == "POST":
        form = ItemForm(request.POST, request.FILES)
        
        if form.is_valid():
            name = form.cleaned_data['name']
            description = form.cleaned_data['description']
            category = form.cleaned_data['category']
            price = form.cleaned_data['price']

            image = form.files.get('image', None)
            
            active = True
            upload_time = datetime.utcnow
            
            # TODO: Grab username from web cert
            get_current_user(request).add_item(name, description, category, price, image)
            return redirect('data.views.buy_page')
    else:
        # Create unbound form
        form = ItemForm()
    
    render_params = base_params(request)
    render_params[NAV_PAGE] = SELL
    render_params['form'] = form
    # For the Google Maps location
    if get_current_user(request).location is not None:
        render_params['latitude'] = get_current_user(request).location.latitude
        render_params['longitude'] = get_current_user(request).location.longitude
    render_params['items'] = get_current_user(request).get_items()
    render_params['reservations'] = Reservation.get_all_reservations()
    
    return render(request, 'sell/sell.html', render_params, \
                  context_instance=RequestContext(request))
Beispiel #11
0
def remove_item(request):
    if request.method != 'POST':
        return redirect('data.views.sell_page')
    item = Item.get_item_by_id(request.POST['item_id'])
    get_current_user(request).remove_item(item)
    return redirect('data.views.dashboard_page')
Beispiel #12
0
def unclaim_listing(request):
    if request.method != 'POST':
        return redirect('data.views.cart_page')
    item = Item.get_item_by_id(request.POST['item_id'])
    get_current_user(request).remove_claim(item)
    return redirect('data.views.cart_page')
Beispiel #13
0
def cart_page(request):
    render_params = base_params(request)
    render_params['claims'] = get_current_user(request).get_claims()
    return render(request, 'cart.html', render_params, \
            context_instance=RequestContext(request))
Beispiel #14
0
def base_params(request):
    return { \
        'categories': Category.get_all_categories(), \
        'SITE_ROOT': SITE_ROOT, \
        'user': get_current_user(request), \
    }