def profile(): context = base_context() if context['user'] is None: return redirect(url_for('index')) user = context['user'] reviews = [] if user.is_owner: for license in user.licenses: reviews += carts.find_one(permit_number=license).get_reviews() context['reviews'] = reviews if request.method == 'POST': form = request.form if not form.has_key('name'): if carts.find_one(permit_number=form['license']) is not None\ and not form['license'] in user.licenses: user.licenses += [form['license']] user.save() else: cart = carts.find_one(permit_number=form['license']) cart.name = form['name'] cart.zip_code = form['zip'] cart.save() return render_template('owner_profile.html', **context) reviews = user.get_reviews() context['reviews'] = reviews context['target_user'] = user return render_template('user_profile.html', **context)
def login(): context = base_context() if context['user'] is not None: return redirect(url_for('index')) if request.method == 'POST': form = request.form user = users.find_one(username=form['email'], password=form['pass']) if user is not None: session['username'] = user.username return redirect(url_for('index')) else: context['error'] = 'Email and password combination is incorrect' return render_template('login.html', **context)
def cart_page(cid): context = base_context() context['cart'] = carts.find_one(_id=ObjectId(cid)); context['reviews'] = context['cart'].get_reviews() if request.method == 'POST': form = request.form cart = context['cart'] tags = [t.strip() for t in form['tags'].split(',')] if reviews.find_one(user=context['user'].username, cart_id=cart.get_id()) is None: cart.add_review(context['user'].username, text=form['review'], rating=int(form['rating'])) cart.tags += tags cart.save() else: context['error'] = 'You\'ve already written a review for this cart' return render_template('cart.html', **context)
def menu_page(cid): context = base_context() context['cart'] = carts.find_one(_id=ObjectId(cid)); if request.method == 'POST': form = request.form tags = [t.strip() for t in form['tags'].split(',')] image = '' if request.files.has_key('file'): try: f = request.files['file'] image = photos.insert(image_file=f, is_cart=False, is_default=False, title=form['name']) except IOError: print "error" menu_item = {'name': form['name'], 'price': form['price'], 'tags': tags, 'image': image.url_path} context['cart'].add_menu(menu_item) return render_template('menu.html', **context)
def ads_page(): context = base_context() if context['user'] is None: redirect(url_for('index')) if request.method == 'POST': email = request.form['stripeEmail'] stripe.Charge.create( amount=20, currency='usd', card=request.form['stripeToken'], description='Charge for ' + email ) owner = users.find_one(username=email) owner.ad_type = 1 owner.save() return redirect(url_for('profile')) return render_template('ads.html', **context)
def register(): context = base_context() if context['user'] is not None: return redirect(url_for('index')) if request.method == 'POST': form = request.form if not form.has_key('license'): first = form['first'] last = form['last'] email = form['email'] password = form['pass'] if users.find_one(username=email) is None: user = users.insert(first_name=first, last_name=last, username=email, password=password, is_owner=False, ad_type=0) session['username'] = user.username return redirect(url_for('index')) else: context['error'] = 'Email already registered in the system' else: first = form['first'] last = form['last'] email = form['email'] license = form['license'] password = form['pass'] if users.find_one(username=email) is None: user = users.insert(first_name=first, last_name=last, username=email, password=password, licenses=[license], is_owner=True) session['username'] = user.username return redirect(url_for('index')) return render_template('register.html', **context)
def ads_page(): context = base_context() return render_template('ads.html', **context)
def purchase_ad(name): context = base_context() return render_template('buyAd%s.html' % name.title(), **context)
def directions(cid): context = base_context() context['cart'] = carts.find_one(_id=ObjectId(cid)); return render_template('directions.html', **context)
def logout(): context = base_context() if context['user'] is not None: session['username'] = None return redirect(url_for('index'))
def user_profile(uid): context = base_context() context['target_user'] = users.find_one(_id=uid) return render_template('user_profile.html', **context)