Beispiel #1
0
	def childUpdate(self, **kw):
		field = str(kw['field'])
		type = kw['type']
		id = cherrypy.session['current_child']
		
		if type == 'string':
			value = str(kw['value'])
		elif type == 'int':
			value = int(kw['value'])
		elif type == 'date':
			value = str(kw['value'])
		
		display = value
		
		if field == 'ssid':
			if not value.isdigit():
				cherrypy.response.status = 412
				return "SSID must be all digits"
			if len(value) < 8 or len(value) > 10:
				cherrypy.response.status = 412
				return "SSID must be between 8 and 10 digits"
			if Child.selectBy(ssid=value).count() > 0:
				cherrypy.response.status = 412
				return "SSID already exists"
		
		if field == 'bdate':
			try:
				value = util.valiDate(value)
			except:
				cherrypy.response.status = 412
				return "Invalid date entered"
			
			if value is None:
				cherrypy.response.status = 412
				return "Invalid date entered"
			display = value.strftime("%m/%d/%y")
			 
		Child.get(id).__setattr__(field, value)
		
		return display
Beispiel #2
0
	def assessmentUpdate(self, **kw):
		field = str(kw['field'])
		type = kw['type']
		id = cherrypy.session['current_assessment']

		if type == 'string':
			value = str(kw['value'])
		elif type == 'int':
			value = int(kw['value'])
		elif type == 'date':
			value = str(kw['value'])

		display = value

		if field == 'dateEntered':
			try:
				value = util.valiDate(value)
			except:
				cherrypy.response.status = 412
				return Assessment.get(id).dateEntered.strftime("%m/%d/%y")
			
			if value is None:
				cherrypy.response.status = 412
				return Assessment.get(id).dateEntered.strftime("%m/%d/%y")
			display = value.strftime("%m/%d/%y")

		Assessment.get(id).__setattr__(field, value)
		
		category = cherrypy.session['current_category']
		user = identity.current.user
		
		eh = EditHistory.selectBy(assessmentID=id, category=category)
		if eh.count() > 0:
			eh[0].editor = user.firstlast()
			eh[0].program = user.program.name
		else:
			EditHistory(assessmentID=id, category=category, editor=user.firstlast(), program=user.program.name)
		
		return display