Amire80 has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/214119

Change subject: WIP: Add a Wikibase link
......................................................................

WIP: Add a Wikibase link

Change-Id: Idc581fd10d06de9f74e4a4cf32e29483db26b1d4
---
M modules/publish/ext.cx.publish.js
1 file changed, 54 insertions(+), 0 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/ContentTranslation 
refs/changes/19/214119/1

diff --git a/modules/publish/ext.cx.publish.js 
b/modules/publish/ext.cx.publish.js
index 210e3b1..ca2cf08 100644
--- a/modules/publish/ext.cx.publish.js
+++ b/modules/publish/ext.cx.publish.js
@@ -257,6 +257,58 @@
        };
 
        /**
+        * Link the source and target articles using Wikibase if its available.
+        */
+       CXPublish.prototype.addWikibaseLink = function () {
+               var sourceApi,
+                       cxPublish = this;
+
+               sourceApi = mw.cx.SiteMapper.prototype.getApi( 
mw.cx.sourceLanguage );
+
+               sourceApi.get( {
+                       action: 'query',
+                       meta: 'wikibase',
+                       format: 'json',
+                       wbprop: 'url'
+               } ).then( function ( wikibaseResult ) {
+                       var repo, repoApi;
+
+                       if ( !( wikibaseResult.query &&
+                               wikibaseResult.query.wikibase &&
+                               wikibaseResult.query.wikibase.repo )
+                       ) {
+                               return;
+                       }
+
+                       repo = wikibaseResult.query.wikibase.repo;
+
+                       sourceApi.get( {
+                               action: 'query',
+                               meta: 'siteinfo',
+                               format: 'json',
+                               siprop: 'general'
+                       } ).done( function ( siteinfoResult ) {
+                               var sourceWikiId = 
siteinfoResult.query.general.wikiid,
+                                       targetWikiId = mw.config.get( 
'wgDBname' );
+
+                               repoApi = new mw.Api( ajax: {
+                                       url: repo.url.base + 
repo.url.scriptpath + '/api.php'
+                               } );
+
+                               repoApi.postWithToken( {
+                                       action: 'wbsetsitelink',
+                                       format: 'json',
+                                       site: targetWikiId,
+                                       title: cxPublish.targetTitle,
+                                       summary: 'ContentTranslation',
+                                       linksite: sourceWikiId,
+                                       linktitle: mw.cx.sourceTitle
+                               } );
+                       } );
+               } );
+       }
+
+       /**
         * Success handler for publishing.
         */
        CXPublish.prototype.onSuccess = function () {
@@ -279,6 +331,8 @@
                        this.targetTitle
                );
 
+               this.addWikibaseLink()
+
                mw.cx.dirty = false;
        };
 

-- 
To view, visit https://gerrit.wikimedia.org/r/214119
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idc581fd10d06de9f74e4a4cf32e29483db26b1d4
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/ContentTranslation
Gerrit-Branch: master
Gerrit-Owner: Amire80 <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to