first commit
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
/**
|
||||
* @defgroup controllers_api_user User API controller
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file controllers/api/user/UserApiHandler.php
|
||||
*
|
||||
* Copyright (c) 2014-2021 Simon Fraser University
|
||||
* Copyright (c) 2000-2021 John Willinsky
|
||||
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
||||
*
|
||||
* @class UserApiHandler
|
||||
*
|
||||
* @ingroup controllers_api_user
|
||||
*
|
||||
* @brief Class defining the headless AJAX API for backend user manipulation.
|
||||
*/
|
||||
|
||||
namespace PKP\controllers\api\user;
|
||||
|
||||
use PKP\core\JSONMessage;
|
||||
use PKP\core\PKPRequest;
|
||||
use PKP\handler\PKPHandler;
|
||||
use PKP\security\authorization\PKPSiteAccessPolicy;
|
||||
use PKP\security\Validation;
|
||||
|
||||
class UserApiHandler extends PKPHandler
|
||||
{
|
||||
//
|
||||
// Implement template methods from PKPHandler
|
||||
//
|
||||
/**
|
||||
* @copydoc PKPHandler::authorize()
|
||||
*/
|
||||
public function authorize($request, &$args, $roleAssignments)
|
||||
{
|
||||
$this->addPolicy(new PKPSiteAccessPolicy(
|
||||
$request,
|
||||
['suggestUsername'],
|
||||
PKPSiteAccessPolicy::SITE_ACCESS_ALL_ROLES
|
||||
));
|
||||
return parent::authorize($request, $args, $roleAssignments);
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Public handler methods
|
||||
//
|
||||
/**
|
||||
* Get a suggested username, making sure it's not already used.
|
||||
*
|
||||
* @param array $args
|
||||
* @param PKPRequest $request
|
||||
*
|
||||
* @return JSONMessage JSON object
|
||||
*/
|
||||
public function suggestUsername($args, $request)
|
||||
{
|
||||
$suggestion = Validation::suggestUsername(
|
||||
$request->getUserVar('givenName'),
|
||||
$request->getUserVar('familyName')
|
||||
);
|
||||
|
||||
return new JSONMessage(true, $suggestion);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user