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))
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')
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')
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))
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')
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())
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), \ }
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))
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))
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))
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')
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')
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))
def base_params(request): return { \ 'categories': Category.get_all_categories(), \ 'SITE_ROOT': SITE_ROOT, \ 'user': get_current_user(request), \ }