Nikerabbit has uploaded a new change for review.

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

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(-)


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

diff --git a/modules/dashboard/ext.cx.translationlist.js 
b/modules/dashboard/ext.cx.translationlist.js
index 78cf3e3..3ac125e 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: newchange
Gerrit-Change-Id: Idd246bcdc78458a224d8507061ee6d3e122ffe57
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/ContentTranslation
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>

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

Reply via email to