jenkins-bot has submitted this change and it was merged.

Change subject: Guard against translation.progress which is not valid json
......................................................................


Guard against translation.progress which is not valid json

On my dev wiki, dashboard was empty because JSON.parse threw an
uncaught exception.

Change-Id: Idd246bcdc78458a224d8507061ee6d3e122ffe57
---
M modules/dashboard/ext.cx.translationlist.js
1 file changed, 9 insertions(+), 5 deletions(-)

Approvals:
  Santhosh: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/dashboard/ext.cx.translationlist.js 
b/modules/dashboard/ext.cx.translationlist.js
index 78cf3e3..3b4b188 100644
--- a/modules/dashboard/ext.cx.translationlist.js
+++ b/modules/dashboard/ext.cx.translationlist.js
@@ -133,15 +133,21 @@
         * @param {Object[]} translations
         */
        CXTranslationList.prototype.listTranslations = function ( translations 
) {
-               var i, translation, $translation, $titleLanguageBlock,
+               var i, translation, progress, $translation, $titleLanguageBlock,
                        $translationLink, translationLinkUrl,
                        $sourceLanguage, $targetLanguage,
                        $imageBlock, $lastUpdated, $image, $status, 
$progressbar,
                        $actionsTrigger, $menu, $menuContainer, 
$deleteTranslation;
 
                for ( i = 0; i < translations.length; i++ ) {
-
                        translation = translations[ i ];
+
+                       try {
+                               progress = JSON.parse( translation.progress );
+                       } catch ( e ) {
+                               progress = {};
+                       }
+
                        $translation = $( '<div>' )
                                .addClass( 'translation' )
                                .attr( 'id', translation.id );
@@ -154,9 +160,7 @@
                                .addClass( 'image' );
                        $progressbar = $( '<div>' )
                                .addClass( 'progressbar' )
-                               .cxProgressBar( {
-                                       weights: JSON.parse( 
translation.progress )
-                               } );
+                               .cxProgressBar( { weights: progress } );
                        $imageBlock.append( $image, $progressbar );
                        this.showTitleImage( translation );
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Idd246bcdc78458a224d8507061ee6d3e122ffe57
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/ContentTranslation
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>
Gerrit-Reviewer: Jsahleen <[email protected]>
Gerrit-Reviewer: Santhosh <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to