From d5b89f01d7e81f7f629ae7cced7bbbd46f60d581 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Mon, 2 Sep 2019 15:21:26 +0200 Subject: [PATCH] See #890: added shortcuts for setting moderation policies directly when handling reports --- api/funkwhale_api/manage/filters.py | 7 ++ .../manage/moderation/InstancePolicyModal.vue | 99 +++++++++++++++++++ .../manage/moderation/ReportCard.vue | 10 +- front/src/components/semantic/Modal.vue | 2 + 4 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 front/src/components/manage/moderation/InstancePolicyModal.vue diff --git a/api/funkwhale_api/manage/filters.py b/api/funkwhale_api/manage/filters.py index de9758d28..5791afba3 100644 --- a/api/funkwhale_api/manage/filters.py +++ b/api/funkwhale_api/manage/filters.py @@ -325,6 +325,10 @@ class ManageInstancePolicyFilterSet(filters.FilterSet): ] ) + target_domain = filters.CharFilter("target_domain__name") + target_account_domain = filters.CharFilter("target_actor__domain__name") + target_account_username = filters.CharFilter("target_actor__preferred_username") + class Meta: model = moderation_models.InstancePolicy fields = [ @@ -333,6 +337,9 @@ class ManageInstancePolicyFilterSet(filters.FilterSet): "silence_activity", "silence_notifications", "reject_media", + "target_domain", + "target_account_domain", + "target_account_username", ] diff --git a/front/src/components/manage/moderation/InstancePolicyModal.vue b/front/src/components/manage/moderation/InstancePolicyModal.vue new file mode 100644 index 000000000..d905a1d8c --- /dev/null +++ b/front/src/components/manage/moderation/InstancePolicyModal.vue @@ -0,0 +1,99 @@ + + + diff --git a/front/src/components/manage/moderation/ReportCard.vue b/front/src/components/manage/moderation/ReportCard.vue index d6beec400..6bc2ce86f 100644 --- a/front/src/components/manage/moderation/ReportCard.vue +++ b/front/src/components/manage/moderation/ReportCard.vue @@ -135,13 +135,16 @@ {{ configs[target.type].label }} - + Owner + + + @@ -161,6 +164,9 @@ {{ obj.target_state.domain }} + + + {{ field.label }} @@ -226,6 +232,7 @@ import { diffWordsWithSpace } from 'diff' import NoteForm from '@/components/manage/moderation/NoteForm' import NotesThread from '@/components/manage/moderation/NotesThread' import ReportCategoryDropdown from '@/components/moderation/ReportCategoryDropdown' +import InstancePolicyModal from '@/components/manage/moderation/InstancePolicyModal' import entities from '@/entities' import {setUpdate} from '@/utils' import showdown from 'showdown' @@ -247,6 +254,7 @@ export default { NoteForm, NotesThread, ReportCategoryDropdown, + InstancePolicyModal, }, data () { return { diff --git a/front/src/components/semantic/Modal.vue b/front/src/components/semantic/Modal.vue index 076b3e466..c3af1524b 100644 --- a/front/src/components/semantic/Modal.vue +++ b/front/src/components/semantic/Modal.vue @@ -46,9 +46,11 @@ export default { handler (newValue) { if (newValue) { this.initModal() + this.$emit('show') this.control.modal('show') } else { if (this.control) { + this.$emit('hide') this.control.modal('hide') this.control.remove() }