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
parent a6f77b0c2f
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;
}

View file

@ -24,7 +24,7 @@
<div class="section submission">
<div class="submission-head">
<h3>
{{ t('forms', 'Response by {userDisplayName}', { userDisplayName }) }}
{{ t('forms', 'Response by {userDisplayName}', { userDisplayName: submission.userDisplayName }) }}
</h3>
<Actions class="submission-menu" :force-menu="true">
<ActionButton icon="icon-delete" @click="onDelete">
@ -72,9 +72,6 @@ export default {
},
computed: {
userDisplayName() {
return this.submission.userId
},
submissionDateTime() {
return moment(this.submission.timestamp, 'X').format('LLLL')
},

View file

@ -194,7 +194,7 @@ export default {
const formattedSubmissions = []
this.submissions.forEach(submission => {
const formattedSubmission = {
userId: submission.userId,
userDisplayName: submission.userDisplayName,
timestamp: moment(submission.timestamp, 'X').format('L LT'),
}