Use users displayname

Signed-off-by: Jonas Rittershofer <jotoeri@users.noreply.github.com>
This commit is contained in:
Jonas Rittershofer 2020-05-02 20:30:25 +02:00
commit 907fcb407e
3 changed files with 31 additions and 6 deletions

View file

@ -42,8 +42,11 @@ use OCP\AppFramework\Controller;
use OCP\AppFramework\Db\IMapperException;
use OCP\AppFramework\Http;
use OCP\ILogger;
use OCP\IL10N;
use OCP\IRequest;
use OCP\IUser;
use OCP\IUserSession;
use OCP\IUserManager;
use OCP\Security\ISecureRandom;
class ApiController extends Controller {
@ -67,9 +70,15 @@ class ApiController extends Controller {
/** @var ILogger */
private $logger;
/** @var IL10N */
private $l10n;
/** @var IUserSession */
private $userSession;
/** @var IUserManager */
private $userManager;
/** @var FormsService */
private $formsService;
@ -77,17 +86,20 @@ class ApiController extends Controller {
IRequest $request,
$userId, // TODO remove & replace with userSession below.
IUserSession $userSession,
IUserManager $userManager,
FormMapper $formMapper,
SubmissionMapper $submissionMapper,
AnswerMapper $answerMapper,
QuestionMapper $questionMapper,
OptionMapper $optionMapper,
ILogger $logger,
IL10N $l10n,
FormsService $formsService) {
parent::__construct($appName, $request);
$this->appName = $appName;
$this->userId = $userId;
$this->userSession = $userSession;
$this->userManager = $userManager;
$this->formMapper = $formMapper;
$this->questionMapper = $questionMapper;
$this->optionMapper = $optionMapper;
@ -96,6 +108,7 @@ class ApiController extends Controller {
$this->questionMapper = $questionMapper;
$this->optionMapper = $optionMapper;
$this->logger = $logger;
$this->l10n = $l10n;
$this->formsService = $formsService;
}
@ -600,6 +613,21 @@ class ApiController extends Controller {
$submission = $submissionEntity->read();
$submission['answers'] = $this->getAnswers($submission['id']);
// Append Display Name
if (substr($submission['userId'], 0, 10) === 'anon-user-') {
// Anonymous User
$submission['userDisplayName'] = $this->l10n->t('anonymous user');
} else {
$userEntity = $this->userManager->get($submission['userId']);
if ($userEntity instanceof IUser) {
$submission['userDisplayName'] = $userEntity->getDisplayName();
} else {
// Fallback, should not occur regularly.
$submission['userDisplayName'] = $submission['userId'];
}
}
// Add to returned List of Submissions
$submissions[] = $submission;
}