Merge "DefaultPreferencesFactory: Remove fallback for null PermissionManager"
[lhc/web/wiklou.git] / includes / preferences / DefaultPreferencesFactory.php
index 10c88ff..68236e5 100644 (file)
@@ -1520,7 +1520,7 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                }
 
                /**
                }
 
                /**
-                * @var HTMLForm $htmlForm
+                * @var PreferencesFormOOUI $htmlForm
                 */
                $htmlForm = new $formClass( $formDescriptor, $context, 'prefs' );
 
                 */
                $htmlForm = new $formClass( $formDescriptor, $context, 'prefs' );
 
@@ -1533,6 +1533,10 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                ] ) );
 
                $htmlForm->setModifiedUser( $user );
                ] ) );
 
                $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->setId( 'mw-prefs-form' );
                $htmlForm->setAutocomplete( 'off' );
                $htmlForm->setSubmitText( $context->msg( 'saveprefs' )->text() );
@@ -1540,7 +1544,7 @@ class DefaultPreferencesFactory implements PreferencesFactory {
                $htmlForm->setSubmitTooltip( 'preferences-save' );
                $htmlForm->setSubmitID( 'prefcontrol' );
                $htmlForm->setSubmitCallback(
                $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 );
                        }
                );
                                return $this->submitForm( $formData, $form, $formDescriptor );
                        }
                );