Exemple #1
0
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)
Exemple #2
0
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)
Exemple #3
0
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)
Exemple #4
0
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)
Exemple #5
0
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)
Exemple #6
0
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)
Exemple #9
0
def directions(cid):
    context = base_context()
    context['cart'] = carts.find_one(_id=ObjectId(cid));

    return render_template('directions.html', **context)
Exemple #10
0
def logout():
    context = base_context()
    if context['user'] is not None:
        session['username'] = None

    return redirect(url_for('index'))
Exemple #11
0
def user_profile(uid):
    context = base_context()
    context['target_user'] = users.find_one(_id=uid)
    return render_template('user_profile.html', **context)