On Wed, Aug 31, 2011 at 3:00 PM, Thomas Mortagne
<thomas.mortagne(a)xwiki.com> wrote:
On Wed, Aug 31, 2011 at 11:45 AM, Marius Dumitru
Florea
<mariusdumitru.florea(a)xwiki.com> wrote:
Hi devs,
I tried to use:
$someDoc.hasProgrammingRights()
but unfortunately this method checks the current/context document, not
the one on which it is called. The code is in com.xpn.xwiki.api.Api:
/**
* Check if the current document has programming rights, meaning that
it was last saved by a user with the
* programming right globally granted.
*
* @return <tt>true</tt> if the current document has the Programming
right or <tt>false</tt> otherwise.
*/
public boolean hasProgrammingRights()
{
com.xpn.xwiki.XWiki xwiki = this.context.getWiki();
return xwiki.getRightService().hasProgrammingRights(this.context);
}
So how do you check if a specific document has programming rights?
AFAICS I need to either access the rights service or change the
context document, but both require programming rights.. How can I
check programming rights without needing them?
$xwiki.hasAccessLevel("programming",
$mydoc.contentAuthor,
"anydocumentitsnotusedanyway")
should work well.
What about the rest of the tests done in
XWikiRightsServiceImpl#hasProgrammingRights(XWikiDocument,
XWikiContext) ? hasAccessLevel('programming', ..) is called only at
the end. I suppose they are needed, otherwise hasProgrammingRights
would have just called hasAccessLevel no?
Thanks,
Marius
Thanks,
Marius
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Thomas Mortagne
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs