[MediaWiki-commits] [Gerrit] More robust API error reporting - change (mediawiki...Flow)

2014-07-24 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: More robust API error reporting
..


More robust API error reporting

Single private apiErrorMessage() function handles other failure codes
than 'http'.

Bug: 68474
Change-Id: Id0201c0c9cf8f003d7619f0328a1b4222c3a16a4
---
M Resources.php
M modules/new/components/flow-board.js
2 files changed, 23 insertions(+), 2 deletions(-)

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



diff --git a/Resources.php b/Resources.php
index e97c61d..a8912e5 100644
--- a/Resources.php
+++ b/Resources.php
@@ -314,6 +314,7 @@
'mediawiki.util',
),
'messages' = array(
+   'flow-error-external',
'flow-error-http',
'flow-error-fetch-after-open-close',
)
diff --git a/modules/new/components/flow-board.js 
b/modules/new/components/flow-board.js
index 6c25eac..4005ff2 100644
--- a/modules/new/components/flow-board.js
+++ b/modules/new/components/flow-board.js
@@ -590,7 +590,7 @@
 * fetching the new data to be displayed.
 */
FlowBoardComponent.UI.removeError( $target );
-   var errorMsg = result.error ? result.error.info 
: mw.msg( 'flow-error-http' );
+   var errorMsg = apiErrorMessage( code, result );
errorMsg = mw.msg( 
'flow-error-fetch-after-open-close', errorMsg );
FlowBoardComponent.UI.showError( $target, 
errorMsg );
} );
@@ -1326,6 +1326,26 @@
};
 
/**
+* Utility to get error message for API result.
+*
+* @param string code
+* @param Object result
+* @returns string
+*/
+   function apiErrorMessage( code, result ) {
+   if ( result.error  result.error.info ) {
+   return result.error.info;
+   } else {
+   if ( code === 'http' ) {
+   // XXX: some network errors have 
English info in result.exception and result.textStatus.
+   return mw.msg( 'flow-error-http' );
+   } else {
+   return  mw.msg( 'flow-error-external', 
code );
+   }
+   }
+   }
+
+   /**
 * Triggers an API request based on URL and form data, and 
triggers the callbacks based on flow-api-handler.
 * @example a data-flow-interactive-handler=apiRequest 
data-flow-api-handler=loadMore data-flow-api-target= .flow-component div 
href=../a
 * @param {Event} event
@@ -1446,7 +1466,7 @@
 * same format. If the request 
failed without a specific
 * error message, just fall 
back to some default error.
 */
-   errorMsg = result.error ? 
result.error.info : mw.msg( 'flow-error-http' );
+   errorMsg = apiErrorMessage( 
code, result );

FlowBoardComponent.UI.showError( info.$target, errorMsg );
 

FlowBoardComponent.UI.events.apiHandlers[ handlerName ].apply( _this, args );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Id0201c0c9cf8f003d7619f0328a1b4222c3a16a4
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: master
Gerrit-Owner: Spage sp...@wikimedia.org
Gerrit-Reviewer: Matthias Mullie mmul...@wikimedia.org
Gerrit-Reviewer: SG shah...@gmail.com
Gerrit-Reviewer: jenkins-bot 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] More robust API error reporting - change (mediawiki...Flow)

2014-07-23 Thread Spage (Code Review)
Spage has uploaded a new change for review.

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

Change subject: More robust API error reporting
..

More robust API error reporting

Single private apiErrorMessage() function handles other failure codes
than 'http'.

Bug: 68474
Change-Id: Id0201c0c9cf8f003d7619f0328a1b4222c3a16a4
---
M Resources.php
M modules/new/components/flow-board.js
2 files changed, 23 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Flow 
refs/changes/70/148870/1

diff --git a/Resources.php b/Resources.php
index e97c61d..a8912e5 100644
--- a/Resources.php
+++ b/Resources.php
@@ -314,6 +314,7 @@
'mediawiki.util',
),
'messages' = array(
+   'flow-error-external',
'flow-error-http',
'flow-error-fetch-after-open-close',
)
diff --git a/modules/new/components/flow-board.js 
b/modules/new/components/flow-board.js
index 6c25eac..4005ff2 100644
--- a/modules/new/components/flow-board.js
+++ b/modules/new/components/flow-board.js
@@ -590,7 +590,7 @@
 * fetching the new data to be displayed.
 */
FlowBoardComponent.UI.removeError( $target );
-   var errorMsg = result.error ? result.error.info 
: mw.msg( 'flow-error-http' );
+   var errorMsg = apiErrorMessage( code, result );
errorMsg = mw.msg( 
'flow-error-fetch-after-open-close', errorMsg );
FlowBoardComponent.UI.showError( $target, 
errorMsg );
} );
@@ -1326,6 +1326,26 @@
};
 
/**
+* Utility to get error message for API result.
+*
+* @param string code
+* @param Object result
+* @returns string
+*/
+   function apiErrorMessage( code, result ) {
+   if ( result.error  result.error.info ) {
+   return result.error.info;
+   } else {
+   if ( code === 'http' ) {
+   // XXX: some network errors have 
English info in result.exception and result.textStatus.
+   return mw.msg( 'flow-error-http' );
+   } else {
+   return  mw.msg( 'flow-error-external', 
code );
+   }
+   }
+   }
+
+   /**
 * Triggers an API request based on URL and form data, and 
triggers the callbacks based on flow-api-handler.
 * @example a data-flow-interactive-handler=apiRequest 
data-flow-api-handler=loadMore data-flow-api-target= .flow-component div 
href=../a
 * @param {Event} event
@@ -1446,7 +1466,7 @@
 * same format. If the request 
failed without a specific
 * error message, just fall 
back to some default error.
 */
-   errorMsg = result.error ? 
result.error.info : mw.msg( 'flow-error-http' );
+   errorMsg = apiErrorMessage( 
code, result );

FlowBoardComponent.UI.showError( info.$target, errorMsg );
 

FlowBoardComponent.UI.events.apiHandlers[ handlerName ].apply( _this, args );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id0201c0c9cf8f003d7619f0328a1b4222c3a16a4
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: master
Gerrit-Owner: Spage sp...@wikimedia.org

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits