コード例 #1
0
ファイル: app.py プロジェクト: jdoherty7/Pairing_GUI
	def POST(self):
		# password gaurentees someone IN open ears ends the pair
		form = web.input(warrior="warrior", netid   ="netid",
						 notes  ="notes"  , password="******")
		
		if form.password == cv.secret([3,3,1]):
			#friend types netID and uses it to pair
			sheet = cv.open_sheet('Friend-List')
			name_col  = cv.search_row(sheet, 1, 'name')
			netid_col = cv.search_row(sheet, 1, 'netid')
			row_num = cv.search_column(sheet, netid_col, form.netid)

			# find the name of the user within the sheet
			name_values = sheet.col_values(name_col)
			friend = name_values[row_num - 1]
		
		
			pair = [form.warrior, friend]
			#removes given pair from Current-Pairings 
			#and updates status in All-Pairings
			if cv.remove_pair(pair) == 'Pair Removed':
					if cv.update_all_pair(pair, form.notes) == 'Pair Does Not Exist':
						pair = [['PAIR NOT'],['FOUND']]
			else:
				pair = [['PAIR NOT'],['FOUND']]
			
			data = [pair, form.notes]
		else:
			#extras because len(1 and 2) conditionals already taken
			data = ["Incorrect Password! Please try again.",3 ,4]
		
		return render.end_pair(table = data)
コード例 #2
0
ファイル: app.py プロジェクト: jdoherty7/Pairing_GUI
	def POST(self):
		# retrieve data from request
		# form.netid - friend's netid to remove from queue
		form = web.input(netid = "netid")

		# find the corresponding columns within the sheet Friend-List
		sheet = cv.open_sheet('Friend-List')
		name_col  = cv.search_row(sheet, 1, 'name')
		netid_col = cv.search_row(sheet, 1, 'netid')
		
		row_num = cv.search_column(sheet, netid_col, form.netid)
		
		#this wont work if we have more than 950 entries.
		#thats ALOOOOOOT of people on the queue
		if row_num < 950:
			# find the name of the user within the sheet
			name_values = sheet.col_values(name_col)
			name = name_values[row_num - 1]
		
			# remove the user from the queue
			cv.remove_from_queue("Friend-Q", name, 'rm all')
			choice = 2
		else:
			#cant find netid error message
			choice = 3		
			
		# render /remove
		return render.remove(option = choice)
コード例 #3
0
	def POST(self):
		# password gaurentees someone IN open ears ends the pair
		form = web.input(warrior = "warrior", netid = "netid",
						 notes   = "notes")
		
		#friend types netID and uses it to pair
		sheet = cv.open_sheet('Friend-List')
		name_col  = cv.search_row(sheet, 1, 'name')
		netid_col = cv.search_row(sheet, 1, 'netid')
		row_num = cv.search_column(sheet, netid_col, form.netid)
		
		# find the name of the user within the sheet
		name_values = sheet.col_values(name_col)
		friend = name_values[row_num - 1]
		
		
		pair = [form.warrior, friend]
		#removes given pair from Current-Pairings 
		#and updates status in All-Pairings
		if cv.remove_pair(pair) == 'Pair Removed':
			if cv.update_all_pair(pair, form.notes) == 'Pair Does Not Exist':
				pair = [['PAIR NOT'],['FOUND']]
		else:
			pair = [['PAIR NOT'],['FOUND']]
		
		data = [pair, form.notes]	
		return render.end_pair(table = data)
コード例 #4
0
	def POST(self):
		# retrieve data from request
		# form.netid - friend's netid to remove from queue
		form = web.input(netid = "netid")

		# find the corresponding columns within the sheet Friend-List
		sheet = cv.open_sheet('Friend-List')
		name_col  = cv.search_row(sheet, 1, 'name')
		netid_col = cv.search_row(sheet, 1, 'netid')
		
		row_num = cv.search_column(sheet, netid_col, form.netid)
		
		#this wont work if we have more than 950 entries.
		#thats ALOOOOOOT of people on the queue
		if row_num < 950:
			# find the name of the user within the sheet
			name_values = sheet.col_values(name_col)
			name = name_values[row_num - 1]
		
			# remove the user from the queue
			cv.remove_from_queue("Friend-Q", name, form.netid, 'rm all')
			choice = 2
		else:
			#cant find netid error message
			choice = 3		
			
		# render /remove
		return render.remove(option = choice)
