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()
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!')