|
|
|
|
@ -33,8 +33,6 @@ declare(strict_types=1); |
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/> |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
// FIXME: disabled for now to be able to inject IGroupManager and also use |
|
|
|
|
// getSubAdmin() |
|
|
|
|
|
|
|
|
|
namespace OCA\Settings\Controller; |
|
|
|
|
|
|
|
|
|
@ -42,9 +40,7 @@ use InvalidArgumentException; |
|
|
|
|
use OC\AppFramework\Http; |
|
|
|
|
use OC\Encryption\Exceptions\ModuleDoesNotExistsException; |
|
|
|
|
use OC\ForbiddenException; |
|
|
|
|
use OC\Group\Manager as GroupManager; |
|
|
|
|
use OC\KnownUser\KnownUserService; |
|
|
|
|
use OC\L10N\Factory; |
|
|
|
|
use OC\Security\IdentityProof\Manager; |
|
|
|
|
use OC\User\Manager as UserManager; |
|
|
|
|
use OCA\Settings\BackgroundJobs\VerifyUserData; |
|
|
|
|
@ -59,6 +55,7 @@ use OCP\AppFramework\Http\Attribute\OpenAPI; |
|
|
|
|
use OCP\AppFramework\Http\DataResponse; |
|
|
|
|
use OCP\AppFramework\Http\JSONResponse; |
|
|
|
|
use OCP\AppFramework\Http\TemplateResponse; |
|
|
|
|
use OCP\AppFramework\Services\IInitialState; |
|
|
|
|
use OCP\BackgroundJob\IJobList; |
|
|
|
|
use OCP\Encryption\IManager; |
|
|
|
|
use OCP\EventDispatcher\IEventDispatcher; |
|
|
|
|
@ -67,7 +64,6 @@ use OCP\IGroupManager; |
|
|
|
|
use OCP\IL10N; |
|
|
|
|
use OCP\IRequest; |
|
|
|
|
use OCP\IUser; |
|
|
|
|
use OCP\IUserManager; |
|
|
|
|
use OCP\IUserSession; |
|
|
|
|
use OCP\L10N\IFactory; |
|
|
|
|
use OCP\Mail\IMailer; |
|
|
|
|
@ -75,73 +71,28 @@ use function in_array; |
|
|
|
|
|
|
|
|
|
#[OpenAPI(scope: OpenAPI::SCOPE_IGNORE)] |
|
|
|
|
class UsersController extends Controller { |
|
|
|
|
/** @var UserManager */ |
|
|
|
|
private $userManager; |
|
|
|
|
/** @var GroupManager */ |
|
|
|
|
private $groupManager; |
|
|
|
|
/** @var IUserSession */ |
|
|
|
|
private $userSession; |
|
|
|
|
/** @var IConfig */ |
|
|
|
|
private $config; |
|
|
|
|
/** @var bool */ |
|
|
|
|
private $isAdmin; |
|
|
|
|
/** @var IL10N */ |
|
|
|
|
private $l10n; |
|
|
|
|
/** @var IMailer */ |
|
|
|
|
private $mailer; |
|
|
|
|
/** @var Factory */ |
|
|
|
|
private $l10nFactory; |
|
|
|
|
/** @var IAppManager */ |
|
|
|
|
private $appManager; |
|
|
|
|
/** @var IAccountManager */ |
|
|
|
|
private $accountManager; |
|
|
|
|
/** @var Manager */ |
|
|
|
|
private $keyManager; |
|
|
|
|
/** @var IJobList */ |
|
|
|
|
private $jobList; |
|
|
|
|
/** @var IManager */ |
|
|
|
|
private $encryptionManager; |
|
|
|
|
/** @var KnownUserService */ |
|
|
|
|
private $knownUserService; |
|
|
|
|
/** @var IEventDispatcher */ |
|
|
|
|
private $dispatcher; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function __construct( |
|
|
|
|
string $appName, |
|
|
|
|
IRequest $request, |
|
|
|
|
IUserManager $userManager, |
|
|
|
|
IGroupManager $groupManager, |
|
|
|
|
IUserSession $userSession, |
|
|
|
|
IConfig $config, |
|
|
|
|
bool $isAdmin, |
|
|
|
|
IL10N $l10n, |
|
|
|
|
IMailer $mailer, |
|
|
|
|
IFactory $l10nFactory, |
|
|
|
|
IAppManager $appManager, |
|
|
|
|
IAccountManager $accountManager, |
|
|
|
|
Manager $keyManager, |
|
|
|
|
IJobList $jobList, |
|
|
|
|
IManager $encryptionManager, |
|
|
|
|
KnownUserService $knownUserService, |
|
|
|
|
IEventDispatcher $dispatcher |
|
|
|
|
private UserManager $userManager, |
|
|
|
|
private IGroupManager $groupManager, |
|
|
|
|
private IUserSession $userSession, |
|
|
|
|
private IConfig $config, |
|
|
|
|
private bool $isAdmin, |
|
|
|
|
private IL10N $l10n, |
|
|
|
|
private IMailer $mailer, |
|
|
|
|
private IFactory $l10nFactory, |
|
|
|
|
private IAppManager $appManager, |
|
|
|
|
private IAccountManager $accountManager, |
|
|
|
|
private Manager $keyManager, |
|
|
|
|
private IJobList $jobList, |
|
|
|
|
private IManager $encryptionManager, |
|
|
|
|
private KnownUserService $knownUserService, |
|
|
|
|
private IEventDispatcher $dispatcher, |
|
|
|
|
private IInitialState $initialState, |
|
|
|
|
) { |
|
|
|
|
parent::__construct($appName, $request); |
|
|
|
|
$this->userManager = $userManager; |
|
|
|
|
$this->groupManager = $groupManager; |
|
|
|
|
$this->userSession = $userSession; |
|
|
|
|
$this->config = $config; |
|
|
|
|
$this->isAdmin = $isAdmin; |
|
|
|
|
$this->l10n = $l10n; |
|
|
|
|
$this->mailer = $mailer; |
|
|
|
|
$this->l10nFactory = $l10nFactory; |
|
|
|
|
$this->appManager = $appManager; |
|
|
|
|
$this->accountManager = $accountManager; |
|
|
|
|
$this->keyManager = $keyManager; |
|
|
|
|
$this->jobList = $jobList; |
|
|
|
|
$this->encryptionManager = $encryptionManager; |
|
|
|
|
$this->knownUserService = $knownUserService; |
|
|
|
|
$this->dispatcher = $dispatcher; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -231,6 +182,7 @@ class UsersController extends Controller { |
|
|
|
|
$userCount -= 1; // we also lower from one the total count |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$userCount += $this->userManager->countUsersOfGroups($groupsInfo->getGroups()); |
|
|
|
|
$disabledUsers = $this->userManager->countDisabledUsersOfGroups($groupsNames); |
|
|
|
|
} |
|
|
|
|
@ -280,7 +232,12 @@ class UsersController extends Controller { |
|
|
|
|
$serverData['newUserRequireEmail'] = $this->config->getAppValue('core', 'newUser.requireEmail', 'no') === 'yes'; |
|
|
|
|
$serverData['newUserSendEmail'] = $this->config->getAppValue('core', 'newUser.sendEmail', 'yes') === 'yes'; |
|
|
|
|
|
|
|
|
|
return new TemplateResponse('settings', 'settings-vue', ['serverData' => $serverData, 'pageTitle' => $this->l10n->t('Users')]); |
|
|
|
|
$this->initialState->provideInitialState('usersSettings', $serverData); |
|
|
|
|
|
|
|
|
|
\OCP\Util::addStyle('settings', 'settings'); |
|
|
|
|
\OCP\Util::addScript('settings', 'vue-settings-apps-users-management'); |
|
|
|
|
|
|
|
|
|
return new TemplateResponse('settings', 'settings/empty', ['pageTitle' => $this->l10n->t('Users')]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|