Show More
@@ -34,6 +34,11 b' class TagAdmin(admin.ModelAdmin):' | |||
|
34 | 34 | def display_children(self, obj: Tag): |
|
35 | 35 | return ', '.join([str(child) for child in obj.get_children().all()]) |
|
36 | 36 | |
|
37 | def save_model(self, request, obj, form, change): | |
|
38 | super().save_model(request, obj, form, change) | |
|
39 | for thread in obj.get_threads().all(): | |
|
40 | thread.refresh_tags() | |
|
41 | ||
|
37 | 42 | list_display = ('name', 'thread_count', 'display_children') |
|
38 | 43 | search_fields = ('name',) |
|
39 | 44 | |
@@ -59,11 +64,7 b' class ThreadAdmin(admin.ModelAdmin):' | |||
|
59 | 64 | # Save parent tags when editing tags |
|
60 | 65 | def save_related(self, request, form, formsets, change): |
|
61 | 66 | super().save_related(request, form, formsets, change) |
|
62 |
|
|
|
63 | for tag in obj.get_tags().all(): | |
|
64 | parents = tag.get_all_parents() | |
|
65 | if len(parents) > 0: | |
|
66 | obj.tags.add(*parents) | |
|
67 | form.instance.refresh_tags() | |
|
67 | 68 | |
|
68 | 69 | list_display = ('id', 'op', 'title', 'reply_count', 'status', 'ip', |
|
69 | 70 | 'display_tags') |
@@ -3,7 +3,7 b' from adjacent import Client' | |||
|
3 | 3 | |
|
4 | 4 | from django.db.models import Count, Sum, QuerySet, Q |
|
5 | 5 | from django.utils import timezone |
|
6 | from django.db import models | |
|
6 | from django.db import models, transaction | |
|
7 | 7 | |
|
8 | 8 | from boards.models import STATUS_BUMPLIMIT, STATUS_ACTIVE, STATUS_ARCHIVE |
|
9 | 9 | |
@@ -270,3 +270,12 b' class Thread(models.Model):' | |||
|
270 | 270 | |
|
271 | 271 | def is_monochrome(self): |
|
272 | 272 | return self.monochrome |
|
273 | ||
|
274 | # If tags have parent, add them to the tag list | |
|
275 | @transaction.atomic | |
|
276 | def refresh_tags(self): | |
|
277 | for tag in self.get_tags().all(): | |
|
278 | parents = tag.get_all_parents() | |
|
279 | if len(parents) > 0: | |
|
280 | self.tags.add(*parents) | |
|
281 |
General Comments 0
You need to be logged in to leave comments.
Login now