Changeset View
Changeset View
Standalone View
Standalone View
src/resources/vue/Admin/User.vue
Show First 20 Lines • Show All 102 Lines • ▼ Show 20 Lines | <div class="container"> | ||||
Domains ({{ domains.length }}) | Domains ({{ domains.length }}) | ||||
</a> | </a> | ||||
</li> | </li> | ||||
<li class="nav-item"> | <li class="nav-item"> | ||||
<a class="nav-link" id="tab-users" href="#user-users" role="tab" aria-controls="user-users" aria-selected="false"> | <a class="nav-link" id="tab-users" href="#user-users" role="tab" aria-controls="user-users" aria-selected="false"> | ||||
Users ({{ users.length }}) | Users ({{ users.length }}) | ||||
</a> | </a> | ||||
</li> | </li> | ||||
<li class="nav-item"> | |||||
<a class="nav-link" id="tab-distlists" href="#user-distlists" role="tab" aria-controls="user-distlists" aria-selected="false"> | |||||
Distribution lists ({{ distlists.length }}) | |||||
</a> | |||||
</li> | |||||
</ul> | </ul> | ||||
<div class="tab-content"> | <div class="tab-content"> | ||||
<div class="tab-pane show active" id="user-finances" role="tabpanel" aria-labelledby="tab-finances"> | <div class="tab-pane show active" id="user-finances" role="tabpanel" aria-labelledby="tab-finances"> | ||||
<div class="card-body"> | <div class="card-body"> | ||||
<h2 class="card-title">Account balance <span :class="wallet.balance < 0 ? 'text-danger' : 'text-success'"><strong>{{ $root.price(wallet.balance) }}</strong></span></h2> | <h2 class="card-title">Account balance <span :class="wallet.balance < 0 ? 'text-danger' : 'text-success'"><strong>{{ $root.price(wallet.balance) }}</strong></span></h2> | ||||
<div class="card-text"> | <div class="card-text"> | ||||
<form class="read-only short"> | <form class="read-only short"> | ||||
<div class="form-group row"> | <div class="form-group row"> | ||||
▲ Show 20 Lines • Show All 135 Lines • ▼ Show 20 Lines | <div class="container"> | ||||
<tr> | <tr> | ||||
<td>There are no users in this account.</td> | <td>There are no users in this account.</td> | ||||
</tr> | </tr> | ||||
</tfoot> | </tfoot> | ||||
</table> | </table> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="tab-pane" id="user-distlists" role="tabpanel" aria-labelledby="tab-distlists"> | |||||
<div class="card-body"> | |||||
<div class="card-text"> | |||||
<table class="table table-sm table-hover"> | |||||
<thead class="thead-light"> | |||||
<tr> | |||||
<th scope="col">Email address</th> | |||||
</tr> | |||||
</thead> | |||||
<tbody> | |||||
<tr v-for="list in distlists" :key="list.id" @click="$root.clickRecord"> | |||||
<td> | |||||
<svg-icon icon="users" :class="$root.distlistStatusClass(list)" :title="$root.distlistStatusText(list)"></svg-icon> | |||||
<router-link :to="{ path: '/distlist/' + list.id }">{{ list.email }}</router-link> | |||||
</td> | |||||
</tr> | |||||
</tbody> | |||||
<tfoot class="table-fake-body"> | |||||
<tr> | |||||
<td>There are no distribution lists in this account.</td> | |||||
</tr> | |||||
</tfoot> | |||||
</table> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | </div> | ||||
<div id="discount-dialog" class="modal" tabindex="-1" role="dialog"> | <div id="discount-dialog" class="modal" tabindex="-1" role="dialog"> | ||||
<div class="modal-dialog" role="document"> | <div class="modal-dialog" role="document"> | ||||
<div class="modal-content"> | <div class="modal-content"> | ||||
<div class="modal-header"> | <div class="modal-header"> | ||||
<h5 class="modal-title">Account discount</h5> | <h5 class="modal-title">Account discount</h5> | ||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> | <button type="button" class="close" data-dismiss="modal" aria-label="Close"> | ||||
▲ Show 20 Lines • Show All 124 Lines • ▼ Show 20 Lines | export default { | ||||
oneoff_negative: false, | oneoff_negative: false, | ||||
discount: 0, | discount: 0, | ||||
discount_description: '', | discount_description: '', | ||||
discounts: [], | discounts: [], | ||||
external_email: '', | external_email: '', | ||||
has2FA: false, | has2FA: false, | ||||
wallet: {}, | wallet: {}, | ||||
walletReload: false, | walletReload: false, | ||||
distlists: [], | |||||
domains: [], | domains: [], | ||||
skus: [], | skus: [], | ||||
sku2FA: null, | sku2FA: null, | ||||
users: [], | users: [], | ||||
user: { | user: { | ||||
aliases: [], | aliases: [], | ||||
wallet: {}, | wallet: {}, | ||||
skus: {}, | skus: {}, | ||||
▲ Show 20 Lines • Show All 75 Lines • ▼ Show 20 Lines | export default { | ||||
this.users = response.data.list; | this.users = response.data.list; | ||||
}) | }) | ||||
// Fetch domains | // Fetch domains | ||||
axios.get('/api/v4/domains?owner=' + user_id) | axios.get('/api/v4/domains?owner=' + user_id) | ||||
.then(response => { | .then(response => { | ||||
this.domains = response.data.list | this.domains = response.data.list | ||||
}) | }) | ||||
// Fetch distribution lists | |||||
axios.get('/api/v4/groups?owner=' + user_id) | |||||
.then(response => { | |||||
this.distlists = response.data.list | |||||
}) | |||||
}) | }) | ||||
.catch(this.$root.errorHandler) | .catch(this.$root.errorHandler) | ||||
}, | }, | ||||
mounted() { | mounted() { | ||||
$(this.$el).find('ul.nav-tabs a').on('click', e => { | $(this.$el).find('ul.nav-tabs a').on('click', e => { | ||||
e.preventDefault() | e.preventDefault() | ||||
$(e.target).tab('show') | $(e.target).tab('show') | ||||
}) | }) | ||||
▲ Show 20 Lines • Show All 156 Lines • Show Last 20 Lines |