def get(self): id = get_user_id() #just loops and prints every question from query review = models.get_oldest_questions(True, False, models.getUser(id).username) submitted = models.get_oldest_questions(False, False, models.getUser(id).username) is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html', page_params) return page_params = { 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': id, 'review': review, 'submitted': submitted, 'admin': is_admin } render_template(self, 'viewDatabase.html', page_params)
def get(self): id = get_user_id() is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html' ,page_params) return newList = models.getCategoryList() page_params = { 'catList': newList, 'upload_urlQ': blobstore.create_upload_url('/NewQuestion'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': id, 'admin' : is_admin } render_template(self, 'newQuestionSubmit.html', page_params)
def create_user(): # Check if user is already logged in if "logged_in" in session and "user" in session: return redirect(url_for("home")) username = request.form.get("username") password = request.form.get("password") public_key = request.form.get("public_key") user_data = request.form.get("user_data") # Validate entered username and password error = None if None in [username, password, public_key, user_data]: error = "Request missing a field!" if len(username) == 0 or len(username) > 32: error = "Invalid username. Must be nonempty and contain at most 32 characters." if len([c for c in username if c.lower() not in VALID_USERNAME_CHARS]) > 0: error = "Invalid username. Must contain only letters (a-z), numbers (0-9), dashes (-), underscores (_)." if len(password) < 8 or len(password) > 128: error = "Invalid password. Must be at least 8 characters and at most 128 characters." if models.check_if_user_exists(username): error = "Username already taken." if error is not None: return jsonify(error=error) id = models.add_user_to_db(username, password, public_key, user_data) if id is None: return jsonify(error="Unexpected error.") session["logged_in"] = True session["user"] = models.find_user_by_name(username).to_dict() return jsonify(error=None)
def get(self): id = get_user_id() jAson = models.getAllUserScores() userList = json.dumps(jAson) is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html' ,page_params) return newList = models.getCategoryList() page_params = { 'category': 'ALL', 'catList': newList, 'user_id': get_user_id(), 'list': jAson, 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'admin': is_admin, } render_template(self, 'leaderboard.html', page_params)
def get(self): id = get_user_id() trueList = models.getCategoryList(True) falseList = models.getCategoryList(False) is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html' ,page_params) return page_params = { 'user_id': get_user_id(), 'trueCatList': trueList, 'falseCatList': falseList, 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'admin': is_admin, } render_template(self, 'reviewCategories.html', page_params)
def get(self): id = get_user_id() jAson = models.getAllUserScores() userList = json.dumps(jAson) is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html', page_params) return newList = models.getCategoryList() page_params = { 'category': 'ALL', 'catList': newList, 'user_id': get_user_id(), 'list': jAson, 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'admin': is_admin, } render_template(self, 'leaderboard.html', page_params)
def get(self): id = get_user_id() trueList = models.getCategoryList(True) falseList = models.getCategoryList(False) is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html', page_params) return page_params = { 'user_id': get_user_id(), 'trueCatList': trueList, 'falseCatList': falseList, 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'admin': is_admin, } render_template(self, 'reviewCategories.html', page_params)
def get(self): id = get_user_id() #just loops and prints every question from query review = models.get_oldest_questions(True,False) is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html' ,page_params) return page_params = { 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': id, 'review': review, 'admin' : is_admin } render_template(self, 'viewDatabase.html', page_params)
def get(self): questionID = self.request.get('id') id = get_user_id() review = models.getQuestionFromURL(questionID) is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html' ,page_params) return page_params = { 'upload_urlQE': blobstore.create_upload_url('/ReviewQuestion?id=' + questionID), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': id, 'review': review, 'admin' : is_admin } render_template(self, 'questionReview.html', page_params)
def get(self): id = get_user_id() #just loops and prints every question from query review = models.get_oldest_questions(True, False, None) is_admin = 0 if users.is_current_user_admin(): is_admin = 1 #else: # If not admin, redirect to your questions # NOTE: non-admins can now view this page #return self.redirect("/ReviewMyQuestions") if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html', page_params) return page_params = { 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': id, 'review': review, 'admin': is_admin } render_template(self, 'viewDatabase.html', page_params)
def get(self): id = get_user_id() is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html', page_params) return newList = models.getCategoryList() page_params = { 'catList': newList, 'upload_urlQ': blobstore.create_upload_url('/NewQuestion'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': id, 'admin': is_admin } render_template(self, 'submitQuestion.html', page_params)
def get(self): id = get_user_id() is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html', page_params) return category = self.request.get('category') + ':' + self.request.get( 'subcategory') number = self.request.get('number') mine = self.request.get('mine') timed = self.request.get('timed') if mine == 'mine': questions = models.getQuestionsCatUsr(category, int(number), models.getUser(id).username) else: questions = models.getQuestionsCat(category, int(number)) if questions is None: num = 0 jList = [] else: num = len(questions) qList = [] for q in questions: #exclude removes the properties we do no need to have passed to the html from the question object temp = q.to_dict(exclude=[ 'category', 'creator', 'accepted', 'up_voters', 'down_voters', 'create_date' ]) qList.append(temp) jList = json.dumps(qList, default=obj_dict) page_params = { 'user_id': get_user_id(), 'num': num, 'question_list': jList, 'timed': timed, 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'admin': is_admin, } render_template(self, 'quiz.html', page_params)
def get_public_key(): sender_public_key = current_user().public_key receiver_username = request.args.get('receiver-username', '') # Make sure that the receiver exists if not models.check_if_user_exists(receiver_username): return jsonify(error="This user does not exist.") # Find receiver user receiver = models.find_user_by_name(receiver_username) return jsonify(sender_public_key=sender_public_key, receiver_public_key=receiver.public_key)
def get_public_key(): # Check if user is logged in if "logged_in" in session and "user" in session: sender_public_key = session["user"]["public_key"] else: return jsonify(error="Unauthorized request.") receiver_username = request.args.get("receiver_username", "") if not models.check_if_user_exists(receiver_username): return jsonify(error="This user does not exist.") receiver = models.find_user_by_name(receiver_username) return jsonify(sender_public_key=sender_public_key, receiver_public_key=receiver.public_key)
def get_public_key(): # Check if user is logged in if 'logged_in' in session and 'user' in session: sender_public_key = session['user']['public_key'] else: # User is not logged in, return error message return jsonify(error="Unauthorized request.") # Get receiver_username from request receiver_username = request.args.get('receiver_username', '') # Make sure that the receiver exists if not models.check_if_user_exists(receiver_username): return jsonify(error="This user does not exist.") # Find receiver user receiver = models.find_user_by_name(receiver_username) return jsonify(sender_public_key=sender_public_key, receiver_public_key=receiver.public_key)
def get(self): id = get_user_id() is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html' ,page_params) return category = self.request.get('category') number = self.request.get('number') questions = models.getQuestionsCat(category,int(number)) if questions is None: num = 0 jList = [] else: num = len(questions) qList = [] for q in questions: #exclude removes the properties we do no need to have passed to the html from the question object temp = q.to_dict(exclude=['category','creator','accepted','up_voters','down_voters','create_date']) qList.append(temp) jList = json.dumps(qList, default=obj_dict) page_params = { 'user_id': get_user_id(), 'num': num, 'question_list' : jList, 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'admin': is_admin, } render_template(self, 'answerQuestionsCat.html', page_params)
def create_user(): req = request.get_json(force=True) username = req.get("username", None) password = req.get("password", None) public_key = req.get("public_key", None) user_data = req.get("user_data", None) # Validate entered username and password error = None if None in [username, password, public_key, user_data]: error = "Request missing a field!" if len(username) == 0 or len(username) > 32: error = "Invalid username. Must be nonempty and contain at most 32 characters." if len([c for c in username if c.lower() not in VALID_USERNAME_CHARS]) > 0: error = "Invalid username. Must contain only letters (a-z), numbers (0-9), dashes (-), underscores (_)." if len(password) < 8 or len(password) > 128: error = "Invalid password. Must be at least 8 characters and at most 128 characters." if models.check_if_user_exists(username): error = "Username already taken." # Invalid username or password if error is not None: return jsonify(error=error) # Add new user to database id = models.add_user_to_db(username, password, public_key, user_data) if id is None: # Database error return jsonify(error="Unexpected error.") # Return new user data user_saved = models.find_user_by_name(username).to_dict() user = guard.authenticate(username, password) return jsonify( token=guard.encode_jwt_token(user), id=id, username=username, public_key=public_key, user_data=user_data, )
def get(self): if not get_user_email( ): #stops from creating a profile if not logged in self.redirect("/") return id = self.request.get("id") is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html', page_params) return user = models.getUser(id) categoryScores = models.getCatUserScore(get_user_id()) page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': user, 'numScores': len(categoryScores), 'categoryScores': categoryScores, 'admin': is_admin, } render_template(self, 'profile.html', page_params)
def get(self): questionID = self.request.get('id') id = get_user_id() review = models.getQuestionFromURL(questionID) is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html', page_params) return page_params = { 'upload_urlQE': blobstore.create_upload_url('/ReviewQuestion?id=' + questionID), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': id, 'review': review, 'admin': is_admin } render_template(self, 'reviewQuestion.html', page_params)
def get(self): if not users.is_current_user_admin(): #stops from running this if user is not admin self.redirect("/") return if (len(models.get_oldest_questions(True,False)) > 3): self.redirect("/") return models.populateQuestions() models.populateAnswers() #models.createAnswer(get_user_id(),'1','2') id = get_user_id() is_admin = 0 if users.is_current_user_admin(): is_admin = 1 q = models.check_if_user_exists(id) page_params = { 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': id, 'admin' : is_admin } render_template(self, 'index.html', page_params)
def create_user(): # Check if user is already logged in if 'logged_in' in session and 'user' in session: # If so, redirect to home page return redirect(url_for('home')) username = request.form.get('username') password = request.form.get('password') public_key = request.form.get('public_key') user_data = request.form.get('user_data') # Validate entered username and password error = None if None in [username, password, public_key, user_data]: error = "Request missing a field!" if len(username) == 0 or len(username) > 32: error = "Invalid username. Must be nonempty and contain at most 32 characters." if len([c for c in username if c.lower() not in VALID_USERNAME_CHARS]) > 0: error = "Invalid username. Must contain only letters (a-z), numbers (0-9), dashes (-), underscores (_)." if len(password) < 8 or len(password) > 128: error = "Invalid password. Must be at least 8 characters and at most 128 characters." if models.check_if_user_exists(username): error = "Username already taken." # Invalid username or password if error is not None: return jsonify(error=error) # Add new user to database id = models.add_user_to_db(username, password, public_key, user_data) if id is None: # Database error return jsonify(error="Unexpected error.") # Redirect new user to home page session['logged_in'] = True session['user'] = models.find_user_by_name(username).to_dict() return jsonify(error=None)
def get(self): if not get_user_email(): #stops from creating a profile if not logged in self.redirect("/") return id = self.request.get("id") is_admin = 0 if users.is_current_user_admin(): is_admin = 1 if id is not None: q = models.check_if_user_exists(id) if q == None: page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': models.getUser(id), 'admin': is_admin } render_template(self, 'createProfile.html' ,page_params) return user = models.getUser(id) categoryScores = models.getCatUserScore(get_user_id()) page_params = { 'upload_url': blobstore.create_upload_url('/profile'), 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': get_user_id(), 'profile': user, 'numScores': len(categoryScores), 'categoryScores':categoryScores, 'admin': is_admin, } render_template(self, 'profile.html', page_params)
def get(self): if not users.is_current_user_admin( ): #stops from running this if user is not admin self.redirect("/") return if (len(models.get_oldest_questions(True, False, None)) > 3): self.redirect("/") return models.populateQuestions() models.populateAnswers() #models.createAnswer(get_user_id(),'1','2') id = get_user_id() is_admin = 0 if users.is_current_user_admin(): is_admin = 1 q = models.check_if_user_exists(id) page_params = { 'user_email': get_user_email(), 'login_url': users.create_login_url(), 'logout_url': users.create_logout_url('/'), 'user_id': id, 'admin': is_admin } render_template(self, 'index.html', page_params)