def home(): if not session.get('logged_in'): return render_template('login.html') else: files = filehandler() clnt = client() resp = files.list_files(session['username']) user = clnt.get_client(session['username']) return render_template('layout.html', files=resp, user=user)
def admin(): clnt = client() if 0 == clnt.is_admin_user(session['username']): return redirect( url_for('error', desc=session['username'] + " is not Admin User", action_url=str.rstrip(request.url, 'admin'))) admin = clnt.get_client(session['username']) users = clnt.get_clients() return render_template('admin.html', admin=admin, users=users)
def login(): c = client() error = None if request.method == 'POST': username = request.form['username'] password = request.form['password'] code, message = c.validate_client(username, password) if code != 0: return redirect( url_for('error', desc=message, action_url=str.rstrip(request.url, 'login'))) else: session['logged_in'] = True session['username'] = username return home()
def callback(): if session.get('logged_in'): return redirect(url_for('index')) if 'error' in request.args: if request.args.get('error') == 'access_denied': return 'You denied access.' return 'Error encountered.' if 'code' not in request.args and 'state' not in request.args: return redirect(url_for('login')) else: google = Auth.get_google_auth(str.rstrip(request.url, 'gAuthCallback'), state=session['oauth_state']) try: token = google.fetch_token(Auth.TOKEN_URI, client_secret=aws.getGoogleAccess(), authorization_response=request.url) except request.exceptions: return 'HTTPError occurred.' google = Auth.get_google_auth(str.rstrip(request.url, 'gAuthCallback'), token=token) resp = google.get(Auth.USER_INFO) if resp.status_code == 200: c = client() event = AttrDict() user_data = resp.json() event['username'] = user_data['email'] event['password'] = "" code, message = c.validate_client(event['username'], event['password']) if code == 254: event['firstname'] = user_data['given_name'] event['lastname'] = user_data['family_name'] event['email'] = user_data['email'] code, message = c.set_client(event) if code != 0: return redirect( url_for('error', desc=message, action_url=str.rstrip(request.url, 'gAuthCallback'))) else: session['logged_in'] = True session['username'] = user_data['email'] return home()
def signup(): c = client() error = None event = AttrDict() if request.method == 'POST': event['username'] = request.form['username'] event['password'] = request.form['password'] event['firstname'] = request.form['firstname'] event['lastname'] = request.form['lastname'] event['email'] = request.form['email'] code, message = c.set_client(event) if code != 0: return redirect( url_for('error', desc=message, action_url=str.rstrip(request.url, 'signup'))) else: return redirect( url_for('error', desc="Successfully signed up", action_url=str.rstrip(request.url, 'signup'))) return home()
def user_delete(): my_clnt = client() files = filehandler() code = 0 message = '' if request.method == 'POST': try: del_user = request.form['username'] if (del_user == session['username']): return redirect( url_for('error', desc="Can't delete same Admin User", action_url=str.rstrip(request.url, 'user_delete'))) files.del_userfiles(del_user) code, message = my_clnt.del_client(del_user) except: return redirect( url_for('error', desc=message, action_url=str.rstrip(request.url, 'user_delete'))) return home() return admin()
def get_path(self, username): c = client() if 0 == c.is_admin_user(username): return username+"/" return ""