Ejemplo n.º 1
0
def upload_staff():
	org_id = request.form.get("org_id")
	org = db.get_organization(org_id=org_id)[0]
	if('file' not in request.files):
		return return_org_template(org_id,message="no file specifed")
	file = request.files['file']
	if(len(file.filename.strip()) == 0):
		return return_org_template(org_id,message="no file specifed")
	file.save("data/" + file.filename)
	access_token = session["webex_brada_accesstoken"].get("access_token")
	wc = wu.WebexConnector(access_token)
	staff = pu.read_file("data/" + file.filename)
	for member in staff:
		member["org_id"] = org_id
	students = db.get_all_students(org_id)
	wc.students = students
	wc.staff = staff
	wc.team_id = org[4]
	wc.lobby_id = org[5]
	wc.update_staff_members(wc.staff)
	wc.add_members_to_team(wc.staff, wc.team_id)
	wc.setup_new_tas(wc.staff)
	print(wc.staff)
	db.insert_staff(wc.staff, org_id)
	db.update_staff(wc.staff, "id", "person_id")
	return return_org_template(org_id,message="successfully updated")
Ejemplo n.º 2
0
def staff():
	if(session.get("webex_brada_persondetails") == None):
		return render_template("index.html", message="you must complete the oauth first")
	email = session.get("webex_brada_persondetails").get("emails")[0]
	if(email == None):
		return render_template("index.html", message="email not configured")
	session["webex_brada_userdata"] = db.get_staff(email=email)
	if(session["webex_brada_userdata"] == False):
		return render_template("home.html", message="unrecognized staff")
	print(session["webex_brada_userdata"])
	all_orgs = []
	for org in session["webex_brada_userdata"]:
		org_id = org["org_id"]
		organization = db.get_organization(org_id=org_id)
		print(organization)
		if(len(organization) == 0):
			print("no org")
			continue
		team_id = organization[0][4]
		orgname = organization[0][1]
		lobby = organization[0][5]
		if(team_id == ""):
			print("no team id")
			continue
		wc = wu.WebexConnector(session["webex_brada_accesstoken"].get("access_token"))
		rooms = wc.get_all_rooms(team_id)
		rooms = [(room["id"], room["title"]) for room in rooms]
		all_orgs.append((org_id,orgname,lobby,team_id, rooms))
	access_token = session["webex_brada_accesstoken"].get("access_token")
	return render_template("staff.html", data=session["webex_brada_userdata"], orgs=all_orgs, access_token=access_token)
Ejemplo n.º 3
0
def upload_students():
	org_id = request.form.get("org_id")
	org = db.get_organization(org_id=org_id)[0]
	if('file' not in request.files):
		return return_org_template(org_id,message="no file specifed")
	file = request.files['file']
	if(len(file.filename.strip()) == 0):
		return return_org_template(org_id,message="no file specifed")
	file.save("data/" + file.filename)
	access_token = session["webex_brada_accesstoken"].get("access_token")
	wc = wu.WebexConnector(access_token)
	students = pu.read_file("data/" + file.filename)
	for student in students:
		student["org_id"] = org_id
	staff = db.get_all_staff(org_id)
	wc.students = students
	wc.staff = staff
	wc.team_id = org[4]
	lobby_id = org[5]
	if(lobby_id == ""):
		lobby_id = None
	wc.update_student_members(wc.students)
	wc.create_student_rooms(lobby_id=lobby_id)
	db.insert_students(wc.students, org_id)
	db.update_students(wc.students, "staff_room", "room_id")
	db.update_students(wc.students, "id", "person_id")
	return return_org_template(org_id,message="successfully updated")
Ejemplo n.º 4
0
def send_messages():
	room_id = request.form.get("room_id")
	msg = request.form.get("msg")
	if(room_id == None):
		return "missing room id"
	if(msg == None):
		return "missing msg"
	access_token = session["webex_brada_accesstoken"].get("access_token")
	wc = wu.WebexConnector(access_token)
	result = wc.send_message(room_id, msg)
	return json.dumps(result)
Ejemplo n.º 5
0
def new_org_form():
	orgname = request.form.get("orgname")
	username = request.form.get("username")
	email = session["webex_brada_persondetails"].get("emails")[0]
	if((orgname == "") or (username == "")):
		return render_template("admin.html", createresponse="organization name and username cannot be blank.", orgs=db.get_organization(email=email))
	if(len(db.get_organization(username=username)) > 0):
		return render_template("admin.html", createresponse="An organization with that username already exists.", orgs=db.get_organization(email=email))
	access_token = session["webex_brada_accesstoken"].get("access_token")
	wc = wu.WebexConnector(access_token)
	team_id = wc.create_team("Teaching Staff: " + orgname)
	lobby_id = wc.create_room("Class Forum: " + orgname, team_id=team_id)
	db.create_organization(orgname, email, username, team_id=team_id, lobby_id=lobby_id)
	return render_template("admin.html", message="successful", orgs=db.get_organization(email=email))
Ejemplo n.º 6
0
def oauth_response():
	authtoken = request.args.get("code")
	if(authtoken != None):
		session["webex_brada_authtoken"] = authtoken
		session["webex_brada_accesstoken"] = wu.get_access_token(authtoken, return_all=True)
		print(session["webex_brada_accesstoken"])
		access_token = session["webex_brada_accesstoken"].get("access_token")
		if(access_token == None):
			return render_template("index.html", message="unable to retrieve access token")
		my_details = wu.WebexConnector(access_token).get_my_details()
		session["webex_brada_persondetails"] = my_details
		print(my_details)
		return render_template("home.html")
	else:
		return "Oauth failed:  please try again. <a href = '{}'>Verify</a>".format(wu.oauth_url)
	return str(authtoken)
Ejemplo n.º 7
0
def get_messages():
	room_id = request.form.get("room_id")
	if(room_id == None):
		return "missing room id"
	access_token = session["webex_brada_accesstoken"].get("access_token")
	wc = wu.WebexConnector(access_token)
	messages = wc.list_room_messages(room_id)
	messages = messages.get("items")
	if(messages == None):
		return json.dumps([])
	messages.reverse()
	formated = []
	for message in messages:
		person,role = get_persons_name(message["personEmail"])
		formated.append({"from":person,"text":message["text"], "role":role})
	return json.dumps(formated)