Exemple #1
0
def proof_todo_keep_post():
    if session.get('login'):
        # check user volation
        db = dbd.connect()
        if dbd.check_own_by_id(db, request.form['id'], session.get('uid')):
            # proof
            valid = False
            if request.files['img'].read() == b'':
                valid = todo.proof(db, session.get('uid'),
                                   request.form['id'], request.form['proof'],
                                   int(request.form['v']))
            else:
                # check image
                img_valid, img_b = img2bytes(request.files['img'])
                if img_valid:
                    valid = todo.proof(db, session.get('uid'),
                                       request.form['id'],
                                       request.form['proof'],
                                       int(request.form['v']), img_b)
                else:
                    flash('Unsupported Image.')

            if not valid:
                # return to dashboard
                flash('Time violation or unnecessary repeat.')
            return redirect('/todo_keep')
    flash('Encountering user fence violation, force log out')
    return redirect('/logout')
Exemple #2
0
def proof_todo_sport_post():
    if session.get('login'):
        # check user volation
        db = dbd.connect()
        if dbd.check_own_by_id(db, request.form['id'], session.get('uid')):
            # proof
            if request.files['img'].read() == b'':
                todo.proof(db, float(request.form['val']), session.get('uid'),
                           request.form['id'], request.form['proof'],
                           int(request.form['v']))
            else:
                # check image
                img_valid, img_b = img2bytes(request.files['img'])
                if img_valid:
                    todo.proof(db, float(request.form['val']),
                               session.get('uid'),
                               request.form['id'], request.form['proof'],
                               int(request.form['v']), img_b)
                else:
                    flash('Unsupported Image.')

            # return to dashboard
            return redirect('/todo_sport')
    flash('Encountering user fence violation, force log out')
    return redirect('/logout')
Exemple #3
0
def peek_user_get():
    if session.get('login'):
        db = dbd.connect()
        # check user premission
        if dbd.check_upermission_user(db, session.get('uid'),
                                      request.args['id']):

            # get the content
            return render_template(
                'peek_user.html',
                uinfo=dbd.get_uinfo(db, session.get('uid')),
                version=version,
                u=dbd.get_user(db, request.args['id']),
                powdump=dbd.dump_pow_user_fence(db, request.args['id']),
                todotump_finished=dbd.dump_todo_user_finished(
                    db, request.args['id']),
                todotump_progress=dbd.dump_todo_user_progress(
                    db, request.args['id']))
        else:
            flash('Permission Denied / No User Found')
            return redirect('/hub')

    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #4
0
def peek_todo_sport_get():
    if session.get('login'):
        db = dbd.connect()
        # check user permission by todo (base info)
        if dbd.check_upermission_todo(db, session.get('uid'),
                                      request.args['id']):
            # get special data
            info = todo.get_info(db, request.args['id'])
            if None == info:
                # type error
                flash('Todo Type Violation.')
                return redirect('/todo_sport')
            else:
                dep = None if info[4] == -1 else dbd.get_todo_with_type(
                    db, info[4])
                return render_template(
                    'peek_todo_sport.html',
                    uinfo=dbd.get_uinfo(db, session.get('uid')),
                    version=version,
                    powdump=dbd.dump_pow_todo_fence(db, request.args['id']),
                    info=info,
                    dep=dep)
        else:
            flash('Permission Denied / No Book Todo Found')
            return redirect('/todo_sport')
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #5
0
def me_gen_tok_post():
    if session.get('login'):
        db = dbd.connect()
        dbu.gen_friend_code(db, session.get('uid'))
        return redirect('/me')
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #6
0
def me_add_friend_post():
    if session.get('login'):
        db = dbd.connect()
        dbu.new_friend(db, request.form['token'], session.get('uid'))
        return redirect('/me')
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #7
0
def del_todo_get():
    if session.get('login'):
        db = dbd.connect()
        dbd.delete_todo(db, request.args['id'], session.get('uid'))
        return redirect('/manage')
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #8
0
def me_visible_post():
    if session.get('login'):
        db = dbd.connect()
        dbu.update_visible(db, session.get('uid'), request.form['v'])
        return redirect('/me')
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #9
0
def spend_credit_post():
    if session.get('login'):
        db = dbd.connect()
        dbd.credit_spend(db, session.get('uid'), request.args['id'])
        return redirect('/')
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #10
0
def activate_post():
    name = request.form['name']
    passwd = hash(request.form['passwd'])
    actcode = request.form['actcode']
    db = dbd.connect()
    if dbu.auth_activate(db, name, passwd, actcode):
        return redirect('/login')
    else:
        flash('Activation Failed.')
        return redirect('/activate')
