File tree Expand file tree Collapse file tree 4 files changed +43
-2
lines changed
Expand file tree Collapse file tree 4 files changed +43
-2
lines changed Original file line number Diff line number Diff line change 11<script setup lang="ts">
2- import { defineProps , onMounted , ref } from ' vue'
2+ import { onMounted , ref } from ' vue'
33import { useMessageStore } from ' @/stores/message'
44import { useRouter } from ' vue-router'
55import { useUserStore } from ' @/stores/user'
Original file line number Diff line number Diff line change 11<script setup lang="ts">
2- import { defineProps , onMounted , ref } from ' vue'
2+ import { onMounted , ref } from ' vue'
33import { useMessageStore } from ' @/stores/message'
44import { useUserStore } from ' @/stores/user'
55import { useModalStore } from ' @/stores/modal'
Original file line number Diff line number Diff line change 44class BingoConfig (AppConfig ):
55 default_auto_field = "django.db.models.BigAutoField"
66 name = "bingo"
7+
8+ def ready (self ):
9+ import bingo .signals # noqa
Original file line number Diff line number Diff line change 1+ from .models import TileInteraction
2+ import os
3+ from django .dispatch import receiver
4+ from django .db .models .signals import post_delete , pre_save
5+
6+ # modified from https://stackoverflow.com/a/16041527
7+
8+
9+ @receiver (post_delete , sender = TileInteraction )
10+ def auto_delete_file_on_delete (sender , instance , ** kwargs ):
11+ """
12+ Deletes file from filesystem
13+ when corresponding `TileInteraction` object is deleted.
14+ """
15+ if instance .image :
16+ if os .path .isfile (instance .image .path ):
17+ os .remove (instance .image .path )
18+
19+
20+ @receiver (pre_save , sender = TileInteraction )
21+ def auto_delete_file_on_change (sender , instance , ** kwargs ):
22+ """
23+ Deletes old file from filesystem
24+ when corresponding `TileInteraction` object is updated
25+ with new file.
26+ """
27+ if not instance .pk :
28+ return False
29+
30+ try :
31+ old_image = TileInteraction .objects .get (pk = instance .pk ).image
32+ except TileInteraction .DoesNotExist :
33+ return False
34+
35+ new_image = instance .image
36+ if old_image and not old_image == new_image :
37+ if os .path .isfile (old_image .path ):
38+ os .remove (old_image .path )
You can’t perform that action at this time.
0 commit comments