Add userName util function to render user's name

This commit is contained in:
rijkvanzanten
2020-10-19 13:31:44 -04:00
parent 15ec099a84
commit 6c0afa9651
21 changed files with 83 additions and 80 deletions

View File

@@ -12,7 +12,7 @@
<!-- @TODO add final design -->
<p class="type-label">User:</p>
<user-popover v-if="item.user" :user="item.user.id">
{{ item.user.first_name }} {{ item.user.last_name }}
{{ userName(item.user) }}
</user-popover>
<p class="type-label">Action:</p>
@@ -51,6 +51,7 @@ import { defineComponent, computed, toRefs, ref, watch } from '@vue/composition-
import { i18n } from '@/lang';
import router from '@/router';
import api from '@/api';
import { userName } from '@/utils/user-name';
type Values = {
[field: string]: any;
@@ -58,6 +59,7 @@ type Values = {
type ActivityRecord = {
user: {
email: string;
first_name: string;
last_name: string;
} | null;
@@ -97,6 +99,7 @@ export default defineComponent({
error,
close,
openItemLink,
userName,
};
async function loadActivity() {
@@ -107,6 +110,7 @@ export default defineComponent({
params: {
fields: [
'user.id',
'user.email',
'user.first_name',
'user.last_name',
'action',

View File

@@ -115,6 +115,7 @@ import i18n from '@/lang';
import marked from 'marked';
import localizedFormat from '@/utils/localized-format';
import api from '@/api';
import { userName } from '@/utils/user-name';
export default defineComponent({
inheritAttrs: false,
@@ -194,31 +195,31 @@ export default defineComponent({
try {
const response = await api.get(`/users/${props.file.uploaded_by}`, {
params: {
fields: ['id', 'first_name', 'last_name', 'role'],
fields: ['id', 'email', 'first_name', 'last_name', 'role'],
},
});
const { id, first_name, last_name, role } = response.data.data;
const user = response.data.data;
userCreated.value = {
id: props.file.uploaded_by,
name: first_name + ' ' + last_name,
link: `/users/${id}`,
name: userName(user),
link: `/users/${user.id}`,
};
if (props.file.modified_by) {
const response = await api.get(`/users/${props.file.modified_by}`, {
params: {
fields: ['id', 'first_name', 'last_name', 'role'],
fields: ['id', 'email', 'first_name', 'last_name', 'role'],
},
});
const { id, first_name, last_name, role } = response.data.data;
const user = response.data.data;
userModified.value = {
id: props.file.modified_by,
name: first_name + ' ' + last_name,
link: `/users/${id}`,
name: userName(user),
link: `/users/${user.id}`,
};
}
} finally {

View File

@@ -373,7 +373,6 @@ export default defineComponent({
special: ['user-created'],
interface: 'user',
options: {
template: '{{first_name}} {{last_name}}',
display: 'both',
},
readonly: true,
@@ -407,7 +406,6 @@ export default defineComponent({
special: ['user-updated'],
interface: 'user',
options: {
template: '{{first_name}} {{last_name}}',
display: 'both',
},
readonly: true,

View File

@@ -103,11 +103,12 @@ import { TranslateResult } from 'vue-i18n';
import router from '@/router';
import ValueNull from '@/views/private/components/value-null';
import PresetsInfoSidebarDetail from './components/presets-info-sidebar-detail.vue';
import { userName } from '@/utils/user-name';
type PresetRaw = {
id: number;
bookmark: null | string;
user: null | { first_name: string; last_name: string };
user: null | { email: string; first_name: string; last_name: string };
role: null | { name: string };
collection: string;
layout: string;
@@ -173,7 +174,7 @@ export default defineComponent({
}
if (preset.user) {
scope = `${preset.user.first_name} ${preset.user.last_name}`;
scope = userName(preset.user);
}
const collection = collectionsStore.getCollection(preset.collection)?.name;
@@ -200,6 +201,7 @@ export default defineComponent({
fields: [
'id',
'bookmark',
'user.email',
'user.first_name',
'user.last_name',
'role.name',

View File

@@ -102,6 +102,7 @@ import { useCollectionsStore, usePresetsStore } from '@/stores';
import { getLayouts } from '@/layouts';
import router from '@/router';
import marked from 'marked';
import { userName } from '@/utils/user-name';
type User = {
id: number;
@@ -365,12 +366,12 @@ export default defineComponent({
try {
const response = await api.get(`/users`, {
params: {
fields: ['first_name', 'last_name', 'id'],
fields: ['email', 'first_name', 'last_name', 'id'],
},
});
users.value = response.data.data.map((user: any) => ({
name: user.first_name + ' ' + user.last_name,
name: userName(user),
id: user.id,
}));
} catch (err) {

View File

@@ -102,7 +102,7 @@
<div class="user-box" v-if="isNew === false">
<div class="avatar">
<v-skeleton-loader v-if="loading || previewLoading" />
<img v-else-if="avatarSrc" :src="avatarSrc" :alt="item.first_name" />
<img v-else-if="avatarSrc" :src="avatarSrc" :alt="item.email" />
<v-icon v-else name="account_circle" outline x-large />
</div>
<div class="user-box-content">
@@ -112,7 +112,7 @@
<v-skeleton-loader type="text" />
</template>
<template v-else-if="isNew === false">
<div class="name type-title">{{ item.first_name }} {{ item.last_name }}</div>
<div class="name type-title">{{ userName(item) }}</div>
<div class="email">{{ item.email }}</div>
<v-chip :class="item.status" small>{{ roleName }}</v-chip>
</template>
@@ -179,6 +179,7 @@ import { getRootPath } from '@/utils/get-root-path';
import useShortcut from '@/composables/use-shortcut';
import { isAllowed } from '@/utils/is-allowed';
import useCollection from '@/composables/use-collection';
import { userName } from '@/utils/user-name';
type Values = {
[field: string]: any;
@@ -255,7 +256,7 @@ export default defineComponent({
if (isNew.value === false && item.value !== null) {
const user = item.value as any;
return `${user.first_name} ${user.last_name}`;
return userName(user);
}
return i18n.t('adding_user');
@@ -334,6 +335,7 @@ export default defineComponent({
archiving,
archiveTooltip,
form,
userName,
};
function useBreadcrumb() {