Exemplo n.º 1
0
def userProfile():
    params = dict()
    user = model.getUserByEmail(login_session['email'])
    params['user'] = user
    params['me'] = login_session
    params['code_submitted'] = model.getUserCodeToReview(user.id)
    return render_template("profile.html", **params)
Exemplo n.º 2
0
def allReviews(offset):
    params = dict()
    user = model.getUserByEmail(login_session['email'])
    count = model.getUserCodeToReview(user.id, True, 1)
    params['me'] = login_session
    params['code_submitted'] = model.getUserCodeToReview(
        user.id, False, offset)
    params['pagination'] = utils.Pagination(offset, PER_PAGE, count)
    return render_template("activity.html", **params)
Exemplo n.º 3
0
def start(offset):
    params = dict()
    count = model.getAllProblems(True)
    user = model.getUserByEmail(login_session['email'])
    params['me'] = login_session
    params['code_submitted'] = model.getUserCodeToReview(user.id, True)
    random_problem = random.randint(1, count)
    params['random_problem'] = model.getProblemByID(random_problem)
    params['pagination'] = utils.Pagination(offset, PER_PAGE, count)
    params['problems'] = model.getAllProblems(False, offset)
    return render_template('start.html', **params)
Exemplo n.º 4
0
def attemptSolution(pb_id):
    # "submit solution to a problem to review". RUN THE CODE WHILE SAVING
    if request.method == "POST":
        language = request.form["code_language"]
        solution = json.dumps(request.form["code"])
        user = model.getUserByEmail(login_session['email'])
        if request.form['action'] == "review_code":
            model.addCodeToReview(solution, language, pb_id, user.id)
            msge = """ You submitted your code for review.
            You will be notified when a comment will be made."""
            flash(msge, "success")
            return redirect(url_for('allReviews'))
        if request.form['action'] == "save_code":
            model.editProblem(pb_id, solution, language)
            # save my code
        if request.form['action'] == "run_code":
            # run code
            print "here run the code"

    return redirect(url_for('displayProblem', pb_id=pb_id))
Exemplo n.º 5
0
def login():
    if isLogged():
        flash("You are logged as %s" % login_session['username'], "success")
        return redirect(url_for('start'))

    if request.method == "POST":
        user = model.getUserByEmail(request.form["email"])
        if user and utils.check_secure_pass(
                request.form["passwd"], user.password):
            login_session['username'] = user.username
            login_session['email'] = user.email
            login_session['access_token'] = True

            return redirect(url_for('start'))
        else:
            flash("Email or Password incorrect", "danger")
    state = ''.join(random.choice(string.ascii_uppercase + string.digits)
                    for x in xrange(32))
    login_session['state'] = state

    return render_template('login.html', STATE=state)
Exemplo n.º 6
0
def signUp():
    if isLogged():
        flash("You are logged as %s" % login_session['username'], "success")
        return redirect(url_for('start'))
    if request.method == 'POST':
        error = False
        username = request.form["username"]
        emailAdr = request.form["email"]
        passwd = request.form["passwd"]
        verif_passwd = request.form["verif_passwd"]
        if not utils.valid_email(emailAdr):
            error = True
            flash("Invalid email", "error")
        if not utils.valid_password(passwd):
            error = True
            flash("Invalid password", "error")
        if verif_passwd != passwd:
            error = True
            flash("Password verification failed", "error")
        if model.getUserByEmail(emailAdr):
            error = True
            flash("User Already exist", "warning")

        if error:
            return redirect(url_for('signUp'))

        model.addUser(username, emailAdr, passwd)
        msg = "Welcome %s", str(username)
        flash(msg, "success")
        utils.send_welcome(emailAdr)
        return redirect(url_for('login'))

    else:
        state = ''.join(random.choice(string.ascii_uppercase + string.digits)
                        for x in xrange(32))
        login_session['state'] = state
        return render_template('signup.html', STATE=state)