Add more information to exception thrown
authorMax Semenik <maxsem.wiki@gmail.com>
Tue, 27 Aug 2019 02:03:09 +0000 (19:03 -0700)
committerMax Semenik <maxsem.wiki@gmail.com>
Tue, 27 Aug 2019 02:03:09 +0000 (19:03 -0700)
It's not just about the preference name, because current user's properties
are used for validation too.

Bug: T231029
Change-Id: I268b959017bb0dce2b4295d5302a544bfa3513eb

includes/preferences/DefaultPreferencesFactory.php

index 001c975..00c2903 100644 (file)
@@ -232,7 +232,10 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                        } elseif ( $field->validate( $globalDefault, $user->getOptions() ) === true ) {
                                $info['default'] = $globalDefault;
                        } else {
-                               throw new MWException( "Global default '$globalDefault' is invalid for field $name" );
+                               $globalDefault = json_encode( $globalDefault );
+                               throw new MWException(
+                                       "Default '$globalDefault' is invalid for preference $name of user $user"
+                               );
                        }
                }