Ejemplo n.º 1
0
	def safeGet(self, user):
		
		params = self.getAllParametersInDict()
		userData = UserData.getUserData(user)[0]
		aziendaData = None
		proj = None
		
		if params['azienda']:
			aziendaData = db.get(params['azienda']).myserialize()
			sessionSum = SessionData.getSumBetween(user, azienda=params['azienda'], start=params['start'], end=params['end'])
		elif params['progetto']:
			proj = db.get(params['progetto'])
			aziendaData = proj.azienda.myserialize()
			sessionSum = proj.eur
		else:
			self.sendError(MyException(), 'Si è verificato un errore!')
		
		msg = ('msg' in params) and params['msg'] or "Messaggio di prova"
		
		try:
			date = ('date' in params) and datetime.datetime.strptime(params['date'], "%m/%d/%Y") or datetime.datetime.now()
		except:
			date = datetime.datetime.now()
		xls = XLS_creator(userdata=userData, azienda=aziendaData, sessionSum=sessionSum, msg=msg, date=date)

		# HTTP headers to force file download
		self.response.headers['Content-Type'] = 'application/ms-excel'
		self.response.headers['Content-Transfer-Encoding'] = 'Binary'
		self.response.headers['Content-disposition'] = 'attachment; filename="Diaria_test.xls"'

		# output to user
		xls.save(self.response.out)
		if proj:
			proj.closeProj()
Ejemplo n.º 2
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!')