Ejemplo n.º 1
0
	def safeGet(self, user):
		print "processing sessionHandler ajax request..."
		params = self.getAllParametersInDict()
		if not 'method' in params or not params['method'] or params['method']=="read":
			self.response.out.write(json.dumps({
				'status':0,
				'resultType':'',
				'msg':'',
				'data':SessionData.getSessionData(user, **params)
			})) # senza filtri per averle tutte, coi filtri per averne alcune
			return
		elif params['method']== 'write':
			try:
				az,new = SessionData.newSession(user, **params)
				self.response.out.write(json.dumps({
					'status':0,
					'resultType':'success',
					'msg':'Sessione '+(new and "creata" or "modificata")+' con successo',
					'data':az
				}))
			except (EndBeforeStartException,ClosedProjectError, NoStartTimeException, NoProjectBounded) as e:
				self.sendError(e)
			return
		elif params['method']== 'delete':
			try:
				ok, errors = SessionData.deleteSessionsData(**params)
				if not errors:
					self.response.out.write(json.dumps({
						'status':0,
						'resultType':'success',
						'msg':'Sessioni eliminate con successo',
						'data':{
							'keys': ok,
							'onerror': errors
							}
					}))
				elif ok:
					self.response.out.write(json.dumps({
						'status':0,
						'resultType':'warning',
						'msg':'Non è stato possibile eliminare alcune sessioni',
						'data':{
							'keys': ok,
							'onerror': errors
							}
					}))
				else:
					self.response.out.write(json.dumps({
						'status':0,
						'resultType':'error',
						'msg':'Nessuna sessione è stata eliminata',
						'data':{
							'keys': ok,
							'onerror': errors
							}
					}))
				#keys = SessionData.deleteSessionData(**params)
				#if not keys:
					#self.response.out.write(json.dumps({
						#'status':0,
						#'resultType':'success',
						#'msg':'Sessioni eliminate con successo',
						#'data':None
					#}))
			except Exception as e:
				print e
				self.sendError(e, 'Si è verificato un errore!')