Exemple #1
0
def settings():
    if request.method == 'GET':
        # GET USER INFO FOR SETTINGS
        user = controls.get_user_info(session.get('username'))
        if not user:
            return redirect(url_for('logout'))
        authorized_users = controls.get_authorized_users()
        lead = controls.get_lead(session.get('username'))
        if len(lead) == 0:
            lead={'first_name':'', 'last_name':'', 'username':''}
        else:
            lead=lead[0]
        return render_template('settings.html', authorized_users = authorized_users, lead=lead['username'], user=user)   
    elif request.method== 'POST':
        # UPDATE USER INFO WITH: ALL VALUES FROM THE FORM
        lead_id = request.form['lead'] if request.form['lead'] != 'None' else None
        payload ={'first_name':request.form['first_name'],
                  'last_name':request.form['last_name'],
                  'lead_id':lead_id}
        if request.form['password'] != '':
            payload['password']=request.form['password']
        if 'auth' in request.form:
            payload['authorized']=0
            payload['auth_token']=None
            session.pop('shard_id')
            session.pop('auth_token')
            session['authorized'] = 0
        payload['use_email'] = request.form['use_email']
        #payload['use_email'] = 1 if 'use_email' in request.form else 0
        controls.update_user(session.get('username'), **payload)
        flash('Settings Updated Successfully')
        session['first_name'] = request.form['first_name']
        session['last_name'] = request.form['last_name']
        return redirect(url_for('settings', lead=lead_id))
Exemple #2
0
def admin():
    """used to administrate the users of the system"""
    if request.method == 'GET':
        # SELECT ALL USERS, ADMIN_USERS, AND LEAD ID
        users = controls.get_users_info()
        # GET LEAD FIRST / LAST BASED ON lead_id
        for user in users:
            # RETURNS A JSON ObJECT OF USERNAME, FIRST AND LAST
            lead = controls.get_lead(user['username'])
            if len(lead) > 0:
                user['lead_first'] = lead['first_name']
                user['lead_last'] = lead['last_name']
        return render_template('admin.html', users=users)
    elif request.method == 'POST':
        users = request.form.getlist('user')
        action = request.form['action']
        for user in users:
            if action == 'delete':
                controls.delete_user(user)
            elif action == 'admin':
                controls.update_user(user, is_admin=1)
            elif action == 'noadmin':
                controls.update_user(user, is_admin=0)
            elif action == 'auth':
                controls.update_user(user,
                                     auth_token=None,
                                     shard_id=None,
                                     authorized=0)
                session['authorized'] = 0
                session.pop('auth_token')
                session.pop('shard_id')
            elif action == 'pwd':
                controls.update_user(user, password='******')
        return redirect(url_for('admin'))
Exemple #3
0
def admin():
    """used to administrate the users of the system"""
    if request.method == 'GET':
        # SELECT ALL USERS, ADMIN_USERS, AND LEAD ID
        users = controls.get_users_info()
        # GET LEAD FIRST / LAST BASED ON lead_id
        for user in users:
            # RETURNS A JSON ObJECT OF USERNAME, FIRST AND LAST 
            lead = controls.get_lead(user['username'])
            if len(lead) > 0:
                user['lead_first'] = lead['first_name']
                user['lead_last'] = lead['last_name']
        return render_template('admin.html', users=users)
    elif request.method == 'POST':
        users = request.form.getlist('user')
        action = request.form['action']
        for user in users:
            if action == 'delete':
                controls.delete_user(user)
            elif action == 'admin':
                controls.update_user(user, is_admin=1)
            elif action == 'noadmin':
                controls.update_user(user, is_admin=0)
            elif action == 'auth':
                controls.update_user(user, auth_token=None, shard_id=None, authorized=0)
                session['authorized'] = 0
                session.pop('auth_token')
                session.pop('shard_id')
            elif action == 'pwd':
                controls.update_user(user, password='******')
        return redirect(url_for('admin'))
Exemple #4
0
def settings():
    if request.method == 'GET':
        # GET USER INFO FOR SETTINGS
        user = controls.get_user_info(session.get('username'))
        if not user:
            return redirect(url_for('logout'))
        authorized_users = controls.get_authorized_users()
        lead = controls.get_lead(session.get('username'))
        if len(lead) == 0:
            lead = {'first_name': '', 'last_name': '', 'username': ''}
        else:
            lead = lead[0]
        return render_template('settings.html',
                               authorized_users=authorized_users,
                               lead=lead['username'],
                               user=user)
    elif request.method == 'POST':
        # UPDATE USER INFO WITH: ALL VALUES FROM THE FORM
        lead_id = request.form[
            'lead'] if request.form['lead'] != 'None' else None
        payload = {
            'first_name': request.form['first_name'],
            'last_name': request.form['last_name'],
            'lead_id': lead_id
        }
        if request.form['password'] != '':
            payload['password'] = request.form['password']
        if 'auth' in request.form:
            payload['authorized'] = 0
            payload['auth_token'] = None
            session.pop('shard_id')
            session.pop('auth_token')
            session['authorized'] = 0
        payload['use_email'] = request.form['use_email']
        #payload['use_email'] = 1 if 'use_email' in request.form else 0
        controls.update_user(session.get('username'), **payload)
        flash('Settings Updated Successfully')
        session['first_name'] = request.form['first_name']
        session['last_name'] = request.form['last_name']
        return redirect(url_for('settings', lead=lead_id))
