def login(): # cut the page for authenticated users if current_user.is_authenticated: return redirect(url_for('index')) # Declare the login form form = LoginForm(request.form) # Flask message injected into the page, in case of any errors msg = None # check if both http method is POST and form is valid on submit if form.validate_on_submit(): # assign form data to variables username = request.form.get('username', '', type=str) password = request.form.get('password', '', type=str) # filter User out of database through username user = User.get_by_username(username) if user: #if bc.check_password_hash(user.password, password): if user.password == password and user.is_admin: print("password matched") login_user(user) Database.insert(collection="login_log", data={ "user_name": username, "date_time": str(datetime.datetime.utcnow()), "ip": request.remote_addr }) return redirect(url_for('index')) else: msg = "Wrong password or not Admin. Please try again." else: msg = "Unknown user" return render_template('pages/auth-login.html', form=form, msg=msg)
def email_auth(self): print("Creating registration email") token = uuid.uuid4().hex links = [ 'http://ec2-3-19-30-128.us-east-2.compute.amazonaws.com/auth/verify_email/' + str(self.user_id) + '/' + token, 'http://ec2-3-19-30-128.us-east-2.compute.amazonaws.com:5000/auth/verify_email/' + str(self.user_id) + '/' + token, 'http://127.0.0.1:5000/auth/verify_email/' + str(self.user_id) + '/' + token ] Database.insert(collection='email_token', data={ 'user_id': self.user_id, 'email_token': token }) msg = Message('Verify Email', sender='*****@*****.**', recipients=[self.email]) msg.html = render_template('pages/verify_email.html', name=self.fname, links=links) mail.send(msg)
def save_to_mongo(self): Database.insert(collection='users', data=self.json())
def save_to_mongo(self): Database.insert("baseball", self.json())
def save_to_mongo(self): Database.insert(collection='blacklist_tokens', data=self.json())
def login(): """ Login a new Admin user. SCTRCTLY FOR ADMIN UI return a root redirect for the given user clears session.\n method: GET, POST \n GET: Returns HTML page (VIEW) for user to enter information\n POST: API usage, acts a api to login user\n params should be in a FLASK FORM json format (Form data).\n\n Args: form_data: data retrived from Flask form from the frontend Returns: redirect: url to the login page if registration is a success.\n error: message to frontend if registration is a fail form_data = { username': type=str password': type=str } \n\n """ # cut the page for authenticated users if current_user.is_authenticated: return redirect(url_for('index')) # Declare the login form form = LoginForm(request.form) # Flask message injected into the page, in case of any errors msg = None # check if both http method is POST and form is valid on submit if form.validate_on_submit(): # assign form data to variables username = request.form.get('username', '', type=str) password = request.form.get('password', '', type=str) # filter User out of database through username user = User.get_by_username(username) if user: #if bc.check_password_hash(user.password, password): if user.password == password and user.is_admin: print("password matched") login_user(user) Database.insert(collection="login_log", data={ "user_name": username, "date_time": str(datetime.datetime.utcnow()), "ip": request.remote_addr }) return redirect(url_for('index')) else: msg = "Wrong password or not Admin. Please try again." else: msg = "Unknown user" return render_template('pages/auth-login.html', form=form, msg=msg)
def save_to_database(self): Database.insert(table='wbs', data=self.json())
def save_to_mongo(self): Database.insert("roster", self.json())
def save_to_mongo(self): Database.insert(COLLECTION, self.json())
def save_to_mongo(self): Database.insert("users", self.json())
def save_to_mongo(self): print(self.json()) Database.insert(collection = 'projects', data = self.json())
def save_to_mongo(self, collection: str, exclude=None): Database.insert(collection, self.json(exclude, date_to_string=False))