Exemple #11
0
def friend_get():
    if session.get('login'):
        db = dbd.connect()
        return render_template('friend.html',
                               uinfo=dbd.get_uinfo(db, session.get('uid')),
                               version=version,
                               friend=dbu.get_friend(db, session.get('uid')))
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #12
0
def me_wassup_post():
    if session.get('login'):
        #update wassup
        db = dbd.connect()
        dbu.update_motto(db, session.get('uid'), request.form['motto'])
        #update cookie
        return redirect('/me')
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #13
0
def new_credit_post():
    if session.get('login'):
        # create
        db = dbd.connect()
        dbd.credit_create(db, session.get('uid'), request.form['name'],
                          request.form['price'], request.form['after'])
        return redirect('/')
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #14
0
def trash_credit_get():
    if session.get('login'):
        db = dbd.connect()
        if '0' == request.args['r']:
            dbd.set_trash_credit(db, request.args['id'], session.get('uid'), 1)
        else:
            dbd.set_trash_credit(db, request.args['id'], session.get('uid'), 0)
        return redirect('/manage')
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #15
0
def proof_todo_keep_get():
    if session.get('login'):
        db = dbd.connect()
        # check user violation
        return render_template('/proof_todo_keep.html',
                               uinfo=dbd.get_uinfo(db, session.get('uid')),
                               version=version,
                               id=request.args['id'])
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #16
0
def help_get():
    if session.get('login'):
        db = dbd.connect()
        uinfo = dbd.get_uinfo(db, session.get('uid'))
    else:
        uinfo = ["#Anonymous", "我没有敌人。", "NaN"]
    readme = open('readme.md').read()
    return render_template('help.html',
                           uinfo=uinfo,
                           version=version,
                           readme=readme)
Exemple #17
0
def new_credit_get():
    if session.get('login'):
        db = dbd.connect()
        return render_template('/new_credit.html',
                               uinfo=dbd.get_uinfo(db, session.get('uid')),
                               version=version,
                               before=dbd.get_user_avali_credit(
                                   db, session.get('uid')))
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #18
0
def new_todo_sport_post():
    #auth user
    if session.get('login'):
        db = dbd.connect()
        todo.create(db, session.get('uid'), request.form['iid'],
                    request.form['name'] + ' : ' + request.form['unit'],
                    float(request.form['goal']), request.form['after'],
                    request.form['rate'])
        return redirect('/todo_sport')
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #19
0
def hub_get():
    if session.get('login'):
        db = dbd.connect()
        return render_template('hub.html',
                               uinfo=dbd.get_uinfo(db, session.get('uid')),
                               version=version,
                               powdump=dbd.dump_pow_me_fence(
                                   db, session.get('uid')),
                               userdump=dbd.dump_user_visible_hub(db))
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #20
0
def todo_sport_get():
    if session.get('login'):
        db = dbd.connect()
        return render_template(
            'todo_sport.html',
            uinfo=dbd.get_uinfo(db, session.get('uid')),
            version=version,
            opened=todo.get_by_uid_opened(db, session.get('uid')),
            instructed=todo.get_by_uid_instructed(db, session.get('uid')),
            pending=todo.get_by_uid_pending(db, session.get('uid')))
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #21
0
def todo_book_get():
    if session.get('login'):
        db = dbd.connect()
        return render_template('todo_book.html',
                                uinfo = dbd.get_uinfo(db, session.get('uid')),
                                version = version,
                                todo_books = todo.get_by_uid_todo(db, session.get('uid')),
                                finished_books = todo.get_by_uid_finished(db, session.get('uid')),
                                pending_books = todo.get_by_uid_pending(db, session.get('uid')),
                                instructed_books = todo.get_by_uid_instructed(db, session.get('uid')))
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #22
0
def manage_get():
    if session.get('login'):
        db = dbd.connect()
        return render_template('manage.html',
                               uinfo=dbd.get_uinfo(db, session.get('uid')),
                               version=version,
                               todo=dbd.dump_todo_user(db, session.get('uid')),
                               credito=dbd.dump_credit_user(
                                   db, session.get('uid')),
                               pow=dbd.dump_pow_user(db, session.get('uid')),
                               bond=dbd.dump_bond_user(db, session.get('uid')))
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #23
0
def me_passcode_post():
    hashnew = hash(request.form['passwdn'])
    hashold = hash(request.form['passwd'])
    if session.get('login') and hashold == session.get('auth'):
        #change passcode
        db = dbd.connect()
        dbu.update_passwd(db, session.get('uid'), hashold, hashnew)
        # update cookie
        # we assume the user is being violated anyway
        flash('Password Changed, please login again with new password.')
        return redirect('/logout')
    else:
        flash('Wrong password, force log out.')
        return redirect('/logout')
