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

Change subject: mw.Upload.BookletLayout: Handle additional warnings/errors
......................................................................


mw.Upload.BookletLayout: Handle additional warnings/errors

Warnings:
* 'exists-normalized': Same handling as 'exists', the only difference
  is exact match vs only matching after title normalization.
* 'was-deleted': Added new l10n message 'api-error-was-deleted',
  based on 'filewasdeleted' but shorter/simpler.

Errors:
* 'protectedpage': Display 'protectedpagetext' message.

Bug: T131709
Change-Id: Ia9f65fc39d59018dc62b758f9a2ae98de7d187fe
---
M languages/i18n/en.json
M languages/i18n/qqq.json
M resources/Resources.php
M resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
4 files changed, 21 insertions(+), 3 deletions(-)

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



diff --git a/languages/i18n/en.json b/languages/i18n/en.json
index fe307d4..c0b2ebc 100644
--- a/languages/i18n/en.json
+++ b/languages/i18n/en.json
@@ -3900,6 +3900,7 @@
        "api-error-unknownerror": "Unknown error: \"$1\".",
        "api-error-uploaddisabled": "Uploading is disabled on this wiki.",
        "api-error-verification-error": "This file might be corrupt, or have 
the wrong extension.",
+       "api-error-was-deleted": "A file of this name has been previously 
uploaded and subsequently deleted.",
        "duration-seconds": "$1 {{PLURAL:$1|second|seconds}}",
        "duration-minutes": "$1 {{PLURAL:$1|minute|minutes}}",
        "duration-hours": "$1 {{PLURAL:$1|hour|hours}}",
diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json
index 2ee34bd..285093d 100644
--- a/languages/i18n/qqq.json
+++ b/languages/i18n/qqq.json
@@ -4076,6 +4076,7 @@
        "api-error-unknownerror": "API error message that can be used for 
client side localisation of API errors.\n\nParameters:\n* $1 - an unknown error 
message\n{{Identical|Unknown error}}",
        "api-error-uploaddisabled": "API error message that can be used for 
client side localisation of API errors.",
        "api-error-verification-error": "The word \"extension\" refers to the 
part behind the last dot in a file name, that by convention gives a hint about 
the kind of data format which a files contents are in.",
+       "api-error-was-deleted": "API error message that can be used for client 
side localisation of API errors.",
        "duration-seconds": "Used as duration. Parameters:\n* $1 - number of 
seconds\n{{Related|Duration}}\n{{Identical|Second}}",
        "duration-minutes": "Used as duration. Parameters:\n* $1 - number of 
minutes\n{{Related|Duration}}\n{{Identical|Minute}}",
        "duration-hours": "Used as duration. Parameters:\n* $1 - number of 
hours\n{{Related|Duration}}",
diff --git a/resources/Resources.php b/resources/Resources.php
index b206ba3..5cc5681 100644
--- a/resources/Resources.php
+++ b/resources/Resources.php
@@ -1255,11 +1255,13 @@
                        'api-error-unknown-error',
                        'api-error-uploaddisabled',
                        'api-error-verification-error',
+                       'api-error-was-deleted',
                        'fileexists',
                        'filepageexists',
                        'filename-bad-prefix',
                        'filename-thumb-name',
                        'badfilename',
+                       'protectedpagetext',
                        'api-error-blacklisted', // HACK
                ],
        ],
diff --git a/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js 
b/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
index 33b10bd..6af0edf 100644
--- a/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
+++ b/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js
@@ -322,9 +322,13 @@
                                );
                        }
 
-                       message = mw.message( 'api-error-' + error.code );
-                       if ( !message.exists() ) {
-                               message = mw.message( 'api-error-unknownerror', 
JSON.stringify( stateDetails ) );
+                       if ( error.code === 'protectedpage' ) {
+                               message = mw.message( 'protectedpagetext' );
+                       } else {
+                               message = mw.message( 'api-error-' + error.code 
);
+                               if ( !message.exists() ) {
+                                       message = mw.message( 
'api-error-unknownerror', JSON.stringify( stateDetails ) );
+                               }
                        }
                        return new OO.ui.Error(
                                $( '<p>' ).append( message.parseDom() ),
@@ -344,6 +348,11 @@
                        } else if ( warnings.exists !== undefined ) {
                                return new OO.ui.Error(
                                        $( '<p>' ).msg( 'fileexists', 'File:' + 
warnings.exists ),
+                                       { recoverable: false }
+                               );
+                       } else if ( warnings[ 'exists-normalized' ] !== 
undefined ) {
+                               return new OO.ui.Error(
+                                       $( '<p>' ).msg( 'fileexists', 'File:' + 
warnings[ 'exists-normalized' ] ),
                                        { recoverable: false }
                                );
                        } else if ( warnings[ 'page-exists' ] !== undefined ) {
@@ -371,6 +380,11 @@
                                        $( '<p>' ).msg( 
'api-error-duplicate-archive', 1 ),
                                        { recoverable: false }
                                );
+                       } else if ( warnings[ 'was-deleted' ] !== undefined ) {
+                               return new OO.ui.Error(
+                                       $( '<p>' ).msg( 'api-error-was-deleted' 
),
+                                       { recoverable: false }
+                               );
                        } else if ( warnings.badfilename !== undefined ) {
                                // Change the name if the current name isn't 
acceptable
                                // TODO This might not really be the best place 
to do this

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia9f65fc39d59018dc62b758f9a2ae98de7d187fe
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Bartosz DziewoƄski <[email protected]>
Gerrit-Reviewer: Edokter <[email protected]>
Gerrit-Reviewer: Jack Phoenix <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: MarkTraceur <[email protected]>
Gerrit-Reviewer: Prtksxna <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to