diff --git a/intranet/Root.py b/intranet/Root.py index 4ab1ac5a..169dccb8 100755 --- a/intranet/Root.py +++ b/intranet/Root.py @@ -162,6 +162,8 @@ def verifLogin(login = '', password = ''): cherrypy.session['uid'] = login cherrypy.session['session_key'] = True cherrypy.session['droits'] = adh.droits() + cherrypy.session['LDAP'] = crans_ldap() + cherrypy.log("User logged in : %s" % cherrypy.session['uid'], "LOGIN") return else: diff --git a/intranet/pages/impression.py b/intranet/pages/impression.py index f2e67d8a..103d49ce 100755 --- a/intranet/pages/impression.py +++ b/intranet/pages/impression.py @@ -130,7 +130,7 @@ class root: lancerImpression.exposed = True # - # methode pour récupérer l'état de l'imprimante + # methode pour recuperer l'etat de l'imprimante # def etatImprimante(self): try: @@ -139,6 +139,17 @@ class root: return {"printer_state" : 'Imprimante hors ligne'} etatImprimante.exposed = True + # + # methode pour le solde + # + def AJAXGetSolde(self): + try: + adh = cherrypy.session['LDAP'].search('uid=' + cherrypy.session['uid'])['adherent'][0] + return {"solde" : adh.solde() } + except Exception, e: + return {"erreur" : str(e)} + AJAXGetSolde.exposed = True + diff --git a/intranet/static/css/impression.css b/intranet/static/css/impression.css index 6985e5da..09f330ea 100644 --- a/intranet/static/css/impression.css +++ b/intranet/static/css/impression.css @@ -22,20 +22,22 @@ ul#actionMenu li { * * ****************************************** */ #fileName { + display: block; width:150px; text-align:center; padding:50px 5px 5px 5px; background: url(../images/pdf-icon.png) center top no-repeat; - margin-bottom:10px; + margin:0 0 10px 0; overflow:auto; } -#actionNouvelleImpression { - margin:1em 0; + +#actionMenu li { + margin: .8em 0; } + #actionEtatImprimante { padding:0.4em; border: thin black solid; - margin:1em 0; } /* ******************************************* * diff --git a/intranet/static/scripts/impression.js b/intranet/static/scripts/impression.js index d7cf541e..5ed69f2c 100644 --- a/intranet/static/scripts/impression.js +++ b/intranet/static/scripts/impression.js @@ -365,6 +365,8 @@ Impression.AJAX.finImpression = function(AJAXResp) } else { Impression.popup.popupImpression(AJAXResp.code); } + Impression.AJAX.updateSolde(); + } Impression.AJAX.getPrinterState = function() @@ -383,4 +385,21 @@ Impression.AJAX.displayPrinterState = function(AJAXResp) } } +Impression.AJAX.updateSolde = function() +{ + var url = "AJAXGetSolde"; + Impression.AJAX.call(url, Impression.AJAX.displaySolde); +} + +Impression.AJAX.displaySolde = function(AJAXResp) +{ + logDebug('AJAX terminated (updateSolde)'); + if (AJAXResp.erreur) { + logWarning('Erreur distante (etatImprimante) : ' + AJAXResp.erreur); + } else { + replaceChildNodes("soldePlaceHolder", AJAXResp.solde ) + } +} + setInterval(Impression.AJAX.getPrinterState, 30000); +setInterval(Impression.AJAX.updateSolde, 60000); diff --git a/intranet/static/scripts/machines.js b/intranet/static/scripts/machines.js index ecc307e4..023002bb 100644 --- a/intranet/static/scripts/machines.js +++ b/intranet/static/scripts/machines.js @@ -58,7 +58,7 @@ Machines.listeMachines.display = function(result) if (result.machines) { replaceChildNodes('listeMachines',map(Machines.listeMachines.newMachineNodeFromDict ,result.machines)); Machines.actions.updateMenu(Machines.actions.actionForMachineList); - aMachines.currentMid = ''; + Machines.currentMid = ''; } else if (result.erreur) logError("Erreur distante : " + result.erreur); diff --git a/intranet/templates/impression.tmpl b/intranet/templates/impression.tmpl index f649d935..baec1744 100644 --- a/intranet/templates/impression.tmpl +++ b/intranet/templates/impression.tmpl @@ -62,15 +62,26 @@