On 02/11/2010 05:49 PM, vmassol (SVN) wrote:
> Author: vmassol
> Date: 2010-02-11 17:49:55 +0100 (Thu, 11 Feb 2010)
> New Revision: 26953
>
> Modified:
>     platform/web/trunk/standard/src/main/webapp/templates/xwikivars.vm
> Log:
> Improved doc
>
> Modified: platform/web/trunk/standard/src/main/webapp/templates/xwikivars.vm
> ===================================================================
> --- platform/web/trunk/standard/src/main/webapp/templates/xwikivars.vm        
> 2010-02-11 16:07:23 UTC (rev 26952)
> +++ platform/web/trunk/standard/src/main/webapp/templates/xwikivars.vm        
> 2010-02-11 16:49:55 UTC (rev 26953)
> @@ -3,7 +3,9 @@
>   #set($isSuperAdmin = ($context.user == 'XWiki.superadmin'))
>   #set($hasEdit = $xwiki.hasAccessLevel("edit"))
>   #set($hasAdmin = $xwiki.hasAccessLevel("admin"))

This is so bad for the performance... Fills the cache with unneeded 
entries, makes two unneeded queries to the database (the random document 
plus the WebPreferences), and goes through the complex full rights check 
each time.

> +## Note: In order to know if the user has the right to create a space we 
> compute a space name that doesn't exist and check edit rights on that space
>   #set($hasCreateSpace = $xwiki.hasAccessLevel("edit", 
> "${doc.space}${mathtool.random(0, 
> 999)}.DocumentReservedForInternalXWikiUsage"))
> +## Note: In order to know if the user has the right to create a page we 
> compute a page name that doesn't exist and check edit rights on that page
>   #set($hasCreatePage = $xwiki.hasAccessLevel("edit", 
> "${doc.space}.DocumentReservedForInternalXWikiUsage${mathtool.random(0, 
> 999)}"))
>   #set($hasGlobalAdmin = $xwiki.hasAccessLevel("admin", $context.user, 
> "XWiki.XWikiPreferences"))
>   #set($hasSpaceAdmin = $xwiki.hasAccessLevel("admin", $context.user, 
> "${doc.space}.WebPreferences"))


-- 
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to