On Wed, Aug 31, 2011 at 3:21 PM, Denis Gervalle <[email protected]> wrote: > On Wed, Aug 31, 2011 at 15:13, Marius Dumitru Florea < > [email protected]> wrote: > >> On Wed, Aug 31, 2011 at 3:00 PM, Thomas Mortagne >> <[email protected]> wrote: >> > On Wed, Aug 31, 2011 at 11:45 AM, Marius Dumitru Florea >> > <[email protected]> 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? >> > > Thomas has proposed the most correct answer but I see one potential issue if > $mydoc.contentAuthor does not return a fully qualified username (including > the database), so you may need to at least proceed to the addition of the > database of the document to the content author name if it does not contains > a ':'
That should not be needed if there is no bug. > > Denis > > >> Thanks, >> Marius >> >> > >> >> >> >> Thanks, >> >> Marius >> >> _______________________________________________ >> >> devs mailing list >> >> [email protected] >> >> http://lists.xwiki.org/mailman/listinfo/devs >> >> >> > >> > >> > >> > -- >> > Thomas Mortagne >> > _______________________________________________ >> > devs mailing list >> > [email protected] >> > http://lists.xwiki.org/mailman/listinfo/devs >> > >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs >> > > > > -- > Denis Gervalle > SOFTEC sa - CEO > eGuilde sarl - CTO > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

