def db_update_task(task): if task["_id"] is not None: if "username" in session: username = session["username"] cur_user = User.get_by_username(username) if cur_user and cur_user.is_authorized_for_task(int(task["_id"].replace("task",""))): task_dict = None cfg_dict = None task_db_id = task["_id"].replace("task","") cur_task = Task.get_by_id(task_db_id) if cur_task: cur_task._name = task["_title"] cur_task.detail = task["_text"] cur_task.save() task_dict = cur_task.to_dict() cur_cfg = ConfigTask.get_by_task_id(task_db_id) if cur_cfg: cur_cfg.color_id = int(task["color_id"]) cur_cfg.save() cfg_dict = cur_cfg.to_dict() if task_dict is not None and cfg_dict is not None: task_dict.update(cfg_dict) return json.dumps(task_dict) else: cur_task = Task(None, task["session_id"], "Default value", "", 0) cur_task.save() return cur_task.to_json() return json.dumps({})
def login(): user_ins = json.loads(request.data) cur_user = User.get_by_username(user_ins["username"]) if cur_user.is_password_valid(user_ins["password"]): session["username"] = user_ins["username"] return cur_user.to_json() else: return json.dumps({"Error Message":"Wrong username/password"})
def register(): user_ins = json.loads(request.data) is_name_taken = User.get_by_username(user_ins["username"]) is not None if not is_name_taken: new_user = User(None, user_ins["username"], user_ins["password"], user_ins["email"], False) new_user.save() session["username"] = user_ins["username"] return new_user.to_json() else: return redirect(url_for("login_page"))
def new_session(): if "username" in session: username = session["username"] cur_user = User.get_by_username(username) if cur_user: session_json = json.loads(request.data) new_session = TaskSession(None, session_json['session_name']) new_session.save() new_session.add_user(cur_user, new_session) return json.dumps({"_id":new_session._id, "name":new_session.name}) else: return json.dumps({"Error Message":"Invalid session, please login"}) else: return json.dumps({"Error Message":"Please login first"})
def get_sessions(): if "username" in session: session_list = [] username = session["username"] cur_user = User.get_by_username(username) session_ids = cur_user.get_my_sessions() for _id in session_ids: cur_session = TaskSession.get_by_id(_id) if cur_session: session_list.append({'_id':cur_session._id,'name':cur_session.name}) return json.dumps({ 'sessions': session_list }) else: return json.dumps({"Error Message":"Please login first"})
def decorated_function(*args, **kwargs): if "username" in session: #debug print("User is logged in") #debug cur_user = User.get_by_username(session["username"]) if cur_user: return f(*args, **kwargs) else: return redirect(url_for("login_page")) else: #debug print("User is not logged in") #debug return redirect(url_for("login_page"))