Merge "DefaultPreferencesFactory: Remove fallback for null PermissionManager"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 17 Sep 2019 20:32:17 +0000 (20:32 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 17 Sep 2019 20:32:17 +0000 (20:32 +0000)
1  2 
includes/preferences/DefaultPreferencesFactory.php

@@@ -122,7 -122,7 +122,7 @@@ class DefaultPreferencesFactory impleme
         * @param AuthManager $authManager
         * @param LinkRenderer $linkRenderer
         * @param NamespaceInfo $nsInfo
-        * @param PermissionManager|null $permissionManager
+        * @param PermissionManager $permissionManager
         */
        public function __construct(
                ServiceOptions $options,
                AuthManager $authManager,
                LinkRenderer $linkRenderer,
                NamespaceInfo $nsInfo,
-               PermissionManager $permissionManager = null
+               PermissionManager $permissionManager
        ) {
                $options->assertRequiredOptions( self::$constructorOptions );
  
-               if ( !$permissionManager ) {
-                       // TODO: this is actually hard-deprecated, left for jenkins to pass
-                       // together with GlobalPreferences extension. Will be removed in a followup.
-                       $permissionManager = MediaWikiServices::getInstance()->getPermissionManager();
-               }
                $this->options = $options;
                $this->contLang = $contLang;
                $this->authManager = $authManager;
                }
  
                /**
 -               * @var HTMLForm $htmlForm
 +               * @var PreferencesFormOOUI $htmlForm
                 */
                $htmlForm = new $formClass( $formDescriptor, $context, 'prefs' );
  
                ] ) );
  
                $htmlForm->setModifiedUser( $user );
 +              $htmlForm->setOptionsEditable( $this->permissionManager
 +                      ->userHasRight( $user, 'editmyoptions' ) );
 +              $htmlForm->setPrivateInfoEditable( $this->permissionManager
 +                      ->userHasRight( $user, 'editmyprivateinfo' ) );
                $htmlForm->setId( 'mw-prefs-form' );
                $htmlForm->setAutocomplete( 'off' );
                $htmlForm->setSubmitText( $context->msg( 'saveprefs' )->text() );
                $htmlForm->setSubmitTooltip( 'preferences-save' );
                $htmlForm->setSubmitID( 'prefcontrol' );
                $htmlForm->setSubmitCallback(
 -                      function ( array $formData, HTMLForm $form ) use ( $formDescriptor ) {
 +                      function ( array $formData, PreferencesFormOOUI $form ) use ( $formDescriptor ) {
                                return $this->submitForm( $formData, $form, $formDescriptor );
                        }
                );