Exemple #5
0
def configure(guid_list=None):
    if request.method=='POST':
        guid_list = request.form.getlist('notebook')
        controls.update_user(session.get('username'), notebook_ids=','.join(guid_list))
        return redirect(url_for('configure'))
    else:    
        # CHECK IF THIS NEEDS SHARD/AUTH
        notebook_list=get_notebook_list(session.get('auth_token'), session.get('shard_id'))
        if guid_list is None:
            # CHECK AND SEE IF USER HAS SELECTED NOTEBOOKS
            guid_list = controls.get_notebook_ids(session.get('username'))
            if len(guid_list) == 1:
                guid_list = guid_list[0]['ids'].split(',')
            else:
                guid_list = None
        if guid_list is not None:
            for notebook in notebook_list:
                for guid in guid_list:
                    if guid == notebook['guid']:
                        notebook['selected'] = True
                        break    
    return render_template('configure.html', notebooks=notebook_list)
Exemple #6
0
def auth_finish():
    """After the user has authorized this application on Evernote's website,
    they will be redirected back to this URL to finish the process."""

    oauth_verifier = request.args.get('oauth_verifier', '')

    token = oauth.Token(session['oauth_token'], 
                        session['oauth_token_secret'])
    token.set_verifier(oauth_verifier)

#    client = get_oauth_client()
    client = get_oauth_client(token)

    # Retrieve the token credentials (Access Token) from Evernote
    resp, content = client.request(app.config['EN_ACCESS_TOKEN_URL'], 'POST')

    if resp['status'] != '200':
        raise Exception('Invalid response %s.' % resp['status'])

    access_token = dict(urlparse.parse_qsl(content))
    authToken = access_token['oauth_token']
    
    # MAY NEED SHARD/AUTH
    userStore = get_userstore()
    user = userStore.getUser(authToken)

    # Save the users information to so we can make requests later
    session['shard_id'] = user.shardId
    session['auth_token'] = authToken
    
    # INSERT THE SESSION AND LINK TO THE USERID
    controls.update_user(session.get('username'),
                         auth_token=session.get('auth_token'), 
                         shard_id=session.get('shard_id'),
                         authorized=1)
    flash("Evernote Test Session Authorized!!")
    return redirect(url_for('index'))
Exemple #7
0
def auth_finish():
    """After the user has authorized this application on Evernote's website,
    they will be redirected back to this URL to finish the process."""

    oauth_verifier = request.args.get('oauth_verifier', '')

    token = oauth.Token(session['oauth_token'], session['oauth_token_secret'])
    token.set_verifier(oauth_verifier)

    #    client = get_oauth_client()
    client = get_oauth_client(token)

    # Retrieve the token credentials (Access Token) from Evernote
    resp, content = client.request(app.config['EN_ACCESS_TOKEN_URL'], 'POST')

    if resp['status'] != '200':
        raise Exception('Invalid response %s.' % resp['status'])

    access_token = dict(urlparse.parse_qsl(content))
    authToken = access_token['oauth_token']

    # MAY NEED SHARD/AUTH
    userStore = get_userstore()
    user = userStore.getUser(authToken)

    # Save the users information to so we can make requests later
    session['shard_id'] = user.shardId
    session['auth_token'] = authToken

    # INSERT THE SESSION AND LINK TO THE USERID
    controls.update_user(session.get('username'),
                         auth_token=session.get('auth_token'),
                         shard_id=session.get('shard_id'),
                         authorized=1)
    flash("Evernote Test Session Authorized!!")
    return redirect(url_for('index'))
Exemple #8
0
def configure(guid_list=None):
    if request.method == 'POST':
        guid_list = request.form.getlist('notebook')
        controls.update_user(session.get('username'),
                             notebook_ids=','.join(guid_list))
        return redirect(url_for('configure'))
    else:
        # CHECK IF THIS NEEDS SHARD/AUTH
        notebook_list = get_notebook_list(session.get('auth_token'),
                                          session.get('shard_id'))
        if guid_list is None:
            # CHECK AND SEE IF USER HAS SELECTED NOTEBOOKS
            guid_list = controls.get_notebook_ids(session.get('username'))
            if len(guid_list) == 1:
                guid_list = guid_list[0]['ids'].split(',')
            else:
                guid_list = None
        if guid_list is not None:
            for notebook in notebook_list:
                for guid in guid_list:
                    if guid == notebook['guid']:
                        notebook['selected'] = True
                        break
    return render_template('configure.html', notebooks=notebook_list)