Fix user talk checkbox enabling/disabling on Special:Block
authorThalia <thalia.e.chan@googlemail.com>
Wed, 22 May 2019 21:47:54 +0000 (22:47 +0100)
committerThalia <thalia.e.chan@googlemail.com>
Thu, 23 May 2019 18:59:52 +0000 (19:59 +0100)
Partial blocks ignore the ipb_allow_usertalk field, so the user
talk checkbox should be disabled on Special:Block when creating
a partial block.

The checkbox is already disabled for partial blocks against
editing. This also disables the checkbox for partial blocks that
do not involve editing.

Bug: T224032
Change-Id: I2519ab30a90872d90f05861c65ab943d7937d9fa

resources/src/mediawiki.special.block.js

index 58657db..6d003aa 100644 (file)
                                pageRestrictionsWidget.setDisabled( !editingIsSelected || isSitewide );
                                namespaceRestrictionsWidget.setDisabled( !editingIsSelected || isSitewide );
                                if ( blockAllowsUTEdit ) {
-                                       // This option is disabled for partial blocks unless a namespace restriction
-                                       // for the User_talk namespace is in place.
+                                       // Disable for partial blocks, unless the block is against the User_talk namespace
                                        preventTalkPageEditWidget.setDisabled(
-                                               editingIsSelected &&
-                                               editingRestrictionValue === 'partial' &&
-                                               namespaceRestrictionsWidget.getValue().indexOf(
-                                                       String( mw.config.get( 'wgNamespaceIds' ).user_talk )
-                                               ) === -1
+                                               // Partial block that doesn't block editing
+                                               !editingIsSelected ||
+                                               // Partial block that blocks editing and doesn't block the User_talk namespace
+                                               (
+                                                       editingRestrictionValue === 'partial' &&
+                                                       namespaceRestrictionsWidget.getValue().indexOf(
+                                                               String( mw.config.get( 'wgNamespaceIds' ).user_talk )
+                                                       ) === -1
+                                               )
                                        );
                                }
                        }