コード例 #5
0
ファイル: app.py プロジェクト: jdoherty7/Pairing_GUI
	def POST(self):	
		# recieve user information from POST request
		# form.netid - netid of the friend to be paired
		# form.number - number of times the friend wants to be paired
		form = web.input(netid = "netid", number = 1)
	
		# initialization
		num = int(form.number)
		sheet = cv.open_sheet('Friend-List')
		
		# find the column number for name, netid, and verified
		name_col  = cv.search_row(sheet, 1, 'name')
		netid_col = cv.search_row(sheet, 1, 'netid')
		#fill in name of "verified" column title correctly
		veri_col  = cv.search_row(sheet, 1, 'trained')

		# find the users row within the spreadsheet
		row_num = cv.search_column(sheet, netid_col, form.netid)

		# if more than 1000 people sign up or if the spreadsheet is resized to > 1000.
		if row_num >= 1000:
			message = "FAILURE! We could not find your netID on the list. Please make sure you submitted the correct netID (%s). If this is the correct netID it is possible that was incorrectly entered on our spreadsheet or there is something wrong with this code (which is a very likely possibility). Please let us know about this problem, whether through our website, facebook, slack, next meeting, or randomly in the quad. THANK YOU!" % form.netid	

		else:
			the_values = sheet.row_values(row_num)
			
			# retrieve the friend's name and if they are verified
			name = the_values[name_col - 1] # -1 due to 1 indexing for spreadsheets
			verified = the_values[veri_col - 1]
	
			# if verified add to friend queue num (form.number) times.
			if verified.lower().strip() == 'yes':
				# names must be submitted as an array to the add_to_queue function
				cv.add_to_queue("Friend-Q", name, num)				
				message = "SUCCESS!"
				
			else:
				message = "FAILURE! You're name is on the list but it looks like you have not been verified. In order to become verified you must come to a sufficient amount of trainings. At the trainings we go over situations you may encounter and talk about what the process of being a friend will be like (good ole logistics and all.) It is really quite fun. Once there was even candy. So please try to come out if you have not yet. If anything you'll at least learn how this stupid interface works. If you believe you have been verified though and have gone through trainings then please let somebody know so they can fix it. Again, its a stupid interface. But with your help maybe it can just be dumb."

		# render /add and pass the message and number of times added to the user
		return render.add(stuff = [message, num])
コード例 #6
0
	def POST(self):	
		# recieve user information from POST request
		# form.netid - netid of the friend to be paired
		# form.number - number of times the friend wants to be paired
		form = web.input(netid = "netid", number = 1)
	
		# initialization
		num = int(form.number)
		sheet = cv.open_sheet('Friend-List')
		
		# find the column number for name, netid, and verified
		name_col  = cv.search_row(sheet, 1, 'name')
		netid_col = cv.search_row(sheet, 1, 'netid')
		#fill in name of "verified" column title correctly
		veri_col  = cv.search_row(sheet, 1, 'trained')

		# find the users row within the spreadsheet
		row_num = cv.search_column(sheet, netid_col, form.netid)

		# if more than 1000 people sign up or if the spreadsheet is resized to > 1000.
		if row_num >= 1000:
			message = "FAILURE! We could not find your netID on the list. Please make sure you submitted the correct netID (%s). If this is the correct netID it is possible that was incorrectly entered on our spreadsheet or there is something wrong with this code (which is a very likely possibility). Please let us know about this problem, whether through our the suggestions link above, facebook, slack, the next meeting, or randomly in the quad. THANK YOU!" % form.netid	

		else:
			the_values = sheet.row_values(row_num)
			
			# retrieve the friend's name and if they are verified
			name = the_values[name_col - 1] # -1 due to 1 indexing for spreadsheets
			verified = the_values[veri_col - 1]
	
			# if verified add to friend queue num (form.number) times.
			if verified.lower().strip() == 'yes':
				# names must be submitted as an array to the add_to_queue function
				cv.add_to_queue("Friend-Q", name, form.netid, num)				
				message = "SUCCESS!"
				
			else:
				message = "FAILURE! You're name is on the list but it looks like you have not been trained. In order to become trained you must come to a sufficient amount of trainings. While there we go over situations you may encounter and talk about what the process of being a friend will be like (good ole logistics and all.) It is really quite fun. Once there was even candy. So please try to come out if you have not yet. If anything you'll at least learn how this stupid interface works. (We may also be going through kognito too.) If you believe you have been trained though and have gone through trainings then please let somebody know so they can fix it. Again, its a stupid interface. But with your help maybe it can just be dumb."

		# render /add and pass the message and number of times added to the user
		return render.add(stuff = [message, num])
コード例 #7
0
	def POST(self):
		#recieve friend and warrior name to be paired from request	
		form = web.input(friend = 'friend',   warrior = 'warrior', 
						 pb     = 'pb',       notes = 'notes')

		sheet = cv.open_sheet("Friend-List")
		name = cv.id2name(sheet, form.friend)		

		# remove the friend and warrior from respective 
		# queues as they have been paired
		# doesnt use name for friend q currently, and hopefully futurely too
		cv.remove_from_queue("Friend-Q", name, form.friend)
		cv.remove_from_queue("Warrior-Q", form.warrior)

		# add the paired friend and warrior to the paired spreadsheet
		# as well as who paired them
		chosen_pair = [form.warrior, name]
		cv.add_pair(chosen_pair, form.pb, form.notes)

		# retrieve contact information for the friend and 
		# warrior to display to pairing committee member
		friendContact = cv.get_friend_info(name, 'contact')
		warriorContact = cv.get_warrior_info(form.warrior, 'contact')

		#dont need to display updated, plus this saves time
		#retrieve queues to display updated versions.
		#friendq  = cv.names_no_null("Friend-Q", 1)
		#warriorq = cv.names_no_null("Warrior-Q", 1)
		friendq  = ["None"]
		warriorq = ["None"]

		# create a single object to pass to /display webpage and render /display
		this = [chosen_pair, friendq, warriorq, friendContact, warriorContact]

		return render.display(this)
		
		"""all_lists should be of the form