ajout d'erreurs personalisees et du module digicode
darcs-hash:20061009172906-f46e9-390eff7e704b7cad2f6a4f3ec8a426fbef179d0b.gz
This commit is contained in:
parent
8c44cac872
commit
bd9ead0d89
11 changed files with 158 additions and 23 deletions
|
@ -5,9 +5,19 @@ import cherrypy._cputil
|
|||
# verification des droits
|
||||
##########################
|
||||
#
|
||||
# Application des templates,
|
||||
# avec plein de test chians
|
||||
#
|
||||
def verifDroits(mesDroits, lesDroitsQuilFaut):
|
||||
if not type(mesDroits) == list:
|
||||
raise ValueError, "mesDroits doit etre une liste"
|
||||
if (lesDroitsQuilFaut == "all"):
|
||||
return True
|
||||
if ("Nounou" in mesDroits):
|
||||
return True
|
||||
if type(lesDroitsQuilFaut) == str:
|
||||
return lesDroitsQuilFaut in mesDroits
|
||||
elif type(lesDroitsQuilFaut) == list:
|
||||
return True in [d in mesDroits for d in lesDroitsQuilFaut]
|
||||
return False
|
||||
|
||||
class VerifDroitsFilter(BaseFilter):
|
||||
|
||||
def before_main(self):
|
||||
|
@ -16,7 +26,6 @@ class VerifDroitsFilter(BaseFilter):
|
|||
if not cherrypy.session.get("session_key"):
|
||||
return
|
||||
droits = cherrypy.config.get('crans.droits', 'all')
|
||||
if (droits != "all"):
|
||||
if not droits in cherrypy.session['droits']:
|
||||
raise cherrypy.HTTPError(403, "Vous n'avez pas les droits nécessaires.")
|
||||
if not verifDroits(cherrypy.session['droits'], droits):
|
||||
raise cherrypy.HTTPError(403, "Vous n'avez pas les droits nécessaires pour accéder à cette page.")
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue