From 256d98b77d7cf6e490b9950ea54a84ad99c544d2 Mon Sep 17 00:00:00 2001 From: Eliot Berriot <contact@eliotberriot.com> Date: Tue, 29 May 2018 22:22:51 +0200 Subject: [PATCH] See #223: delete actions is now dangerous anc cannot be applied to all files --- api/funkwhale_api/manage/serializers.py | 1 + front/src/components/common/ActionTable.vue | 4 ++-- front/src/components/manage/library/FilesTable.vue | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/api/funkwhale_api/manage/serializers.py b/api/funkwhale_api/manage/serializers.py index bbd39323..02300ec0 100644 --- a/api/funkwhale_api/manage/serializers.py +++ b/api/funkwhale_api/manage/serializers.py @@ -74,6 +74,7 @@ class ManageTrackFileSerializer(serializers.ModelSerializer): class ManageTrackFileActionSerializer(common_serializers.ActionSerializer): actions = ['delete'] + dangerous_actions = ['delete'] filterset_class = filters.ManageTrackFileFilterSet @transaction.atomic diff --git a/front/src/components/common/ActionTable.vue b/front/src/components/common/ActionTable.vue index 718e57b1..5221c328 100644 --- a/front/src/components/common/ActionTable.vue +++ b/front/src/components/common/ActionTable.vue @@ -21,7 +21,7 @@ :class="['ui', {disabled: checked.length === 0}, {'loading': actionLoading}, 'button']"> {{ $t('Go') }}</div> <dangerous-button - v-else :class="['ui', {disabled: checked.length === 0}, {'loading': actionLoading}, 'button']" + v-else-if="!currentAction.isDangerous" :class="['ui', {disabled: checked.length === 0}, {'loading': actionLoading}, 'button']" confirm-color="green" color="" @confirm="launchAction"> @@ -36,7 +36,7 @@ <div class="count field"> <span v-if="selectAll">{{ $t('{% count %} on {% total %} selected', {count: objectsData.count, total: objectsData.count}) }}</span> <span v-else>{{ $t('{% count %} on {% total %} selected', {count: checked.length, total: objectsData.count}) }}</span> - <template v-if="checkable.length === checked.length"> + <template v-if="!currentAction.isDangerous && checkable.length === checked.length"> <a @click="selectAll = true" v-if="!selectAll"> {{ $t('Select all {% total %} elements', {total: objectsData.count}) }} </a> diff --git a/front/src/components/manage/library/FilesTable.vue b/front/src/components/manage/library/FilesTable.vue index 7d230cc8..2788006f 100644 --- a/front/src/components/manage/library/FilesTable.vue +++ b/front/src/components/manage/library/FilesTable.vue @@ -181,7 +181,8 @@ export default { return [ { name: 'delete', - label: this.$t('Delete') + label: this.$t('Delete'), + isDangerous: true } ] } -- GitLab