etat de l'imprimante actualis + liste des codes dispos pour l'adherent

darcs-hash:20061110133521-f46e9-24bce8f22f9b7a14cba214e664084b3103e848d9.gz
This commit is contained in:
gdetrez 2006-11-10 14:35:21 +01:00
parent 20f3593951
commit e8391dfd40
3 changed files with 459 additions and 356 deletions

View file

@ -44,20 +44,63 @@ class root:
'scripts':['impression.js', 'popup.js'],
}
index.exposed = True
##########################
# devis
##########################
#
# methode qui affiche la template du devis
#
def devis(self):
return {
'template':'impression-devis',
'values':
{
'devis':cherrypy.session['impression'].devisDetaille(),
'total':cherrypy.session['impression'].prix(),
'nomFichier':cherrypy.session['impression'].fileName(),
},
'standalone':True,
}
devis.exposed=True
##########################
# AJAX
##########################
#
# methode qui renvoie la liste des codes de l'adherent
#
def codeList(self):
try:
listeBrute = crans.impression.digicode.list_code()
# liste de la forme :
# [(code, age, description),...]
listeBrute = [item[0] for item in listeBrute if item[2] == cherrypy.session['uid']]
return {'codes': listeBrute}
except Exception, e:
cherrypy.log('erreur lors de la creation de la liste de codes :' + str(e), 'IMPRESSION', 1)
return {'erreur':str(e)}
codeList.exposed= True
#
# methode qui indique quel fichier utiliser
#
def useFile(self, fileName):
try:
filepath = os.path.join(os.path.join(FILE_UPLOAD_BASE_FOLDER, cherrypy.session['uid']+"/"), fileName)
cherrypy.session['impression'] = crans.impression.impression(filepath, cherrypy.session['uid'])
return {'nbPages': cherrypy.session['impression'].pages()}
except Exception, e:
cherrypy.log("useFile: %s" % str(e), 'IMPRESSION', 1)
cherrypy.log("useFile (erreur): %s" % str(e), 'IMPRESSION', 1)
return {'erreur':str(e) }
useFile.exposed= True
#
# methode pour changer les parametres
#
def changeSettings(self, copies=None, couleurs=None, recto_verso=None, agrafes=None, papier=None):
try:
nouvPrix = cherrypy.session['impression'].changeSettings(papier=papier, couleurs=couleurs, agraphes=agrafes, recto_verso=recto_verso, copies=int(copies))
@ -68,6 +111,9 @@ class root:
changeSettings.exposed = True
#
# methode pour lancer l'impression
#
def lancerImpression(self):
try:
cherrypy.session['impression'].imprime()
@ -76,16 +122,39 @@ class root:
except Exception, e:
cherrypy.log("lancerImpression (erreur): %s" % str(e), 'IMPRESSION', 1)
return {"erreur":str(e)}
cherrypy.log("impression demandee " , 'IMPRESSION')
return {'code':str(crans.impression.digicode.gen_code("Impression intranet : " + cherrypy.session['uid'])) + "#"}
return {'code':str(crans.impression.digicode.gen_code(cherrypy.session['uid'])) + "#"}
lancerImpression.exposed = True
#
# methode pour récupérer l'état de l'imprimante
#
def etatImprimante(self):
try:
try:
return {"printer_state" : "<br />".join(crans.impression.etat_imprimante.etat())
except Exception, e:
return {"printer_state" : 'Imprimante hors ligne'}
etatImprimante.exposed = True
##########################
# privees
##########################
#
# methode pour obtenir la liste des fichiers uploadés
#
def getUploadedFileListFor(self, adh):
file_folder = os.path.join(FILE_UPLOAD_BASE_FOLDER, cherrypy.session['uid']+"/")
if not os.path.isdir(file_folder):
return []
return os.listdir(file_folder)
#
# methode pour enregistrer un fichier
#
def savePDF(self, aFile):
_, tempFileName = tempfile.mkstemp()
@ -110,22 +179,6 @@ class root:
return newFilePath
##########################
# devis
##########################
#
# methode qui affiche la template du devis
#
def devis(self):
return {
'template':'impression-devis',
'values':
{
'devis':cherrypy.session['impression'].devisDetaille(),
'total':cherrypy.session['impression'].prix(),
'nomFichier':cherrypy.session['impression'].fileName(),
},
'standalone':True,
}
devis.exposed=True