Changeset View
Changeset View
Standalone View
Standalone View
src/resources/vue/Admin/User.vue
Show First 20 Lines • Show All 234 Lines • ▼ Show 20 Lines | <div class="container"> | ||||
<btn class="btn-secondary" id="addbetasku" v-if="!hasBeta" @click="addBetaSku">{{ $t('user.add-beta') }}</btn> | <btn class="btn-secondary" id="addbetasku" v-if="!hasBeta" @click="addBetaSku">{{ $t('user.add-beta') }}</btn> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="tab-pane" id="user-domains" role="tabpanel" aria-labelledby="tab-domains"> | <div class="tab-pane" id="user-domains" role="tabpanel" aria-labelledby="tab-domains"> | ||||
<div class="card-body"> | <div class="card-body"> | ||||
<div class="card-text"> | <div class="card-text"> | ||||
<table class="table table-sm table-hover mb-0"> | <domain-list :list="domains" class="mb-0"></domain-list> | ||||
<thead> | |||||
<tr> | |||||
<th scope="col">{{ $t('domain.namespace') }}</th> | |||||
</tr> | |||||
</thead> | |||||
<tbody> | |||||
<tr v-for="domain in domains" :id="'domain' + domain.id" :key="domain.id" @click="$root.clickRecord"> | |||||
<td> | |||||
<svg-icon icon="globe" :class="$root.statusClass(domain)" :title="$root.statusText(domain)"></svg-icon> | |||||
<router-link :to="{ path: '/domain/' + domain.id }">{{ domain.namespace }}</router-link> | |||||
</td> | |||||
</tr> | |||||
</tbody> | |||||
<tfoot class="table-fake-body"> | |||||
<tr> | |||||
<td>{{ $t('user.domains-none') }}</td> | |||||
</tr> | |||||
</tfoot> | |||||
</table> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="tab-pane" id="user-users" role="tabpanel" aria-labelledby="tab-users"> | <div class="tab-pane" id="user-users" role="tabpanel" aria-labelledby="tab-users"> | ||||
<div class="card-body"> | <div class="card-body"> | ||||
<div class="card-text"> | <div class="card-text"> | ||||
<table class="table table-sm table-hover mb-0"> | <user-list :list="users" :current="user" class="mb-0"></user-list> | ||||
<thead> | |||||
<tr> | |||||
<th scope="col">{{ $t('form.primary-email') }}</th> | |||||
</tr> | |||||
</thead> | |||||
<tbody> | |||||
<tr v-for="item in users" :id="'user' + item.id" :key="item.id" @click="$root.clickRecord"> | |||||
<td> | |||||
<svg-icon icon="user" :class="$root.statusClass(item)" :title="$root.statusText(item)"></svg-icon> | |||||
<router-link v-if="item.id != user.id" :to="{ path: '/user/' + item.id }">{{ item.email }}</router-link> | |||||
<span v-else>{{ item.email }}</span> | |||||
</td> | |||||
</tr> | |||||
</tbody> | |||||
<tfoot class="table-fake-body"> | |||||
<tr> | |||||
<td>{{ $t('user.users-none') }}</td> | |||||
</tr> | |||||
</tfoot> | |||||
</table> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="tab-pane" id="user-distlists" role="tabpanel" aria-labelledby="tab-distlists"> | <div class="tab-pane" id="user-distlists" role="tabpanel" aria-labelledby="tab-distlists"> | ||||
<div class="card-body"> | <div class="card-body"> | ||||
<div class="card-text"> | <div class="card-text"> | ||||
<table class="table table-sm table-hover mb-0"> | <distlist-list :list="distlists" class="mb-0"></distlist-list> | ||||
<thead> | |||||
<tr> | |||||
<th scope="col">{{ $t('distlist.name') }}</th> | |||||
<th scope="col">{{ $t('form.email') }}</th> | |||||
</tr> | |||||
</thead> | |||||
<tbody> | |||||
<tr v-for="list in distlists" :key="list.id" @click="$root.clickRecord"> | |||||
<td> | |||||
<svg-icon icon="users" :class="$root.statusClass(list)" :title="$root.statusText(list)"></svg-icon> | |||||
<router-link :to="{ path: '/distlist/' + list.id }">{{ list.name }}</router-link> | |||||
</td> | |||||
<td> | |||||
<router-link :to="{ path: '/distlist/' + list.id }">{{ list.email }}</router-link> | |||||
</td> | |||||
</tr> | |||||
</tbody> | |||||
<tfoot class="table-fake-body"> | |||||
<tr> | |||||
<td colspan="2">{{ $t('distlist.list-empty') }}</td> | |||||
</tr> | |||||
</tfoot> | |||||
</table> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="tab-pane" id="user-resources" role="tabpanel" aria-labelledby="tab-resources"> | <div class="tab-pane" id="user-resources" role="tabpanel" aria-labelledby="tab-resources"> | ||||
<div class="card-body"> | <div class="card-body"> | ||||
<div class="card-text"> | <div class="card-text"> | ||||
<table class="table table-sm table-hover mb-0"> | <resource-list :list="resources" class="mb-0"></resource-list> | ||||
<thead> | |||||
<tr> | |||||
<th scope="col">{{ $t('form.name') }}</th> | |||||
<th scope="col">{{ $t('form.email') }}</th> | |||||
</tr> | |||||
</thead> | |||||
<tbody> | |||||
<tr v-for="resource in resources" :key="resource.id" @click="$root.clickRecord"> | |||||
<td> | |||||
<svg-icon icon="gear" :class="$root.statusClass(resource)" :title="$root.statusText(resource)"></svg-icon> | |||||
<router-link :to="{ path: '/resource/' + resource.id }">{{ resource.name }}</router-link> | |||||
</td> | |||||
<td> | |||||
<router-link :to="{ path: '/resource/' + resource.id }">{{ resource.email }}</router-link> | |||||
</td> | |||||
</tr> | |||||
</tbody> | |||||
<tfoot class="table-fake-body"> | |||||
<tr> | |||||
<td colspan="2">{{ $t('resource.list-empty') }}</td> | |||||
</tr> | |||||
</tfoot> | |||||
</table> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="tab-pane" id="user-shared-folders" role="tabpanel" aria-labelledby="tab-shared-folders"> | <div class="tab-pane" id="user-shared-folders" role="tabpanel" aria-labelledby="tab-shared-folders"> | ||||
<div class="card-body"> | <div class="card-body"> | ||||
<div class="card-text"> | <div class="card-text"> | ||||
<table class="table table-sm table-hover mb-0"> | <shared-folder-list :list="folders" :email="true" class="mb-0"></shared-folder-list> | ||||
<thead> | |||||
<tr> | |||||
<th scope="col">{{ $t('form.name') }}</th> | |||||
<th scope="col">{{ $t('form.type') }}</th> | |||||
<th scope="col">{{ $t('form.email') }}</th> | |||||
</tr> | |||||
</thead> | |||||
<tbody> | |||||
<tr v-for="folder in folders" :key="folder.id" @click="$root.clickRecord"> | |||||
<td> | |||||
<svg-icon icon="folder-open" :class="$root.statusClass(folder)" :title="$root.statusText(folder)"></svg-icon> | |||||
<router-link :to="{ path: '/shared-folder/' + folder.id }">{{ folder.name }}</router-link> | |||||
</td> | |||||
<td>{{ $t('shf.type-' + folder.type) }}</td> | |||||
<td><router-link :to="{ path: '/shared-folder/' + folder.id }">{{ folder.email }}</router-link></td> | |||||
</tr> | |||||
</tbody> | |||||
<tfoot class="table-fake-body"> | |||||
<tr> | |||||
<td colspan="3">{{ $t('shf.list-empty') }}</td> | |||||
</tr> | |||||
</tfoot> | |||||
</table> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="tab-pane" id="user-settings" role="tabpanel" aria-labelledby="tab-settings"> | <div class="tab-pane" id="user-settings" role="tabpanel" aria-labelledby="tab-settings"> | ||||
<div class="card-body"> | <div class="card-body"> | ||||
<div class="card-text"> | <div class="card-text"> | ||||
<form class="read-only short"> | <form class="read-only short"> | ||||
<div class="row plaintext"> | <div class="row plaintext"> | ||||
▲ Show 20 Lines • Show All 103 Lines • ▼ Show 20 Lines | <div class="container"> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { Modal } from 'bootstrap' | import { Modal } from 'bootstrap' | ||||
import TransactionLog from '../Widgets/TransactionLog' | import TransactionLog from '../Widgets/TransactionLog' | ||||
import { default as DistlistList } from '../Distlist/ListWidget' | |||||
import { default as DomainList } from '../Domain/ListWidget' | |||||
import { default as ResourceList } from '../Resource/ListWidget' | |||||
import { default as SharedFolderList } from '../SharedFolder/ListWidget' | |||||
import { default as UserList } from '../User/ListWidget' | |||||
import { library } from '@fortawesome/fontawesome-svg-core' | import { library } from '@fortawesome/fontawesome-svg-core' | ||||
library.add( | library.add( | ||||
require('@fortawesome/free-solid-svg-icons/faFolderOpen').definition, | require('@fortawesome/free-solid-svg-icons/faFolderOpen').definition, | ||||
require('@fortawesome/free-solid-svg-icons/faGear').definition, | require('@fortawesome/free-solid-svg-icons/faGear').definition, | ||||
require('@fortawesome/free-solid-svg-icons/faGlobe').definition, | require('@fortawesome/free-solid-svg-icons/faGlobe').definition, | ||||
require('@fortawesome/free-solid-svg-icons/faUsers').definition, | require('@fortawesome/free-solid-svg-icons/faUsers').definition, | ||||
) | ) | ||||
export default { | export default { | ||||
components: { | components: { | ||||
TransactionLog | DistlistList, | ||||
DomainList, | |||||
ResourceList, | |||||
SharedFolderList, | |||||
TransactionLog, | |||||
UserList | |||||
}, | }, | ||||
beforeRouteUpdate (to, from, next) { | beforeRouteUpdate (to, from, next) { | ||||
// An event called when the route that renders this component has changed, | // An event called when the route that renders this component has changed, | ||||
// but this component is reused in the new route. | // but this component is reused in the new route. | ||||
// Required to handle links from /user/XXX to /user/YYY | // Required to handle links from /user/XXX to /user/YYY | ||||
next() | next() | ||||
this.$parent.routerReload() | this.$parent.routerReload() | ||||
}, | }, | ||||
▲ Show 20 Lines • Show All 313 Lines • Show Last 20 Lines |