diff --git a/intranet/pages/digicode.py b/intranet/pages/digicode.py new file mode 100755 index 00000000..bd17dbd2 --- /dev/null +++ b/intranet/pages/digicode.py @@ -0,0 +1,75 @@ +#! /usr/bin/env python +import cherrypy, tempfile, shutil, os +import crans.impression +import crans.impression.digicode + +FILE_UPLOAD_BASE_FOLDER = cherrypy.config.get('fileUpload.folder', "/var/impression/fichiers/") + +class FileError(Exception): + pass + +class root: + + + ########################## + # affichage + ########################## + # + # methode qui affiche la template + # + def index(self, submit = None, fileList = None, newFile = None ): + return {'template':'digicode', + 'values':{}, + 'stylesheets':['digicode.css'], + 'scripts':['digicode.js', 'popup.js'], + } + index.exposed = True + + + ########################## + # AJAX + ########################## + # + # methode qui renvoie la liste des codes + # + def codeList(self): + try: + listeBrute = crans.impression.digicode.list_code() + + liste_formatee = [] + for aCode in listeBrute: + age = aCode[1] + age_jours = (age/3600)/24 + age_heures = (age/3600) - age_jours*24 + age_minutes = (age/60) - (age/3600)*60 + if age_jours > 0: + age_string = "%sj %sh %smin" % (str(age_jours), str(age_heures), str( age_minutes )) + elif age_heures > 0: + age_string = "%sh %smin" % (str(age_heures), str( age_minutes )) + else: + age_string = "%smin" % (str( age_minutes )) + liste_formatee.append({'code':aCode[0], 'age':age_string, 'desc':aCode[2]}) + return {'codes': liste_formatee} + except Exception, e: + return {'erreur':str(e)} + codeList.exposed= True + + # + # methode qui cree un code + # + def createCode(self, code=None): + try: + if code: + try: + int(code) + if code.__len__() != 6: + raise + except: + return {'formatErreur':1} + code = crans.impression.digicode.save_code(code, "Intranet (digicode)") + else: + code = crans.impression.digicode.gen_code("Intranet (digicode)") + return {'code': code, "age" : "new", "desc":"Intranet (digicode)"} + except Exception, e: + return {'erreur':str(e)} + createCode.exposed= True