def aspireSeater(sid): seater = SeaterModel.getSeater(sid) if ProjectModel.isProjectAdmin(getCurrentUid(), seater["pid"]): SeaterModel.assignUser(getCurrentUid(), sid) else: SeaterModel.aspireSeater(getCurrentUid(), sid) return json.dumps({"result": "success"})
def removeSeater(sid): seater = SeaterModel.getSeater(sid) if seater != None: if ProjectModel.isProjectAdmin(getCurrentUid(), seater["pid"]): SeaterModel.removeSeater(sid) return json.dumps({"result": "success"}) else: return render_template("private-api/forbidden-request.html") return render_template("private-api/unknown-request.html")
def assignUser(sid, uid): seater = SeaterModel.getSeater(sid) if seater != None: if ProjectModel.isProjectAdmin(getCurrentUid(), seater["pid"]): if SeaterModel.isThereSeaterAspiration(uid, sid): SeaterModel.assignUser(uid, sid) return json.dumps({"result": "success"}) else: return render_template("private-api/forbidden-request.html") return render_template("private-api/unknown-request.html")
def seaterPage(projectName, sid): project = ProjectModel.getProjectByProjectName(projectName) seater = SeaterModel.getSeater(sid, getCurrentUid()) seater["skills"] = SkillModel.getSeaterSkills(sid) assignedUser = UserModel.getUser(seater["uid"]) seater["isProjectAdmin"] = ProjectModel.isProjectAdmin(getCurrentUid(), project["pid"]) return render_template( "seater-page.html", currentUser= getCurrentUser(), seater = seater, assignedUser = assignedUser )
def dismissUserFromSeater(sid): seater = SeaterModel.getSeater(sid) if seater != None: if ProjectModel.isProjectAdmin(getCurrentUid(), seater["pid"]) or (seater["uid"] == getCurrentUid()): SeaterModel.dismissUser(sid) SeaterModel.cancelAspirationToTheSeater(seater["uid"], sid) return json.dumps({"result": "success"}) else: return render_template("private-api/forbidden-request.html") return render_template("private-api/unknown-request.html")
def seaterSkills(): if request.method == "GET": #Get seater skills sid = request.args.get("sid") if sid != None: skills = SkillModel.getUserSkills(getCurrentUid) return json.dumps(skills, cls=DateTimeEncoder) return render_template("private-api/unknown-request.html") elif request.method == "POST" and isLoggedIn(): #Add seater skill sid = request.args.get("sid") skill = request.args.get("skill") pid = SeaterModel.getSeater(sid)["pid"] if ProjectModel.isProjectAdmin(getCurrentUid(), pid): if skill != None: SkillModel.addSeaterSkill(sid, skill) return json.dumps({"result": "success"}) else: #Delete a user skill skid = request.args.get("skid") if skid != None and isLoggedIn(): skill = SkillModel.getUserSkill(skid) if skill["uid"] == getCurrentUid(): SkillModel.removeUserSkill(skid) return json.dumps({"result": "success"}) else: return render_template("private-api/forbidden-request.html") return render_template("private-api/unknown-request.html")
def seaterAspirationNumber(sid): seater = SeaterModel.getSeater(sid) if ProjectModel.isProjectAdmin(getCurrentUid(), seater["pid"]): number = SeaterModel.getSeaterAspirationNumber(sid) return json.dumps({"number": number}) return render_template("private-api/forbidden-request.html")
def seaterAspirations(sid): seater = SeaterModel.getSeater(sid) if ProjectModel.isProjectAdmin(getCurrentUid(), seater["pid"]): aspirations = SeaterModel.getSeaterAspirations(sid) return json.dumps(aspirations, cls=DateTimeEncoder) return render_template("private-api/forbidden-request.html")
def getSeater(sid): seater = SeaterModel.getSeater(sid) seater["skills"] = SkillModel.getSeaterSkills(sid) return json.dumps(seater, cls=DateTimeEncoder)