[wiki/macros] Méthode pour mieux voir les ACL des utilisateurs
This commit is contained in:
parent
2cd0e94680
commit
c3d4308ae4
1 changed files with 34 additions and 0 deletions
34
wiki/macro/ShowAcl.py
Normal file
34
wiki/macro/ShowAcl.py
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
|
MoinMoin - ShowAcl macro
|
||||||
|
|
||||||
|
@copyright: 2014 Vincent Le Gallic
|
||||||
|
@license: GNU GPL v3
|
||||||
|
|
||||||
|
Pour montrer les ACL effectif de l'utilisateur courant.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from MoinMoin import wikiutil
|
||||||
|
from MoinMoin.Page import Page
|
||||||
|
|
||||||
|
def macro_ShowAcl(macro, args):
|
||||||
|
request = macro.request
|
||||||
|
_ = macro.request.getText
|
||||||
|
|
||||||
|
pagename = request.themedict["page_name"]
|
||||||
|
page = Page(request, pagename)
|
||||||
|
acl = page.getACL(request)
|
||||||
|
permissions = ["read", "write", "delete", "revert", "admin"]
|
||||||
|
permissions = [x for x in permissions if acl.may(request, request.user, x)]
|
||||||
|
sRet = "Les ACL de la page : %s\n" % (acl.__dict__,) + "Vos ACL : " + ", ".join(permissions)
|
||||||
|
return macro.formatter.text(sRet)
|
||||||
|
|
||||||
|
|
||||||
|
def execute(macro, args):
|
||||||
|
try:
|
||||||
|
return wikiutil.invoke_extension_function(
|
||||||
|
macro.request, macro_ShowAcl, args, [macro])
|
||||||
|
except ValueError, err:
|
||||||
|
return macro.request.formatter.text(
|
||||||
|
"<<ShowAcl: %s>>" % err.args[0])
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue