示例#1
0
def delete_item():
    if not logged_in():
        flash('You are not logged in.')
        return redirect(url_for('index'))
    elif request.method == 'GET':
        db.remove_item(int(request.args.get('i_id')))
    return redirect(url_for('profile'))
示例#2
0
文件: app.py 项目: fahmed3/Journey42
def profile():
    if auth.logged_in():
        name = session['username']
        return render_template('profile.html', name=name)  #likes, places
    else:
        flash('Access error. You are not logged in.')
        return redirect('index')
示例#3
0
def logout():
    if auth.logged_in():
        auth.logout()
        flash('You have been logged out.')
    else:
        flash('Logout Error: You are not logged in.')
    return redirect('index')
示例#4
0
def categories():
    if auth.logged_in():
        #flash('Welcome to the categories page. Select a category to play!')
        return render_template('categories.html')
    else:
        flash('Access error. You are not logged in.')
        return redirect('index')
示例#5
0
def messenger():
    if request.method == 'POST':
        return redirect(url_for('messenger'))
    if auth.logged_in(g_username):
        fList = database.f_getlist(g_username)
        #print fList
        fpDict = {}
        for userName in fList:
            #print (userName)
            userIndex = 0
            if userName[0] == g_username:
                userIndex = 1
            pictureString = database.get_picture(userName[userIndex],
                                                 g_username)
            fpDict[userName] = pictureString

#print fpDict
#print "SPAMMMMM"
#print fpDict
        database.del_picture(g_username)
        #print "del --------------"
        return render_template("messenger.html",
                               username=g_username,
                               friendPicDict=fpDict)
    else:
        session['alert-type'] = 'error'
        flash('Please log in before checking your messages')
    return redirect(url_for('login'))
示例#6
0
def logout():
    if logged_in():
        flash('You have been logged out.')
        auth.logout()
    else:
        flash('You are not logged in!')
    return redirect(url_for('index'))
示例#7
0
def change_item():
    if not logged_in():
        flash('You are not logged in.')
        return redirect(url_for('index'))
    elif request.method == 'GET':
        db.change_status(int(request.args.get('i_id')),int(request.args.get('status')))
    return redirect(url_for('profile'))
示例#8
0
def change_name():
    if not logged_in():
        flash('You are not logged in.')
        return redirect(url_for('index'))
    elif request.method == 'POST':
        db.change_name(session['u_id'], request.form.get('name'))
        flash('Name changed!')
    return redirect(url_for('profile'))
示例#9
0
def settings():
    if request.method == 'POST':
        return redirect(url_for('settings'))
    if auth.logged_in(g_username):
        return render_template('settings.html')
    else:
        session['alert-type'] = 'error'
        flash('Please log in before changing your settings')
        return redirect(url_for('login'))
示例#10
0
def gchat():
    if request.method == 'POST':
        return redirect(url_for('gchat'))
    if auth.logged_in(g_username):
        return render_template('gchat.html')
    else:
        session['alert-type'] = 'error'
        flash('Please log in before joining the global chat')
        return redirect(url_for('login'))
示例#11
0
def friendslist():
    if request.method == 'POST':
        return redirect(url_for('friendslist'))
    if auth.logged_in(g_username):
        f_list = database.f_getlist(g_username)
        return render_template('friendslist.html', f_list=f_list)
    else:
        session['alert-type'] = 'error'
        flash('Please log in before checking your friends list')
        return redirect(url_for('login'))
示例#12
0
def results():
    if auth.logged_in():
        name = session['username']
        if request.method == "POST":
            score = request.form.get('t-points')
            category = request.form.get('category')
        database.addStat(name, category, score)
        return render_template('results.html', score=score, category=category)
    else:
        flash('Access error. You are not logged in.')
        return redirect('index')
示例#13
0
def change_pass():
    if not logged_in():
        flash('You are not logged in.')
        return redirect(url_for('index'))
    elif request.method == 'POST':
        if request.form.get('password1') == request.form.get('password2'):
            db.change_pass(session['u_id'], request.form.get('password1'))
            flash('Password changed!')
        else:
            flash('Passwords do not match.')
    return redirect(url_for('profile'))
示例#14
0
文件: app.py 项目: fahmed3/Journey42
def find_friends():
    if auth.logged_in():
        if request.method == 'POST':
            #place = request.form.get('search_places')
            #users = database.get_users(place)
            users = ['Lisa',
                     'Christina']  #hardcoded in, database doesn't exist
            return render_template('find_friends.html', users=users)
    else:
        flash('Access error. You are not logged in.')
        return redirect('index')
示例#15
0
def profile():
    if auth.logged_in():
        name = session['username']
        stats = database.getStats(name)
        statsHTML = []
        for i in stats:
            item = dict(category=i[0], score=i[1])
            statsHTML.append(item)
        return render_template('profile.html', name=name, statsHTML=statsHTML)
    else:
        flash('Access error. You are not logged in.')
        return redirect('index')
示例#16
0
def upload():
    if not logged_in():
        flash('You are not logged in.')
        return redirect(url_for('index'))
    if request.method == 'POST':

        is_selling = True if request.form.get('type') == 'sell' else False

        item = request.form.get('item')
        price = request.form.get('price')
        description = request.form.get('description')

        if not item or not price or not description:
            flash('You must fill out all fields.')
            return redirect(url_for('upload'))

        price = float(price)
        
        # sanitizing price inputs
        if price < 0:
            flash('Price must be greater than $0.')
            return redirect(url_for('upload'))

        if price > 9999.99:
            flash('Price must be less than $10,000.')
            return redirect(url_for('upload'))

        # handle uploaded images
        f = request.files.getlist('pictures[]')

        if not f:
            flash('You must upload a picture.')
            return redirect(url_for('upload'))

        for pic in f:
            if not allowed_file(pic.filename):
                flash('Pictures must be in .jpg or .jpeg format.')
                return redirect(url_for('upload'))

        i = 0
        i_id = db.add_item(item, price, description, is_selling, int(session['u_id']))

        for pic in f:
            timestamp = str(time.time()).replace(".", "_")
            filename = str(session['u_id']) + '_' + timestamp + '_' + str(i) + '.jpg'

            path = app.config['UPLOAD_FOLDER'] + '/' + filename
            pic.save(path)
            db.add_picture(i_id, path.strip('static/'))
            i += 1

        return redirect(url_for('profile'))
    return render_template('upload.html')
示例#17
0
def logout():
    # Delete session cookie etc.
    if auth.logged_in(g_username):
        auth.logout(g_username)
        global g_username
        g_username = ""
        app.jinja_env.globals.update(g_username="")
        session['alert-type'] = 'notice'
        flash('You have been logged out.')
    else:
        session['alert-type'] = 'error'
        flash('You can\'t log out if you aren\'t logged in.')
    return redirect(url_for('index'))
示例#18
0
def login():
    if logged_in():
        flash('You are already logged in!')
        return redirect(url_for('index'))
    if request.method == 'POST':
        email = request.form.get('email')
        if auth.login(email, request.form.get('password')):
            flash('Welcome back, ' + db.get_user_name(email) + '!')
            return redirect(url_for('index'))
        else:
            flash('Invalid credentials, please try again.')
            return redirect(url_for('login'))
    return render_template('login.html')
示例#19
0
def index():
    if auth.logged_in(g_username):
        fList = database.f_getlist(g_username)
        #print fList
        return render_template("index.html",
                               friendList=fList,
                               username=g_username)
    else:
        session['alert-type'] = 'notice'
        flash('Please login to the site before using it')
        return redirect(url_for('login'))
    if request.method == 'POST':
        return redirect(url_for('index'))
    return render_template('index.html')
示例#20
0
def profile(name):
    if request.method == 'POST':
        name = request.form['search-name']
        return redirect(url_for('profile', name=name))
    if auth.logged_in(g_username):
        if auth.u_exists(name):
            bio = database.get_bio(name)
            status = database.f_getstatus(g_username, name)
            return render_template('profile.html',
                                   name=name,
                                   status=status,
                                   bio=bio)
        else:
            return render_template('noprofile.html')
    else:
        session['alert-type'] = 'error'
        flash('Please log in before checking your profile')
        return redirect(url_for('login'))
示例#21
0
def profile():
    if not logged_in():
        flash('You are not logged in.')
        return redirect(url_for('index'))
    user = session['u_id']
    ## make a dict where all Uitems = items where items['u_id'] == session['u_id']
    items = None
    if request.args.get('query'):
        items = db.get_items_search(request.args.get('query'))
    else:
        items = db.get_all_items()
    Uitems ={}
    Bitems={}
    for i in items:
        if items[i]['user_id'] == user:
            Uitems[i] = items[i]
        if (items[i]['user_id']!=user & items[i]['status'] != 0):
            Bitems[i]=items[i]
    return render_template("profile.html", Uitems = Uitems, Bitems=Bitems, user=user )
示例#22
0
def question():
    if auth.logged_in():
        if request.method == 'POST':
            catNum = request.form.get('subject')
        response = trivia.call_api(catNum)
        category = response[0]['category']
        question = response[0]['question']
        answers = trivia.randomize(response[0])
        canswer = response[0]['correct_answer']
        bots = json.dumps(game.gen_bots(request.form.get('b-difficulty')))
        return render_template('question.html',
                               question=question,
                               answers=answers,
                               canswer=canswer,
                               category=category,
                               bots=bots)
    else:
        flash('Access error. You are not logged in.')
        return redirect('index')
示例#23
0
def settings():
    if auth.logged_in():
        if request.method == "POST":
            currentpassword = request.form.get('currentpassword')
            newpassword = request.form.get('newpassword')
            vertify = request.form.get('vertify')
            if auth.encrypt(currentpassword) == database.get_password(
                    session['username']):
                if newpassword == vertify:
                    database.change_password(session['username'],
                                             auth.encrypt(newpassword))
                    flash('Successful password change.')
                else:
                    flash('Failed. Passwords do not match.')
                    return redirect('/settings')
            else:
                flash('Failed. Wrong old password.')
                return redirect('/settings')
    else:
        return redirect('index')
    return render_template('settings.html')
示例#24
0
def create():
    if logged_in():
        flash('You are already logged in!')
        return redirect(url_for('index'))

    if request.method == 'POST':
        password1 = request.form.get('password1')
        password2 = request.form.get('password2')
        email = request.form.get('email')
        fname = request.form.get('fname')
        lname = request.form.get('lname')
        name = fname + ' ' + lname
        terms = request.form.get('terms')

        if (password1 == '' or password2 == '' or fname == '' or lname == '' or email == ''):

            flash('Please fill in all fields')
            return redirect(url_for('create'))

        if not password1 == password2:
            flash('Passwords do not match.')
            return redirect(url_for('create'))


        if not email.endswith('@stuy.edu'):
            flash('Email is invalid.')
            return redirect(url_for('create'))

        if not terms:
            flash('Please read and accept the terms of service')
            return redirect(url_for('create'))

        if not auth.add_user(email, password1, name):
            flash('Email already in use.')
            return redirect(url_for('login'))

        flash('Welcome ' + fname + '!')
        return redirect(url_for('index'))

    return render_template('create.html')
示例#25
0
def send_email():
    if not logged_in():
        flash('You are not logged in!')
        return redirect(url_for('index'))

    seller_email = None
    email_body = None

    if request.method == 'POST':
        seller_email = db.get_user_email(int(request.args.get('u_id')))
        email_body = request.form.get('email')
    else:
        seller_email = session['seller_email']
        email_body = session['email_body']

    if 'credentials' not in session:
        session['seller_email'] = seller_email
        session['email_body'] = email_body
        return redirect(url_for('authorize'))

    # Load credentials from the session.
    credentials = google.oauth2.credentials.Credentials(
        **session['credentials']
    )

    service = googleapiclient.discovery.build('gmail', 'v1', credentials=credentials)
    message = gmail.create_message("me", seller_email, "Item Inquiry", email_body)
    gmail.send_message(service, "me", message)

    # Save credentials back to session in case access token was refreshed.
    # ACTION ITEM: In a production app, you likely want to save these
    #              credentials in a persistent database instead.
    session['credentials'] = gmail.credentials_to_dict(credentials)

    flash('Email sent!')
    return redirect(url_for('index'))
示例#26
0
def index():
    if logged_in():
        return redirect(url_for('market'))
    return render_template('index.html')