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() }