Exemple #24
0
def new_todo_get():
    if session.get('login'):
        db = dbd.connect()
        sur = dbd.get_type(db)[int(request.args['tid'])]
        return render_template('/new_todo_' + sur + '.html',
                               uinfo=dbd.get_uinfo(db, session.get('uid')),
                               todo=dbd.get_nfinished_by_uid(
                                   db, session.get('uid')),
                               version=version,
                               uid=session.get('uid'),
                               bond=dbu.get_friend(db, session.get('uid')))
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #25
0
def new_todo_book_post():
    #auth user
    if session.get('login'):
        db = dbd.connect()
        todo.create(db,
            session.get('uid'),
            request.form['iid'],
            request.form['name'],
            request.form['start'],
            request.form['end'],
            request.form['after'],
            request.form['rate'])
        return redirect('/todo_book')
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #26
0
def todo_keep_get():
    if session.get('login'):
        db = dbd.connect()
        return render_template(
            'todo_keep.html',
            uinfo=dbd.get_uinfo(db, session.get('uid')),
            version=version,
            inprogress=todo.get_by_uid_inprogress(db, session.get('uid')),
            finished=todo.get_by_uid_finished(db, session.get('uid')),
            finished_daily=todo.get_by_uid_finished_daily(
                db, session.get('uid')),
            pending=todo.get_by_uid_pending(db, session.get('uid')),
            instructed=todo.get_by_uid_instructed(db, session.get('uid')))
    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #27
0
def login_post():
    name = request.form['name']
    passwd = hash(request.form['passwd'])
    db = dbd.connect()
    motto, uid, credit = dbu.auth_user(db, name, passwd)
    if motto != None:
        # success, get session
        session['login'] = True
        session['uid'] = uid
        session['auth'] = passwd
        session['user'] = name
        resp = redirect('/')

        return resp
    else:
        flash('Login failed.')
        return redirect('/login')
Exemple #28
0
def root_get():
    if session.get('login'):
        db = dbd.connect()
        uinfo = dbd.get_uinfo(db, session.get('uid'))
        return render_template(
            'credit.html',
            uinfo=uinfo,
            version=version,
            credit_avaliable=dbd.credit_get_avaliable(db, session.get('uid'),
                                                      uinfo[2]),
            credit_pending=dbd.credit_get_pending(db, session.get('uid')),
            credit_finished=dbd.credit_get_finished(db, session.get('uid')),
            credit_inprogress=dbd.credit_get_inprogress(
                db, session.get('uid'), uinfo[2]))

    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #29
0
def peek_proof_get():
    if session.get('login'):
        db = dbd.connect()
        # check user premission

        if dbd.check_upermission_pow(db, session.get('uid'),
                                     request.args['id']):
            # get the content
            return render_template('peek_proof.html',
                                   uinfo=dbd.get_uinfo(db, session.get('uid')),
                                   version=version,
                                   proof=dbd.get_pow(db, request.args['id']))
        else:
            flash('Permission Denied / No Proof Found')
            return redirect('/hub')

    else:
        flash(sess_rej)
        return redirect('/login')
Exemple #30
0
def new_todo_keep_post():
    #auth user
    if session.get('login'):
        db = dbd.connect()
        todo.create(
            db,
            session.get('uid'),
            request.form['iid'],
            request.form['name'],
            request.form['after'],
            request.form['rate'],
            int(request.form['open'].replace(':', '')),
            int(request.form['close'].replace(':', '')),
            request.form['span'],
            request.form['repeat'],
            request.form['is_loop'],
        )
        return redirect('/todo_keep')
    else:
        flash(sess_rej)
        return redirect('/login')