public function execute( $par ) {
$user = $this->getUser();
$request = $this->getRequest();
+ $session = $request->getSession();
$out = $this->getOutput();
if ( $par !== null ) {
$this->mTarget = trim( $this->mTarget );
}
+ if ( $this->mTarget !== null && User::getCanonicalName( $this->mTarget ) === $user->getName() ) {
+ $this->isself = true;
+ }
+
$fetchedStatus = $this->fetchUser( $this->mTarget, true );
if ( $fetchedStatus->isOK() ) {
$this->mFetchedUser = $fetchedStatus->value;
}
// show a successbox, if the user rights was saved successfully
- if ( $request->getCheck( 'success' ) && $this->mFetchedUser !== null ) {
+ if (
+ $session->get( 'specialUserrightsSaveSuccess' ) &&
+ $this->mFetchedUser !== null
+ ) {
+ // Remove session data for the success message
+ $session->remove( 'specialUserrightsSaveSuccess' );
+
$out->addModules( [ 'mediawiki.special.userrights' ] );
$out->addModuleStyles( 'mediawiki.notification.convertmessagebox.styles' );
$out->addHTML(
$targetUser
);
+ // Set session data for the success message
+ $session->set( 'specialUserrightsSaveSuccess', 1 );
+
$out->redirect( $this->getSuccessURL() );
return;
}
function getSuccessURL() {
- return $this->getPageTitle( $this->mTarget )->getFullURL( [ 'success' => 1 ] );
+ return $this->getPageTitle( $this->mTarget )->getFullURL();
}
/**
Xml::element(
'legend',
[],
- $this->msg( 'userrights-editusergroup', $user->getName() )->text()
+ $this->msg(
+ $canChangeAny ? 'userrights-editusergroup' : 'userrights-viewusergroup',
+ $user->getName()
+ )->text()
) .
- $this->msg( 'editinguser' )->params( wfEscapeWikiText( $user->getName() ) )
+ $this->msg(
+ $canChangeAny ? 'editinguser' : 'viewinguserrights'
+ )->params( wfEscapeWikiText( $user->getName() ) )
->rawParams( $userToolLinks )->parse()
);
if ( $canChangeAny ) {