From c3d4308ae41c4db1f54a731bda015d3c2cfa33ab Mon Sep 17 00:00:00 2001 From: Vincent Le Gallic Date: Tue, 1 Apr 2014 15:10:26 +0200 Subject: [PATCH] =?UTF-8?q?[wiki/macros]=20M=C3=A9thode=20pour=20mieux=20v?= =?UTF-8?q?oir=20les=20ACL=20des=20utilisateurs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wiki/macro/ShowAcl.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 wiki/macro/ShowAcl.py 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]) +