On 12/14/09 6:38 PM, lucaa (SVN) wrote:
Author: lucaa Date: 2009-12-14 18:38:53 +0100 (Mon, 14 Dec 2009) New Revision: 25793
Modified: contrib/sandbox/xwiki-annotation-parent/xwiki-annotation-application/src/main/resources/Panels/AnnotationManager.xml Log: Fixed js client to work in multiwiki mode.
Modified: contrib/sandbox/xwiki-annotation-parent/xwiki-annotation-application/src/main/resources/Panels/AnnotationManager.xml =================================================================== --- contrib/sandbox/xwiki-annotation-parent/xwiki-annotation-application/src/main/resources/Panels/AnnotationManager.xml 2009-12-14 17:27:26 UTC (rev 25792) +++ contrib/sandbox/xwiki-annotation-parent/xwiki-annotation-application/src/main/resources/Panels/AnnotationManager.xml 2009-12-14 17:38:53 UTC (rev 25793) @@ -12,8 +12,8 @@ <customClass></customClass> <contentAuthor>XWiki.Admin</contentAuthor> <creationDate>1240502446000</creationDate> -<date>1259676301000</date> -<contentUpdateDate>1259676301000</contentUpdateDate> +<date>1260811068000</date> +<contentUpdateDate>1260811068000</contentUpdateDate> <version>1.0</version> <title></title> <template></template> @@ -277,6 +277,7 @@ XWiki.Annotation.prototype = { /* Utils */ getDocumentInfos : function() { + // TODO: get these from the XWiki object or meta tags var space = ''; var page = ''; window.location.pathname.toString().scan(/\/[^\/]+/, function(match) { @@ -295,6 +296,7 @@ page = page.replace('/', ''); return { host : location.host, + 'wiki' : XWiki.currentWiki, 'space' : space, 'page' : page }; @@ -463,11 +465,18 @@ XWiki.Annotation.getInstance().updateAnnotationResumeAux(items); return; } - var space = anno.author.split('.')[0]; - var page = anno.author.split('.')[1]; + var wiki = anno.author.split(':')[0]; + var localAuthor = anno.author.split(':')[1]; + // if there is no wiki in the username (user is already local), use XWiki.currentWiki for wiki and wiki for localAuthor + if (!localAuthor) { + localAuthor = wiki; + wiki = XWiki.currentWiki; + } + var space = localAuthor.split('.')[0]; + var page = localAuthor.split('.')[1]; var url = 'http://' + location.host - + '/xwiki/rest/wikis/xwiki/spaces/' + + '/xwiki/rest/wikis/' + wiki + '/spaces/' + space + '/pages/' + page @@ -537,7 +546,7 @@ } XWiki.Annotation.getInstance().annotatedDocumentFlag = 1; var infos = XWiki.Annotation.getInstance().getDocumentInfos(); - var url = 'http://' + infos.host + '/xwiki/rest/wikis/xwiki/spaces/' + var url = 'http://' + infos.host + '/xwiki/rest/wikis/' + infos.wiki + '/spaces/' + infos.space + '/pages/' + infos.page + '/annotation?media=json'; new Ajax.Request(url, { @@ -549,7 +558,7 @@
removeAnnotation : function(id) { var infos = XWiki.Annotation.getInstance().getDocumentInfos(); - var url = 'http://' + infos.host + '/xwiki/rest/wikis/xwiki/spaces/' + var url = 'http://' + infos.host + '/xwiki/rest/wikis/' + infos.wiki + '/spaces/'
To be on the safe side you should use XWiki.contextPath in place of "/xwiki". We really need to add some helper methods in the XWiki object, to create URLs... Jerome.
+ infos.space + '/pages/' + infos.page + '/annotation/' + id + '?method=DELETE&media=json'; new Ajax.Request(url, { @@ -561,7 +570,7 @@
addAnnotation : function() { var infos = XWiki.Annotation.getInstance().getDocumentInfos(); - var url = 'http://' + infos.host + '/xwiki/rest/wikis/xwiki/spaces/' + var url = 'http://' + infos.host + '/xwiki/rest/wikis/' + infos.wiki + '/spaces/' + infos.space + '/pages/' + infos.page + '/annotation?method=PUT&media=json'; new Ajax.Request(url, {
_______________________________________________ notifications mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/notifications