forked from AkkomaGang/admin-fe
Merge branch 'feature/add-try-catch-error-handling' into 'master'
Add try/catch error handling See merge request pleroma/admin-fe!59
This commit is contained in:
commit
9b9f7369e9
32 changed files with 218 additions and 338 deletions
|
@ -13,6 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|||
- remove fetching initial data for configuring server settings
|
||||
- Actions in users module (ActivateUsers, AddRight, DeactivateUsers, DeleteRight, DeleteUsers) now accept an array of users instead of one user
|
||||
- Leave dropdown menu open after clicking an action
|
||||
- Move current try/catch error handling from view files to module, add it where necessary
|
||||
|
||||
### Added
|
||||
|
||||
|
|
|
@ -365,7 +365,13 @@ export default {
|
|||
deletePack: 'Delete pack',
|
||||
downloadSharedPack: 'Download shared pack to current instance',
|
||||
downloadAsOptional: 'Download as (optional)',
|
||||
downloadPackArchive: 'Download pack archive'
|
||||
downloadPackArchive: 'Download pack archive',
|
||||
successfullyDownloaded: 'Successfully downloaded',
|
||||
successfullyImported: 'Successfully imported',
|
||||
nowNewPacksToImport: 'No new packs to import',
|
||||
successfullyUpdated: 'Successfully updated',
|
||||
metadatLowerCase: 'metadata',
|
||||
files: 'files'
|
||||
},
|
||||
invites: {
|
||||
inviteTokens: 'Invite tokens',
|
||||
|
|
|
@ -8,7 +8,7 @@ import {
|
|||
savePackMetadata,
|
||||
importFromFS,
|
||||
updatePackFile } from '@/api/emojiPacks'
|
||||
|
||||
import i18n from '@/lang'
|
||||
import { Message } from 'element-ui'
|
||||
|
||||
import Vue from 'vue'
|
||||
|
@ -44,34 +44,30 @@ const packs = {
|
|||
}
|
||||
},
|
||||
actions: {
|
||||
async SetLocalEmojiPacks({ commit, getters, state }) {
|
||||
const { data } = await listPacks(getters.authHost)
|
||||
commit('SET_LOCAL_PACKS', data)
|
||||
async CreatePack({ getters }, { name }) {
|
||||
await createPack(getters.authHost, getters.token, name)
|
||||
},
|
||||
async SetRemoteEmojiPacks({ commit, getters, state }, { remoteInstance }) {
|
||||
const { data } = await listRemotePacks(getters.authHost, getters.token, remoteInstance)
|
||||
|
||||
commit('SET_REMOTE_PACKS', data)
|
||||
async DeletePack({ getters }, { name }) {
|
||||
await deletePack(getters.authHost, getters.token, name)
|
||||
},
|
||||
async DownloadFrom({ commit, getters, state }, { instanceAddress, packName, as }) {
|
||||
async DownloadFrom({ getters }, { instanceAddress, packName, as }) {
|
||||
const result = await downloadFrom(getters.authHost, instanceAddress, packName, as, getters.token)
|
||||
|
||||
if (result.data === 'ok') {
|
||||
Message({
|
||||
message: `Successfully downloaded ${packName}`,
|
||||
message: `${i18n.t('settings.successfullyDownloaded')} ${packName}`,
|
||||
type: 'success',
|
||||
duration: 5 * 1000
|
||||
})
|
||||
}
|
||||
},
|
||||
async ReloadEmoji({ commit, getters, state }) {
|
||||
await reloadEmoji(getters.authHost, getters.token)
|
||||
},
|
||||
async ImportFromFS({ commit, getters, state }) {
|
||||
async ImportFromFS({ getters }) {
|
||||
const result = await importFromFS(getters.authHost, getters.token)
|
||||
|
||||
if (result.status === 200) {
|
||||
const message = result.data.length > 0 ? `Successfully imported ${result.data}` : 'No new packs to import'
|
||||
const message = result.data.length > 0
|
||||
? `${i18n.t('settings.successfullyImported')} ${result.data}`
|
||||
: i18n.t('settings.nowNewPacksToImport')
|
||||
|
||||
Message({
|
||||
message,
|
||||
|
@ -80,17 +76,9 @@ const packs = {
|
|||
})
|
||||
}
|
||||
},
|
||||
async DeletePack({ commit, getters, state }, { name }) {
|
||||
await deletePack(getters.authHost, getters.token, name)
|
||||
async ReloadEmoji({ getters }) {
|
||||
await reloadEmoji(getters.authHost, getters.token)
|
||||
},
|
||||
async CreatePack({ commit, getters, state }, { name }) {
|
||||
await createPack(getters.authHost, getters.token, name)
|
||||
},
|
||||
|
||||
async UpdateLocalPackVal({ commit, getters, state }, args) {
|
||||
commit('UPDATE_LOCAL_PACK_VAL', args)
|
||||
},
|
||||
|
||||
async SavePackMetadata({ commit, getters, state }, { packName }) {
|
||||
const result =
|
||||
await savePackMetadata(
|
||||
|
@ -102,7 +90,7 @@ const packs = {
|
|||
|
||||
if (result.status === 200) {
|
||||
Message({
|
||||
message: `Successfully updated ${packName} metadata`,
|
||||
message: `${i18n.t('settings.successfullyUpdated')} ${packName} ${i18n.t('settings.metadatLowerCase')}`,
|
||||
type: 'success',
|
||||
duration: 5 * 1000
|
||||
})
|
||||
|
@ -110,21 +98,32 @@ const packs = {
|
|||
commit('UPDATE_LOCAL_PACK_PACK', { name: packName, pack: result.data })
|
||||
}
|
||||
},
|
||||
async SetLocalEmojiPacks({ commit, getters }) {
|
||||
const { data } = await listPacks(getters.authHost)
|
||||
commit('SET_LOCAL_PACKS', data)
|
||||
},
|
||||
async SetRemoteEmojiPacks({ commit, getters }, { remoteInstance }) {
|
||||
const { data } = await listRemotePacks(getters.authHost, getters.token, remoteInstance)
|
||||
|
||||
async UpdateAndSavePackFile({ commit, getters, state }, args) {
|
||||
commit('SET_REMOTE_PACKS', data)
|
||||
},
|
||||
async UpdateAndSavePackFile({ commit, getters }, args) {
|
||||
const result = await updatePackFile(getters.authHost, getters.token, args)
|
||||
|
||||
if (result.status === 200) {
|
||||
const { packName } = args
|
||||
|
||||
Message({
|
||||
message: `Successfully updated ${packName} files`,
|
||||
message: `${i18n.t('settings.successfullyUpdated')} ${packName} ${i18n.t('settings.metadatLowerCase')}`,
|
||||
type: 'success',
|
||||
duration: 5 * 1000
|
||||
})
|
||||
|
||||
commit('UPDATE_LOCAL_PACK_FILES', { name: packName, files: result.data })
|
||||
}
|
||||
},
|
||||
async UpdateLocalPackVal({ commit }, args) {
|
||||
commit('UPDATE_LOCAL_PACK_VAL', args)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
import { generateInviteToken, inviteViaEmail, listInviteTokens, revokeToken } from '@/api/invites'
|
||||
import { Message } from 'element-ui'
|
||||
import i18n from '@/lang'
|
||||
|
||||
const invites = {
|
||||
state: {
|
||||
|
@ -25,18 +27,35 @@ const invites = {
|
|||
commit('SET_LOADING', false)
|
||||
},
|
||||
async GenerateInviteToken({ commit, dispatch, getters }, { maxUse, expiresAt }) {
|
||||
const { data } = await generateInviteToken(maxUse, expiresAt, getters.authHost, getters.token)
|
||||
commit('SET_NEW_TOKEN', { token: data.token, maxUse: data.max_use, expiresAt: data.expires_at })
|
||||
try {
|
||||
const { data } = await generateInviteToken(maxUse, expiresAt, getters.authHost, getters.token)
|
||||
commit('SET_NEW_TOKEN', { token: data.token, maxUse: data.max_use, expiresAt: data.expires_at })
|
||||
} catch (_e) {
|
||||
return
|
||||
}
|
||||
dispatch('FetchInviteTokens')
|
||||
},
|
||||
async InviteUserViaEmail({ commit, dispatch, getters }, { email, name }) {
|
||||
await inviteViaEmail(email, name, getters.authHost, getters.token)
|
||||
try {
|
||||
await inviteViaEmail(email, name, getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
}
|
||||
Message({
|
||||
message: i18n.t('invites.emailSent'),
|
||||
type: 'success',
|
||||
duration: 5 * 1000
|
||||
})
|
||||
},
|
||||
RemoveNewToken({ commit }) {
|
||||
commit('SET_NEW_TOKEN', {})
|
||||
},
|
||||
async RevokeToken({ commit, dispatch, getters }, token) {
|
||||
await revokeToken(token, getters.authHost, getters.token)
|
||||
try {
|
||||
await revokeToken(token, getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
}
|
||||
dispatch('FetchInviteTokens')
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,15 +28,27 @@ const relays = {
|
|||
commit('SET_RELAYS', response.data.relays)
|
||||
commit('SET_LOADING', false)
|
||||
},
|
||||
async AddRelay({ commit, getters }, relay) {
|
||||
async AddRelay({ commit, dispatch, getters }, relay) {
|
||||
commit('ADD_RELAY', relay)
|
||||
|
||||
await addRelay(relay, getters.authHost, getters.token)
|
||||
try {
|
||||
await addRelay(relay, getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
dispatch('FetchRelays')
|
||||
}
|
||||
},
|
||||
async DeleteRelay({ commit, getters }, relay) {
|
||||
async DeleteRelay({ commit, dispatch, getters }, relay) {
|
||||
commit('DELETE_RELAY', relay)
|
||||
|
||||
await deleteRelay(relay, getters.authHost, getters.token)
|
||||
try {
|
||||
await deleteRelay(relay, getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
dispatch('FetchRelays')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
import i18n from '@/lang'
|
||||
import { fetchSettings, updateSettings, uploadMedia } from '@/api/settings'
|
||||
import { filterIgnored, parseTuples, valueHasTuples, wrapConfig } from './normalizers'
|
||||
import { Message } from 'element-ui'
|
||||
|
||||
const settings = {
|
||||
state: {
|
||||
|
@ -124,10 +126,17 @@ const settings = {
|
|||
async SubmitChanges({ getters, commit, state }, data) {
|
||||
const filteredSettings = filterIgnored(state.settings, state.ignoredIfNotEnabled)
|
||||
const configs = data || wrapConfig(filteredSettings)
|
||||
const response = await updateSettings(configs, getters.authHost, getters.token)
|
||||
if (data) {
|
||||
try {
|
||||
const response = await updateSettings(configs, getters.authHost, getters.token)
|
||||
commit('SET_SETTINGS', response.data.configs)
|
||||
} catch (_e) {
|
||||
return
|
||||
}
|
||||
Message({
|
||||
message: i18n.t('settings.success'),
|
||||
type: 'success',
|
||||
duration: 5 * 1000
|
||||
})
|
||||
},
|
||||
UpdateSettings({ commit }, { tab, data }) {
|
||||
commit('UPDATE_SETTINGS', { tab, data })
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import { Message } from 'element-ui'
|
||||
import i18n from '@/lang'
|
||||
import {
|
||||
activateUsers,
|
||||
addRight,
|
||||
|
@ -78,8 +80,14 @@ const users = {
|
|||
commit('SWAP_USERS', updatedUsers)
|
||||
|
||||
const usersNicknames = users.map(user => user.nickname)
|
||||
await activateUsers(usersNicknames, getters.authHost, getters.token)
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
try {
|
||||
await activateUsers(usersNicknames, getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
}
|
||||
dispatch('SuccessMessage')
|
||||
},
|
||||
async AddRight({ commit, dispatch, getters, state }, { users, right }) {
|
||||
const updatedUsers = users.map(user => {
|
||||
|
@ -88,8 +96,14 @@ const users = {
|
|||
commit('SWAP_USERS', updatedUsers)
|
||||
|
||||
const usersNicknames = users.map(user => user.nickname)
|
||||
await addRight(usersNicknames, right, getters.authHost, getters.token)
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
try {
|
||||
await addRight(usersNicknames, right, getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
}
|
||||
dispatch('SuccessMessage')
|
||||
},
|
||||
async AddTag({ commit, dispatch, getters, state }, { users, tag }) {
|
||||
const updatedUsers = users.map(user => {
|
||||
|
@ -98,16 +112,28 @@ const users = {
|
|||
commit('SWAP_USERS', updatedUsers)
|
||||
|
||||
const nicknames = users.map(user => user.nickname)
|
||||
await tagUser(nicknames, [tag], getters.authHost, getters.token)
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
try {
|
||||
await tagUser(nicknames, [tag], getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
}
|
||||
dispatch('SuccessMessage')
|
||||
},
|
||||
async ClearFilters({ commit, dispatch, state }) {
|
||||
commit('CLEAR_USERS_FILTERS')
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: 1 })
|
||||
},
|
||||
async CreateNewAccount({ dispatch, getters, state }, { nickname, email, password }) {
|
||||
await createNewAccount(nickname, email, password, getters.authHost, getters.token)
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
try {
|
||||
await createNewAccount(nickname, email, password, getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
}
|
||||
dispatch('SuccessMessage')
|
||||
},
|
||||
async DeactivateUsers({ commit, dispatch, getters, state }, users) {
|
||||
const updatedUsers = users.map(user => {
|
||||
|
@ -116,8 +142,14 @@ const users = {
|
|||
commit('SWAP_USERS', updatedUsers)
|
||||
|
||||
const usersNicknames = users.map(user => user.nickname)
|
||||
await deactivateUsers(usersNicknames, getters.authHost, getters.token)
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
try {
|
||||
await deactivateUsers(usersNicknames, getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
}
|
||||
dispatch('SuccessMessage')
|
||||
},
|
||||
async DeleteRight({ commit, dispatch, getters, state }, { users, right }) {
|
||||
const updatedUsers = users.map(user => {
|
||||
|
@ -126,19 +158,26 @@ const users = {
|
|||
commit('SWAP_USERS', updatedUsers)
|
||||
|
||||
const usersNicknames = users.map(user => user.nickname)
|
||||
await deleteRight(usersNicknames, right, getters.authHost, getters.token)
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
try {
|
||||
await deleteRight(usersNicknames, right, getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
}
|
||||
dispatch('SuccessMessage')
|
||||
},
|
||||
async DeleteUsers({ commit, getters, state }, users) {
|
||||
async DeleteUsers({ commit, dispatch, getters, state }, users) {
|
||||
const usersNicknames = users.map(user => user.nickname)
|
||||
try {
|
||||
await deleteUsers(usersNicknames, getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
}
|
||||
const deletedUsersIds = users.map(deletedUser => deletedUser.id)
|
||||
const updatedUsers = state.fetchedUsers.filter(user => !deletedUsersIds.includes(user.id))
|
||||
commit('SET_USERS', updatedUsers)
|
||||
|
||||
const usersNicknames = users.map(user => user.nickname)
|
||||
await deleteUsers(usersNicknames, getters.authHost, getters.token)
|
||||
},
|
||||
async RequirePasswordReset({ getters }, user) {
|
||||
await requirePasswordReset(user.nickname, getters.authHost, getters.token)
|
||||
dispatch('SuccessMessage')
|
||||
},
|
||||
async FetchUsers({ commit, dispatch, getters, state }, { page }) {
|
||||
commit('SET_LOADING', true)
|
||||
|
@ -161,8 +200,22 @@ const users = {
|
|||
commit('SWAP_USERS', updatedUsers)
|
||||
|
||||
const nicknames = users.map(user => user.nickname)
|
||||
await untagUser(nicknames, [tag], getters.authHost, getters.token)
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
try {
|
||||
await untagUser(nicknames, [tag], getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })
|
||||
}
|
||||
dispatch('SuccessMessage')
|
||||
},
|
||||
async RequirePasswordReset({ dispatch, getters }, user) {
|
||||
try {
|
||||
await requirePasswordReset(user.nickname, getters.authHost, getters.token)
|
||||
} catch (_e) {
|
||||
return
|
||||
}
|
||||
dispatch('SuccessMessage')
|
||||
},
|
||||
async SearchUsers({ commit, dispatch, state, getters }, { query, page }) {
|
||||
if (query.length === 0) {
|
||||
|
@ -178,6 +231,13 @@ const users = {
|
|||
loadUsers(commit, page, response.data)
|
||||
}
|
||||
},
|
||||
SuccessMessage() {
|
||||
return Message({
|
||||
message: i18n.t('users.completed'),
|
||||
type: 'success',
|
||||
duration: 5 * 1000
|
||||
})
|
||||
},
|
||||
async ToggleUsersFilter({ commit, dispatch, state }, filters) {
|
||||
const defaultFilters = {
|
||||
local: false,
|
||||
|
|
|
@ -192,17 +192,8 @@ export default {
|
|||
async inviteUserViaEmail() {
|
||||
this.$refs['inviteUserForm'].validate(async(valid) => {
|
||||
if (valid) {
|
||||
try {
|
||||
await this.$store.dispatch('InviteUserViaEmail', this.$data.inviteUserForm)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
this.closeDialogWindow()
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: this.$t('invites.emailSent')
|
||||
})
|
||||
await this.$store.dispatch('InviteUserViaEmail', this.$data.inviteUserForm)
|
||||
this.closeDialogWindow()
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'error',
|
||||
|
|
|
@ -37,7 +37,6 @@
|
|||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import i18n from '@/lang'
|
||||
|
||||
export default {
|
||||
name: 'ActivityPub',
|
||||
|
@ -57,16 +56,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -232,7 +232,6 @@
|
|||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import i18n from '@/lang'
|
||||
|
||||
export default {
|
||||
name: 'Authentication',
|
||||
|
@ -259,16 +258,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,7 +52,6 @@
|
|||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import i18n from '@/lang'
|
||||
|
||||
export default {
|
||||
name: 'AutoLinker',
|
||||
|
@ -107,16 +106,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import i18n from '@/lang'
|
||||
|
||||
export default {
|
||||
name: 'Captcha',
|
||||
|
@ -53,16 +52,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -135,7 +135,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from '@/lang'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
|
@ -157,16 +156,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -172,7 +172,6 @@
|
|||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import i18n from '@/lang'
|
||||
import { options } from './options'
|
||||
import AceEditor from 'vue2-ace-editor'
|
||||
import 'brace/mode/elixir'
|
||||
|
@ -246,16 +245,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,7 +55,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from '@/lang'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
|
@ -82,16 +81,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -318,7 +318,6 @@
|
|||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import i18n from '@/lang'
|
||||
import { options } from './options'
|
||||
|
||||
export default {
|
||||
|
@ -419,16 +418,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from '@/lang'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
|
@ -43,16 +42,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -129,7 +129,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from '@/lang'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
|
@ -161,16 +160,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -337,7 +337,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from '@/lang'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { options } from './options'
|
||||
|
||||
|
@ -396,16 +395,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,7 +51,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from '@/lang'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
|
@ -72,16 +71,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -173,7 +173,6 @@
|
|||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import i18n from '@/lang'
|
||||
import { options } from './options'
|
||||
|
||||
export default {
|
||||
|
@ -212,16 +211,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -145,7 +145,6 @@
|
|||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import i18n from '@/lang'
|
||||
import { options } from './options'
|
||||
|
||||
export default {
|
||||
|
@ -257,16 +256,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -202,7 +202,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from '@/lang'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { options } from './options'
|
||||
import AceEditor from 'vue2-ace-editor'
|
||||
|
@ -249,16 +248,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -75,7 +75,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from '@/lang'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { options } from './options'
|
||||
|
||||
|
@ -126,16 +125,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,7 +52,6 @@
|
|||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import i18n from '@/lang'
|
||||
|
||||
export default {
|
||||
name: 'Metadata',
|
||||
|
@ -72,16 +71,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from '@/lang'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
|
@ -65,16 +64,8 @@ export default {
|
|||
}, {})
|
||||
this.updateSetting(updatedValue, 'types', 'value')
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
},
|
||||
parseMimeTypes(value, inputType, index) {
|
||||
const updatedValue = this.mimeTypes.reduce((acc, el, i) => {
|
||||
|
|
|
@ -223,7 +223,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from '@/lang'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
|
@ -379,16 +378,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,22 +52,10 @@ export default {
|
|||
},
|
||||
methods: {
|
||||
followRelay() {
|
||||
try {
|
||||
this.$store.dispatch('AddRelay', this.newRelay)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
this.$store.dispatch('FetchRelays')
|
||||
}
|
||||
this.$store.dispatch('AddRelay', this.newRelay)
|
||||
},
|
||||
deleteRelay(relay) {
|
||||
try {
|
||||
this.$store.dispatch('DeleteRelay', relay)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
this.$store.dispatch('FetchRelays')
|
||||
}
|
||||
this.$store.dispatch('DeleteRelay', relay)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -144,7 +144,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from '@/lang'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { options } from './options'
|
||||
|
||||
|
@ -207,16 +206,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from '@/lang'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
|
@ -41,16 +40,8 @@ export default {
|
|||
updateSetting(value, tab, input) {
|
||||
this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})
|
||||
},
|
||||
async onSubmit() {
|
||||
try {
|
||||
await this.$store.dispatch('SubmitChanges')
|
||||
} catch (e) {
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: i18n.t('settings.success')
|
||||
})
|
||||
onSubmit() {
|
||||
this.$store.dispatch('SubmitChanges')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -151,16 +151,7 @@ export default {
|
|||
methods: {
|
||||
mappers() {
|
||||
const applyAction = async(users, dispatchAction) => {
|
||||
try {
|
||||
await dispatchAction(users)
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
return
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: this.$t('users.completed')
|
||||
})
|
||||
await dispatchAction(users)
|
||||
this.$emit('apply-action')
|
||||
}
|
||||
return {
|
||||
|
@ -215,7 +206,9 @@ export default {
|
|||
applyAction(filtered, removeTagFn)
|
||||
},
|
||||
requirePasswordReset: () => {
|
||||
this.selectedUsers.map(user => this.$store.dispatch('RequirePasswordReset', user))
|
||||
const filtered = this.selectedUsers.filter(user => user.local)
|
||||
filtered.map(user => this.$store.dispatch('RequirePasswordReset', user))
|
||||
this.$emit('apply-action')
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -245,17 +245,8 @@ export default {
|
|||
this.$refs.usersTable.clearSelection()
|
||||
},
|
||||
async createNewAccount(accountData) {
|
||||
try {
|
||||
await this.$store.dispatch('CreateNewAccount', accountData)
|
||||
} catch (_e) {
|
||||
return
|
||||
} finally {
|
||||
this.createAccountDialogOpen = false
|
||||
}
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: this.$t('users.accountCreated')
|
||||
})
|
||||
await this.$store.dispatch('CreateNewAccount', accountData)
|
||||
this.createAccountDialogOpen = false
|
||||
},
|
||||
getFirstLetter(str) {
|
||||
return str.charAt(0).toUpperCase()
|
||||
|
|
Loading…
Reference in a new issue