diff --git a/CHANGELOG.md b/CHANGELOG.md index 734a5ed5a86d7547de592a213d44c845109649da..bb2b750ddde0f39ec3d8d8bb9914ae1e133c530b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/src/lang/en.js b/src/lang/en.js index 8575144aa6cbed6b5413ac7878d75faf37c7c7fd..6e6a892ee611e6d579aad765f254213b70ea5a14 100644 --- a/src/lang/en.js +++ b/src/lang/en.js @@ -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', diff --git a/src/store/modules/emojiPacks.js b/src/store/modules/emojiPacks.js index 6a14e406a9d4647d358b7ffc9e916f0b9a7b8f2e..c118b71f79e6923116a69a6a5e37941367e66e5d 100644 --- a/src/store/modules/emojiPacks.js +++ b/src/store/modules/emojiPacks.js @@ -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 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 ReloadEmoji({ getters }) { + await reloadEmoji(getters.authHost, getters.token) }, - 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) } } } diff --git a/src/store/modules/invites.js b/src/store/modules/invites.js index bdf43ce3ba63553c7a2d9d0602dd093332568d70..730b25d122dad49796bf137c254f56e9dcf73f7c 100644 --- a/src/store/modules/invites.js +++ b/src/store/modules/invites.js @@ -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') } } diff --git a/src/store/modules/relays.js b/src/store/modules/relays.js index 6353569e2ebc5eac98e2d8df0b9a5319e149e726..3a0d15cc0e8e49359b937eb9e23dd8fa8852d25f 100644 --- a/src/store/modules/relays.js +++ b/src/store/modules/relays.js @@ -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') + } } } } diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js index bb6bd8c13587d72fb0604feb09275a321122269f..9c3a2c792ee94719edc0d2cd9e647ecc05e219e3 100644 --- a/src/store/modules/settings.js +++ b/src/store/modules/settings.js @@ -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 }) diff --git a/src/store/modules/users.js b/src/store/modules/users.js index ae5ed146ae674ec4be3d379bfd91558ffe87008a..0290b8881fcdbeda0236c9f53057eb6c44e2bcd7 100644 --- a/src/store/modules/users.js +++ b/src/store/modules/users.js @@ -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, diff --git a/src/views/invites/index.vue b/src/views/invites/index.vue index 783e897a6dea80660ce49f0e54f2a19e1baacd10..e8ca75fdea66aa9d81f277c9d02212e65cba7ea7 100644 --- a/src/views/invites/index.vue +++ b/src/views/invites/index.vue @@ -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', diff --git a/src/views/settings/components/ActivityPub.vue b/src/views/settings/components/ActivityPub.vue index 903e34fe9ef7a0bcc5faab731a26bf5338cdacb4..2067be0ae918ffe2ce959dc0904eaae8e4512df3 100644 --- a/src/views/settings/components/ActivityPub.vue +++ b/src/views/settings/components/ActivityPub.vue @@ -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') } } } diff --git a/src/views/settings/components/Authentication.vue b/src/views/settings/components/Authentication.vue index a20843276a796409b5db6c6b23b2cff866e7b743..da458d5c05cda313952a54c25532447d30c30277 100644 --- a/src/views/settings/components/Authentication.vue +++ b/src/views/settings/components/Authentication.vue @@ -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') } } } diff --git a/src/views/settings/components/AutoLinker.vue b/src/views/settings/components/AutoLinker.vue index e84f3394b72ba77f16f0ca9e0d72452a36cd8edd..0b151467becdbbf0d2cecb3f6ba8f82006479a23 100644 --- a/src/views/settings/components/AutoLinker.vue +++ b/src/views/settings/components/AutoLinker.vue @@ -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') } } } diff --git a/src/views/settings/components/Captcha.vue b/src/views/settings/components/Captcha.vue index 4bff5c0bfa733588d05cc571a22c17339449d93a..bdd7ec9183e381ad103fe2e22e22b82c8fc1869a 100644 --- a/src/views/settings/components/Captcha.vue +++ b/src/views/settings/components/Captcha.vue @@ -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') } } } diff --git a/src/views/settings/components/Database.vue b/src/views/settings/components/Database.vue index ab9d42a84bcc70ef45c8483e8511fcbe70255cb1..c0748f895118bdcc28bdd7e6d322be16edbd28f0 100644 --- a/src/views/settings/components/Database.vue +++ b/src/views/settings/components/Database.vue @@ -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') } } } diff --git a/src/views/settings/components/Endpoint.vue b/src/views/settings/components/Endpoint.vue index aa1f661a3b39bd051ece01bb85a5e86ff315c24f..4cfd5bde713a6c00d50b4f0f53df12021d3ca340 100644 --- a/src/views/settings/components/Endpoint.vue +++ b/src/views/settings/components/Endpoint.vue @@ -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') } } } diff --git a/src/views/settings/components/Esshd.vue b/src/views/settings/components/Esshd.vue index 512ca7a4abc25a9ec1132669685f5d660200a3b8..ded2cec80d0d329e7f0dd77d94771d8014b93185 100644 --- a/src/views/settings/components/Esshd.vue +++ b/src/views/settings/components/Esshd.vue @@ -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') } } } diff --git a/src/views/settings/components/Frontend.vue b/src/views/settings/components/Frontend.vue index eac9b478da60a6f43012be67d2e26e1ee59f88a2..6282384bcfe708f0b3fd0a2624d6c361d6597749 100644 --- a/src/views/settings/components/Frontend.vue +++ b/src/views/settings/components/Frontend.vue @@ -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') } } } diff --git a/src/views/settings/components/Gopher.vue b/src/views/settings/components/Gopher.vue index b4f0b2d4149df380bd274763c8ed75b498bd1f1b..a173ba9613fddb2f654bb475b071487404d8a61f 100644 --- a/src/views/settings/components/Gopher.vue +++ b/src/views/settings/components/Gopher.vue @@ -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') } } } diff --git a/src/views/settings/components/Http.vue b/src/views/settings/components/Http.vue index 08e8da7c641ee57806633481e7736ca1a8c1c941..f6c6631157a552029128f71e04f11e9fa0d1fb0c 100644 --- a/src/views/settings/components/Http.vue +++ b/src/views/settings/components/Http.vue @@ -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') } } } diff --git a/src/views/settings/components/Instance.vue b/src/views/settings/components/Instance.vue index 05539e1366653def9263ad779b226dafeb93d756..feab359700d88efddceee82ef3a4a89654135556 100644 --- a/src/views/settings/components/Instance.vue +++ b/src/views/settings/components/Instance.vue @@ -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') } } } diff --git a/src/views/settings/components/JobQueue.vue b/src/views/settings/components/JobQueue.vue index f18cc853adccf38411dc08a47ef049d72fc7c125..a8fe0c77de67bf530beba887f21ee2862099d67a 100644 --- a/src/views/settings/components/JobQueue.vue +++ b/src/views/settings/components/JobQueue.vue @@ -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') } } } diff --git a/src/views/settings/components/Logger.vue b/src/views/settings/components/Logger.vue index a58c286ccf7b545357d41d77ddde87c78a427e3c..6be523f587931c1fac8c59274b5fcd28f0f7bade 100644 --- a/src/views/settings/components/Logger.vue +++ b/src/views/settings/components/Logger.vue @@ -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') } } } diff --git a/src/views/settings/components/MRF.vue b/src/views/settings/components/MRF.vue index 043f3b7dda8f8edc8a391ffb7c41eb60c40ee249..fd581e97d69eecb73353360a8449506210862dee 100644 --- a/src/views/settings/components/MRF.vue +++ b/src/views/settings/components/MRF.vue @@ -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') } } } diff --git a/src/views/settings/components/Mailer.vue b/src/views/settings/components/Mailer.vue index 8797981588c92c81ecf9ef3138dcf2b85525845c..fde1149205b9f150c542bf7b16bae13cb7b274b3 100644 --- a/src/views/settings/components/Mailer.vue +++ b/src/views/settings/components/Mailer.vue @@ -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') } } } diff --git a/src/views/settings/components/MediaProxy.vue b/src/views/settings/components/MediaProxy.vue index 0c0a73a8293483e90fabf3062d4dfacfaa6c6692..86d7a2353e0378556f92858d7ba1eb409bc5a438 100644 --- a/src/views/settings/components/MediaProxy.vue +++ b/src/views/settings/components/MediaProxy.vue @@ -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') } } } diff --git a/src/views/settings/components/Metadata.vue b/src/views/settings/components/Metadata.vue index 2f63ddd052a889ab82e4b53cacaadf6481e10e32..7631fe2e6b45ba75de761a04de1c65d7ef6fd017 100644 --- a/src/views/settings/components/Metadata.vue +++ b/src/views/settings/components/Metadata.vue @@ -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') } } } diff --git a/src/views/settings/components/Other.vue b/src/views/settings/components/Other.vue index 99ab16ff48c7e227df1f0f3540c5477f86599cd2..c285309b5084462001053adec9d1e69734516bfc 100644 --- a/src/views/settings/components/Other.vue +++ b/src/views/settings/components/Other.vue @@ -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) => { diff --git a/src/views/settings/components/RateLimiters.vue b/src/views/settings/components/RateLimiters.vue index 491ad51bd3065ea6866790e9d036004bef211175..943d977460e4340b77ad58c36380bb974d90b25e 100644 --- a/src/views/settings/components/RateLimiters.vue +++ b/src/views/settings/components/RateLimiters.vue @@ -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') } } } diff --git a/src/views/settings/components/Relays.vue b/src/views/settings/components/Relays.vue index ef9264b4acc10db9535cba900f26b9de82bc97a4..18db6f5ba4bea8c7ab7a027e9df11041e97efc97 100644 --- a/src/views/settings/components/Relays.vue +++ b/src/views/settings/components/Relays.vue @@ -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) } } } diff --git a/src/views/settings/components/Upload.vue b/src/views/settings/components/Upload.vue index 776c9ed6a5b09b284cb922e6914836e588fc28f8..f9cffe33a8fcf1a4782d90c0b28fb5cce1e6fd88 100644 --- a/src/views/settings/components/Upload.vue +++ b/src/views/settings/components/Upload.vue @@ -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') } } } diff --git a/src/views/settings/components/WebPush.vue b/src/views/settings/components/WebPush.vue index 7dbe87ea7f8c66c87a3f9943dffabe189aee1b6a..4e5a45b7fff5073d56d682398f2ec204f204af9b 100644 --- a/src/views/settings/components/WebPush.vue +++ b/src/views/settings/components/WebPush.vue @@ -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') } } } diff --git a/src/views/users/components/MultipleUsersMenu.vue b/src/views/users/components/MultipleUsersMenu.vue index 53f778b8855d56d4620026345138bc1c7402d202..f3be52cf859a6de49a569ff7dcc0336c41f34144 100644 --- a/src/views/users/components/MultipleUsersMenu.vue +++ b/src/views/users/components/MultipleUsersMenu.vue @@ -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') } } }, diff --git a/src/views/users/index.vue b/src/views/users/index.vue index 9e5928465226623354402a7624096fcad7bb28b7..4e67ee70fc5caa681ddd5be45afed256d526e631 100644 --- a/src/views/users/index.vue +++ b/src/views/users/index.vue @@ -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()