I have a function in the project script where I am trying to change the value of a parameter on a popup view. Its related to visibility for a label. I have a button which runs the function and its supposed to change the visibility on the label. Using the system.util.logger I have confirmed the correct value is being determined based on the script, however it is not actually changing the visibility of the label.
For the view I have a parameter called LblNoGoVis and have it bidirectional. I am defining that parameter as lblNoGoVis in the call to the script and including that as a parameter that is passed into the function.

Here is the script I am calling.
def download_to_cell(cell_id,new_recipe,label_vis):
	"""Check if its a new recipe.  If so check for 9999 in memory cells
	
	Param:
		cell_id (str): Id designation of cell
		new_recipe (bool): Is this new recipe
		label_vis: visibility of message telling operator to edit recipe
	"""
	myBad = 0
	logger = system.util.getLogger("myLogger")
	
	if new_recipe:
		logger.info("New Recipe")
		counter = 1
		while counter < 36:
			#counterToString = counter.toString()
			memTag = '[{}]/Cell/Recipe/Memory/{}'.format(cell_id,str(counter))
			q1 = system.tag.read(memTag)
			memVal = q1.value
			if memVal == 9999:
				logger.info("Value is 9999")
				myBad = 1
				label_vis = "true"
				logger.info(label_vis)
				break
			else:
				counter = counter + 1
	
	if myBad == 0:
		value = 1
		label_vis = "false"
		logger.info(label_vis)
		myTag = '[{}]/Cell/Control/Recipe DownLoad/Request'.format(cell_id)
		system.tag.write(myTag, value)
		system.perspective.navigate(page = '/Machine')
The logger.info(label_vis) is correctly giving me either true or false based on the function but it is not changing the actual parameter on the view. I do have the visibility of the label binded to the view parameter correctly. What am I doing wrong?