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))
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'))
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))
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)
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'))
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)