From 10c436b24aa9e1598f1e5a227ef783956c23076e Mon Sep 17 00:00:00 2001 From: eugenijm Date: Fri, 21 Feb 2020 01:05:59 +0300 Subject: [PATCH 01/22] Added the ability to upload image as a setting value --- CHANGELOG.md | 1 + src/api/mediaUpload.js | 19 ++ src/lang/en.js | 5 +- src/views/settings/components/Inputs.vue | 15 +- .../inputComponents/ImageUploadInput.vue | 204 ++++++++++++++++++ .../components/inputComponents/index.js | 1 + 6 files changed, 243 insertions(+), 2 deletions(-) create mode 100644 src/api/mediaUpload.js create mode 100644 src/views/settings/components/inputComponents/ImageUploadInput.vue diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f51d123..dfa4826a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Added - Link settings that enable registrations and invites +- Ability to upload logo, background, default user avatar, instance thumbnail, and NSFW hiding images ### Changed diff --git a/src/api/mediaUpload.js b/src/api/mediaUpload.js new file mode 100644 index 00000000..1cbde204 --- /dev/null +++ b/src/api/mediaUpload.js @@ -0,0 +1,19 @@ +import { getToken } from '@/utils/auth' +import { baseName } from './utils' + +const UPLOAD_URL = '/api/v1/media' + +export function uploadMedia({ formData, authHost }) { + const url = baseName(authHost) + UPLOAD_URL + + return fetch(url, { + body: formData, + method: 'POST', + headers: authHeaders() + }) + .then((data) => data.json()) +} + +const authHeaders = () => { + return { 'Authorization': `Bearer ${getToken()}` } +} diff --git a/src/lang/en.js b/src/lang/en.js index 2e504315..a6f65378 100644 --- a/src/lang/en.js +++ b/src/lang/en.js @@ -388,7 +388,10 @@ export default { instanceReboot: 'Reboot Instance', restartApp: 'You must restart the instance to apply settings', restartSuccess: 'Instance rebooted successfully!', - removeSettingConfirmation: 'Are you sure you want to remove this setting\'s value from the database?' + removeSettingConfirmation: 'Are you sure you want to remove this setting\'s value from the database?', + changeImage: 'Change image', + uploadImage: 'Upload image', + remove: 'Remove' }, invites: { inviteTokens: 'Invite tokens', diff --git a/src/views/settings/components/Inputs.vue b/src/views/settings/components/Inputs.vue index 3214485f..a30e8e19 100644 --- a/src/views/settings/components/Inputs.vue +++ b/src/views/settings/components/Inputs.vue @@ -33,8 +33,16 @@
+ +
+
+
+
+ +
+ {{ $t('settings.changeImage') }} +
+ +
+
+
+
+ + {{ $t('settings.uploadImage') }} + + + + {{ $t('settings.remove') }} + +
+
+ + + + + diff --git a/src/views/settings/components/inputComponents/index.js b/src/views/settings/components/inputComponents/index.js index 3b9bc788..11281950 100644 --- a/src/views/settings/components/inputComponents/index.js +++ b/src/views/settings/components/inputComponents/index.js @@ -2,6 +2,7 @@ export { default as AutoLinkerInput } from './AutoLinkerInput' export { default as EditableKeywordInput } from './EditableKeywordInput' export { default as CrontabInput } from './CrontabInput' export { default as IconsInput } from './IconsInput' +export { default as ImageUploadInput } from './ImageUploadInput' export { default as MascotsInput } from './MascotsInput' export { default as ProxyUrlInput } from './ProxyUrlInput' export { default as PruneInput } from './PruneInput' From 1899450dc196e63ced9377288e731d5512d888d9 Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Tue, 14 Jul 2020 02:44:16 +0300 Subject: [PATCH 02/22] Rename action that sets reports filter --- src/store/modules/reports.js | 2 +- src/views/reports/components/ReportsFilter.vue | 4 ++-- test/views/reports/reportsFilter.test.js | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/store/modules/reports.js b/src/store/modules/reports.js index 6bc98993..6a56dedb 100644 --- a/src/store/modules/reports.js +++ b/src/store/modules/reports.js @@ -52,7 +52,7 @@ const reports = { commit('SET_PAGE', page) commit('SET_LOADING', false) }, - SetFilter({ commit }, filter) { + SetReportsFilter({ commit }, filter) { commit('SET_REPORTS_FILTER', filter) }, CreateReportNote({ commit, getters, state, rootState }, { content, reportID }) { diff --git a/src/views/reports/components/ReportsFilter.vue b/src/views/reports/components/ReportsFilter.vue index 29e15075..0d34a389 100644 --- a/src/views/reports/components/ReportsFilter.vue +++ b/src/views/reports/components/ReportsFilter.vue @@ -38,11 +38,11 @@ export default { } }, created() { - this.$store.dispatch('SetFilter', this.$data.filter) + this.$store.dispatch('SetReportsFilter', this.$data.filter) }, methods: { toggleFilters() { - this.$store.dispatch('SetFilter', this.$data.filter) + this.$store.dispatch('SetReportsFilter', this.$data.filter) this.$store.dispatch('ClearFetchedReports') this.$store.dispatch('FetchReports', 1) } diff --git a/test/views/reports/reportsFilter.test.js b/test/views/reports/reportsFilter.test.js index 0701262c..853cb1c3 100644 --- a/test/views/reports/reportsFilter.test.js +++ b/test/views/reports/reportsFilter.test.js @@ -26,7 +26,7 @@ describe('Reports filter', () => { it('shows open reports when "Open" filter is applied', async (done) => { expect(store.state.reports.fetchedReports.length).toEqual(7) - store.dispatch('SetFilter', 'open') + store.dispatch('SetReportsFilter', 'open') store.dispatch('ClearFetchedReports') store.dispatch('FetchReports', 1) await flushPromises() @@ -38,7 +38,7 @@ describe('Reports filter', () => { it('shows resolved reports when "Resolved" filter is applied', async (done) => { expect(store.state.reports.fetchedReports.length).toEqual(7) - store.dispatch('SetFilter', 'resolved') + store.dispatch('SetReportsFilter', 'resolved') store.dispatch('ClearFetchedReports') store.dispatch('FetchReports') await flushPromises() @@ -50,7 +50,7 @@ describe('Reports filter', () => { it('shows closed reports when "Closed" filter is applied', async (done) => { expect(store.state.reports.fetchedReports.length).toEqual(7) - store.dispatch('SetFilter', 'closed') + store.dispatch('SetReportsFilter', 'closed') store.dispatch('ClearFetchedReports') store.dispatch('FetchReports') await flushPromises() @@ -62,13 +62,13 @@ describe('Reports filter', () => { it('shows all users after removing filters', async (done) => { expect(store.state.reports.fetchedReports.length).toEqual(7) - store.dispatch('SetFilter', 'open') + store.dispatch('SetReportsFilter', 'open') store.dispatch('ClearFetchedReports') store.dispatch('FetchReports') await flushPromises() expect(store.state.reports.fetchedReports.length).toEqual(2) - store.dispatch('SetFilter', '') + store.dispatch('SetReportsFilter', '') store.dispatch('ClearFetchedReports') store.dispatch('FetchReports') await flushPromises() From 08bd5dae4087d1972fabdefd7bfff5dec39b4d1b Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Tue, 14 Jul 2020 02:51:51 +0300 Subject: [PATCH 03/22] Show reports count in Sidebar --- src/views/layout/components/Sidebar/Item.vue | 12 +++++++-- .../layout/components/Sidebar/SidebarItem.vue | 26 ++++++++++++++++--- src/views/layout/components/Sidebar/index.vue | 4 +++ 3 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/views/layout/components/Sidebar/Item.vue b/src/views/layout/components/Sidebar/Item.vue index b515f615..03e3b89f 100644 --- a/src/views/layout/components/Sidebar/Item.vue +++ b/src/views/layout/components/Sidebar/Item.vue @@ -3,6 +3,10 @@ export default { name: 'MenuItem', functional: true, props: { + count: { + type: String, + default: null + }, icon: { type: String, default: '' @@ -13,7 +17,7 @@ export default { } }, render(h, context) { - const { icon, title } = context.props + const { count, icon, title } = context.props const vnodes = [] if (icon) { @@ -21,7 +25,11 @@ export default { } if (title) { - vnodes.push({(title)}) + vnodes.push({(title)} ) + } + + if (count) { + vnodes.push(({(count)})) } return vnodes } diff --git a/src/views/layout/components/Sidebar/SidebarItem.vue b/src/views/layout/components/Sidebar/SidebarItem.vue index 9fb88139..c81a33ce 100644 --- a/src/views/layout/components/Sidebar/SidebarItem.vue +++ b/src/views/layout/components/Sidebar/SidebarItem.vue @@ -4,14 +4,21 @@ - @@ -43,6 +54,7 @@ import { isExternal } from '@/utils' import Item from './Item' import AppLink from './Link' import FixiOSBug from './FixiOSBug' +import numeral from 'numeral' export default { name: 'SidebarItem', @@ -71,6 +83,9 @@ export default { computed: { invitesEnabled() { return this.basePath === '/invites' ? this.$store.state.app.invitesEnabled : true + }, + normalizedReportsCount() { + return numeral(this.$store.state.reports.totalReportsCount).format('0a') } }, methods: { @@ -104,6 +119,9 @@ export default { } return path.resolve(this.basePath, routePath) }, + showCount(item) { + return item.path === '/reports' + }, isExternalLink(routePath) { return isExternal(routePath) }, diff --git a/src/views/layout/components/Sidebar/index.vue b/src/views/layout/components/Sidebar/index.vue index 11ef4c02..369f321d 100644 --- a/src/views/layout/components/Sidebar/index.vue +++ b/src/views/layout/components/Sidebar/index.vue @@ -31,6 +31,10 @@ export default { isCollapse() { return !this.sidebar.opened } + }, + mounted() { + this.$store.dispatch('SetReportsFilter', 'open') + this.$store.dispatch('FetchReports', 1) } } From 49df2deb31e7e030d7cb93d15c85ec57a2eab9fe Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Tue, 14 Jul 2020 18:56:59 +0300 Subject: [PATCH 04/22] Add badge for displating open reports count --- src/views/layout/components/Sidebar/Item.vue | 35 +++++++++----------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/src/views/layout/components/Sidebar/Item.vue b/src/views/layout/components/Sidebar/Item.vue index 03e3b89f..a19a4288 100644 --- a/src/views/layout/components/Sidebar/Item.vue +++ b/src/views/layout/components/Sidebar/Item.vue @@ -1,7 +1,14 @@ + + + + From 3df6738bc703290a78ebe758a8114a778a857eca Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Tue, 14 Jul 2020 19:19:42 +0300 Subject: [PATCH 05/22] Create separate constant in state and action for open reports count --- src/store/modules/reports.js | 20 +++++++++++++++---- .../layout/components/Sidebar/SidebarItem.vue | 2 +- src/views/layout/components/Sidebar/index.vue | 3 +-- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/store/modules/reports.js b/src/store/modules/reports.js index 6a56dedb..1f6ae44f 100644 --- a/src/store/modules/reports.js +++ b/src/store/modules/reports.js @@ -2,12 +2,13 @@ import { changeState, fetchReports, createNote, deleteNote } from '@/api/reports const reports = { state: { - fetchedReports: [], - totalReportsCount: 0, currentPage: 1, + fetchedReports: [], + loading: true, + openReportsCount: 0, pageSize: 50, stateFilter: '', - loading: true + totalReportsCount: 0 }, mutations: { SET_LAST_REPORT_ID: (state, id) => { @@ -16,6 +17,9 @@ const reports = { SET_LOADING: (state, status) => { state.loading = status }, + SET_OPEN_REPORTS_COUNT: (state, total) => { + state.openReportsCount = total + }, SET_PAGE: (state, page) => { state.currentPage = page }, @@ -30,7 +34,7 @@ const reports = { } }, actions: { - async ChangeReportState({ commit, getters, state }, reportsData) { + async ChangeReportState({ commit, dispatch, getters, state }, reportsData) { changeState(reportsData, getters.authHost, getters.token) const updatedReports = state.fetchedReports.map(report => { @@ -39,6 +43,7 @@ const reports = { }) commit('SET_REPORTS', updatedReports) + dispatch('FetchOpenReportsCount') }, ClearFetchedReports({ commit }) { commit('SET_REPORTS', []) @@ -52,6 +57,13 @@ const reports = { commit('SET_PAGE', page) commit('SET_LOADING', false) }, + async FetchOpenReportsCount({ commit, getters, state }) { + commit('SET_LOADING', true) + const { data } = await fetchReports('open', state.currentPage, state.pageSize, getters.authHost, getters.token) + + commit('SET_OPEN_REPORTS_COUNT', data.total) + commit('SET_LOADING', false) + }, SetReportsFilter({ commit }, filter) { commit('SET_REPORTS_FILTER', filter) }, diff --git a/src/views/layout/components/Sidebar/SidebarItem.vue b/src/views/layout/components/Sidebar/SidebarItem.vue index c81a33ce..7451ada2 100644 --- a/src/views/layout/components/Sidebar/SidebarItem.vue +++ b/src/views/layout/components/Sidebar/SidebarItem.vue @@ -85,7 +85,7 @@ export default { return this.basePath === '/invites' ? this.$store.state.app.invitesEnabled : true }, normalizedReportsCount() { - return numeral(this.$store.state.reports.totalReportsCount).format('0a') + return numeral(this.$store.state.reports.openReportsCount).format('0a') } }, methods: { diff --git a/src/views/layout/components/Sidebar/index.vue b/src/views/layout/components/Sidebar/index.vue index 369f321d..e52ae6b6 100644 --- a/src/views/layout/components/Sidebar/index.vue +++ b/src/views/layout/components/Sidebar/index.vue @@ -33,8 +33,7 @@ export default { } }, mounted() { - this.$store.dispatch('SetReportsFilter', 'open') - this.$store.dispatch('FetchReports', 1) + this.$store.dispatch('FetchOpenReportsCount') } } From 82255a4bcd22c40c459572c68aed206920fc5866 Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Tue, 14 Jul 2020 19:23:59 +0300 Subject: [PATCH 06/22] Update Changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64ec5c92..a3b692bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Add MRF Activity Expiration setting - Add ability to disable multi-factor authentication for a user - Ability to configure S3 settings on Upload tab +- Show number of open reports in Sidebar Menu ### Changed From f8dbcb80ab4cfdd49ff27cf7db88e7c852c0ab55 Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Fri, 17 Jul 2020 13:45:39 +0300 Subject: [PATCH 07/22] Add confirmation when deleting a single user --- src/views/users/components/ModerationDropdown.vue | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/views/users/components/ModerationDropdown.vue b/src/views/users/components/ModerationDropdown.vue index 3a145290..f06cbd3c 100644 --- a/src/views/users/components/ModerationDropdown.vue +++ b/src/views/users/components/ModerationDropdown.vue @@ -143,7 +143,18 @@ export default { this.$store.dispatch('ResendConfirmationEmail', [user]) }, handleDeletion(user) { - this.$store.dispatch('DeleteUsers', { users: [user], _userId: user.id }) + this.$confirm('Are you sure you want to delete this account?', 'Warning', { + confirmButtonText: 'Delete', + cancelButtonText: 'Cancel', + type: 'warning' + }).then(() => { + this.$store.dispatch('DeleteUsers', { users: [user], _userId: user.id }) + }).catch(() => { + this.$message({ + type: 'info', + message: 'Delete canceled' + }) + }) }, handleEmailConfirmation(user) { this.$store.dispatch('ConfirmUsersEmail', { users: [user], _userId: user.id, _statusId: this.statusId }) From 434f8ad2dd87d83dced0fe03f4ed92ae515b6754 Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Fri, 17 Jul 2020 13:47:50 +0300 Subject: [PATCH 08/22] Do not fetch user profile when deleting multiple accounts --- src/store/modules/users.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/store/modules/users.js b/src/store/modules/users.js index 5f35bf44..83d2ceee 100644 --- a/src/store/modules/users.js +++ b/src/store/modules/users.js @@ -197,7 +197,9 @@ const users = { const updatedUsers = state.fetchedUsers.filter(user => !deletedUsersIds.includes(user.id)) commit('SET_USERS', updatedUsers) - dispatch('FetchUserProfile', { userId: _userId, godmode: false }) + if (_userId) { + dispatch('FetchUserProfile', { userId: _userId, godmode: false }) + } dispatch('SuccessMessage') }, async FetchUsers({ commit, dispatch, getters, state }, { page }) { From d211d4f9349a7331e4170bf3db711c644d005e17 Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Fri, 17 Jul 2020 14:15:39 +0300 Subject: [PATCH 09/22] Fix optimistc update for deleting users --- src/store/modules/users.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/store/modules/users.js b/src/store/modules/users.js index 83d2ceee..4db8042f 100644 --- a/src/store/modules/users.js +++ b/src/store/modules/users.js @@ -193,9 +193,10 @@ const users = { } 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 updatedUsers = users.map(user => { + return { ...user, deactivated: true } + }) + commit('SWAP_USERS', updatedUsers) if (_userId) { dispatch('FetchUserProfile', { userId: _userId, godmode: false }) From a70a5bb15cd6eec9adf21272c030567343ae5560 Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Sat, 18 Jul 2020 00:13:06 +0300 Subject: [PATCH 10/22] Fix tests --- test/views/users/index.test.js | 6 ++++-- test/views/users/multipleUsersMenu.test.js | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/test/views/users/index.test.js b/test/views/users/index.test.js index 57cefad1..847de253 100644 --- a/test/views/users/index.test.js +++ b/test/views/users/index.test.js @@ -156,11 +156,13 @@ describe('Users actions', () => { stubs: ['router-link'] }) await flushPromises() - expect(store.state.users.fetchedUsers.length).toEqual(3) + expect(store.state.users.fetchedUsers[1].deactivated).toBe(false) wrapper.find(htmlElement(2, 2)).trigger('click') + store.dispatch('DeleteUsers', { users: [{ active: true, deactivated: false, id: '10', nickname: 'bob', local: false, external: true, roles: { admin: false, moderator: false }, tags: ['sandbox'] }] }) + await flushPromises() - expect(store.state.users.fetchedUsers.length).toEqual(2) + expect(store.state.users.fetchedUsers[1].deactivated).toBe(true) done() }) diff --git a/test/views/users/multipleUsersMenu.test.js b/test/views/users/multipleUsersMenu.test.js index aea1a9aa..c956bed4 100644 --- a/test/views/users/multipleUsersMenu.test.js +++ b/test/views/users/multipleUsersMenu.test.js @@ -225,11 +225,11 @@ describe('Apply users actions to multiple users', () => { expect(wrapper.vm.deleteMultipleUsers).toHaveBeenCalled() const remove = wrapper.vm.mappers().remove - expect(store.state.users.fetchedUsers.length).toEqual(3) + expect(store.state.users.fetchedUsers.filter(user => user.deactivated).length).toEqual(1) remove() await flushPromises() - expect(store.state.users.fetchedUsers.length).toEqual(0) + expect(store.state.users.fetchedUsers.length).toEqual(3) done() }) From c771ab057cc9accca34d825fc959f316f9838eaf Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Sat, 18 Jul 2020 00:18:06 +0300 Subject: [PATCH 11/22] Update Changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a3b692bf..d3b7f3af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Add ability to disable multi-factor authentication for a user - Ability to configure S3 settings on Upload tab - Show number of open reports in Sidebar Menu +- Add confirmation message when deleting a user ### Changed From 240340ff83cba0624c5cae3aa49561ecaaf27d8f Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Sat, 18 Jul 2020 00:28:04 +0300 Subject: [PATCH 12/22] Update confirmation message --- src/lang/en.js | 1 + src/views/users/components/ModerationDropdown.vue | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/lang/en.js b/src/lang/en.js index 35d91252..0dcfaf4c 100644 --- a/src/lang/en.js +++ b/src/lang/en.js @@ -212,6 +212,7 @@ export default { revokeRightConfirmation: 'Are you sure you want to revoke {right} rights from all selected users?', activateMultipleUsersConfirmation: 'Are you sure you want to activate accounts of all selected users?', deactivateMultipleUsersConfirmation: 'Are you sure you want to deactivate accounts of all selected users?', + deleteUsersConfirmation: 'Are you sure you want to delete this account? This action cannot be undone.', deleteMultipleUsersConfirmation: 'Are you sure you want to delete accounts of all selected users?', addTagForMultipleUsersConfirmation: 'Are you sure you want to apply tag to all selected users?', removeTagFromMultipleUsersConfirmation: 'Are you sure you want to remove tag from all selected users?', diff --git a/src/views/users/components/ModerationDropdown.vue b/src/views/users/components/ModerationDropdown.vue index f06cbd3c..6f9a5651 100644 --- a/src/views/users/components/ModerationDropdown.vue +++ b/src/views/users/components/ModerationDropdown.vue @@ -143,11 +143,13 @@ export default { this.$store.dispatch('ResendConfirmationEmail', [user]) }, handleDeletion(user) { - this.$confirm('Are you sure you want to delete this account?', 'Warning', { - confirmButtonText: 'Delete', - cancelButtonText: 'Cancel', - type: 'warning' - }).then(() => { + this.$confirm( + this.$t('users.deleteUsersConfirmation'), + { + confirmButtonText: 'Delete', + cancelButtonText: 'Cancel', + type: 'warning' + }).then(() => { this.$store.dispatch('DeleteUsers', { users: [user], _userId: user.id }) }).catch(() => { this.$message({ From 94e07f1ead513ce85c89c23eb7e06edbff29b61b Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Tue, 21 Jul 2020 13:29:54 +0300 Subject: [PATCH 13/22] Fix shortening MRF policies on the new tab --- src/views/settings/components/Inputs.vue | 2 +- .../inputComponents/SelectInputWithReducedLabels.vue | 12 ++---------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/views/settings/components/Inputs.vue b/src/views/settings/components/Inputs.vue index d8ca8cc2..b22ba620 100644 --- a/src/views/settings/components/Inputs.vue +++ b/src/views/settings/components/Inputs.vue @@ -276,7 +276,7 @@ export default { ':parsers', ':providers', ':method', - ':rewrite_policy', + ':policies', 'Pleroma.Web.Auth.Authenticator' ].includes(this.setting.key) || (this.settingGroup.key === 'Pleroma.Emails.Mailer' && this.setting.key === ':adapter') diff --git a/src/views/settings/components/inputComponents/SelectInputWithReducedLabels.vue b/src/views/settings/components/inputComponents/SelectInputWithReducedLabels.vue index 8e7b9129..9b6b6140 100644 --- a/src/views/settings/components/inputComponents/SelectInputWithReducedLabels.vue +++ b/src/views/settings/components/inputComponents/SelectInputWithReducedLabels.vue @@ -56,7 +56,7 @@ export default { inputValue() { if (this.setting.key === 'Pleroma.Web.Auth.Authenticator') { return this.data.value - } else if (this.setting.key === ':rewrite_policy') { + } else if (this.setting.key === ':policies') { return typeof this.data[this.setting.key] === 'string' ? [this.data[this.setting.key]] : this.data[this.setting.key] @@ -71,7 +71,7 @@ export default { methods: { options(suggestions) { const prefixes = { - ':rewrite_policy': 'Pleroma.Web.ActivityPub.MRF.', + ':policies': 'Pleroma.Web.ActivityPub.MRF.', 'Pleroma.Web.Auth.Authenticator': 'Pleroma.Web.Auth.', ':method': 'Pleroma.Captcha.', ':adapter': 'Swoosh.Adapters.', @@ -100,14 +100,6 @@ export default { this.setting.key === ':args' ) }, - rewritePolicyOptions(suggestions) { - return suggestions.map(element => { - const label = element.split('Pleroma.Web.ActivityPub.MRF.')[1] - ? element.split('Pleroma.Web.ActivityPub.MRF.')[1] - : element - return { value: element, label } - }) - }, updateSetting(value, group, key, input, type) { const updatedValue = getBooleanValue(value) this.$store.dispatch('UpdateSettings', { group, key, input, value: updatedValue, type }) From 81177cc96ece3d8919c7d121b990bab383262005 Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Wed, 22 Jul 2020 17:36:52 +0300 Subject: [PATCH 14/22] Show only those MRF settings that are enabled in MRF policies --- src/views/settings/components/MRF.vue | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/views/settings/components/MRF.vue b/src/views/settings/components/MRF.vue index e35f46cb..ba2454a5 100644 --- a/src/views/settings/components/MRF.vue +++ b/src/views/settings/components/MRF.vue @@ -1,10 +1,10 @@