diff --git a/wiki/macro/ShowAcl.py b/wiki/macro/ShowAcl.py new file mode 100644 index 00000000..987ebdc4 --- /dev/null +++ b/wiki/macro/ShowAcl.py @@ -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( + "<>" % err.args[0]) +