mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/OATHAuth
synced 2024-09-23 10:23:23 +00:00
Merge "add a check if a module is available for enabling"
This commit is contained in:
commit
4f203a25bc
|
@ -167,7 +167,7 @@ class OATHManage extends SpecialPage {
|
|||
|
||||
private function addInactiveHTML(): void {
|
||||
foreach ( $this->moduleRegistry->getAllModules() as $module ) {
|
||||
if ( $this->isModuleEnabled( $module ) ) {
|
||||
if ( $this->isModuleEnabled( $module ) || !$this->isModuleAvailable( $module ) ) {
|
||||
continue;
|
||||
}
|
||||
$this->addModuleHTML( $module );
|
||||
|
@ -273,6 +273,25 @@ class OATHManage extends SpecialPage {
|
|||
return $enabled->getName() === $module->getName();
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies if the module is available to be enabled
|
||||
*
|
||||
* @param IModule $module
|
||||
* @return bool
|
||||
*/
|
||||
private function isModuleAvailable( IModule $module ): bool {
|
||||
$form = $module->getManageForm(
|
||||
static::ACTION_ENABLE,
|
||||
$this->authUser,
|
||||
$this->userRepo,
|
||||
$this->getContext()
|
||||
);
|
||||
if ( $form === '' ) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies if the given form instance fulfills the required conditions
|
||||
*
|
||||
|
@ -327,7 +346,7 @@ class OATHManage extends SpecialPage {
|
|||
|
||||
private function hasAlternativeModules(): bool {
|
||||
foreach ( $this->moduleRegistry->getAllModules() as $module ) {
|
||||
if ( !$this->isModuleEnabled( $module ) ) {
|
||||
if ( !$this->isModuleEnabled( $module ) && $this->isModuleAvailable( $module ) ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue