name, colour and publish threshold fields

This commit is contained in:
Corban-Lee Jones 2024-09-27 17:41:46 +01:00
parent ce263b23f4
commit 68b5174222
3 changed files with 11 additions and 7 deletions

View File

@ -149,6 +149,7 @@ class MessageStyleSerializer(DynamicModelSerializer):
fields = (
"id",
"server",
"name",
"is_embed",
"is_hyperlinked",
"show_author",
@ -184,6 +185,7 @@ class SubscriptionSerializer(DynamicModelSerializer):
"updated_at",
"extra_notes",
"active",
"publish_threshold",
"filters",
"message_style",
"unique_rules"

View File

@ -88,7 +88,7 @@ class Server_ListView(ListView):
def get_queryset(self):
servers = ServerMember.objects.filter(user=self.request.user).values_list("server", flat=True)
return Server.objects.filter(id__in=servers)
return Server.objects.filter(id__in=servers).order_by("id")
class Server_DetailView(DetailView):
@ -107,7 +107,7 @@ class ContentFilter_ListView(ListCreateView):
def get_queryset(self):
servers = ServerMember.objects.filter(user=self.request.user).values_list("server", flat=True)
return ContentFilter.objects.filter(server__in=servers)
return ContentFilter.objects.filter(server__in=servers).order_by("name")
class ContentFilter_DetailView(ChangableDetailView):
@ -136,8 +136,9 @@ class MessageMutator_DetailView(DetailView):
class MessageStyle_ListView(ListCreateView):
filterset_fields = ("id", "server", "is_embed", "is_hyperlinked", "show_author", "show_timestamp", "show_images", "fetch_images", "title_mutator", "description_mutator")
ordering_fields = ("id", "server", "is_embed", "is_hyperlinked", "show_author", "show_timestamp", "show_images", "fetch_images")
filterset_fields = ("id", "server", "name", "is_embed", "is_hyperlinked", "show_author", "show_timestamp", "show_images", "fetch_images", "title_mutator", "description_mutator")
search_fields = ("name",)
ordering_fields = ("id", "server", "name", "is_embed", "is_hyperlinked", "show_author", "show_timestamp", "show_images", "fetch_images")
serializer_class = MessageStyleSerializer
def get_queryset(self):
@ -152,7 +153,7 @@ class MessageStyle_DetailView(ChangableDetailView):
class Subscription_ListView(ListCreateView):
filterset_fields = ("id", "server", "name", "url", "created_at", "updated_at", "extra_notes", "active", "filters", "message_style", "unique_rules")
filterset_fields = ("id", "server", "name", "url", "created_at", "updated_at", "extra_notes", "active", "publish_threshold", "filters", "message_style", "unique_rules")
search_fields = ("name", "url", "extra_notes")
ordering_fields = ("id", "server", "name", "url", "created_at", "updated_at", "extra_notes", "active", "message_style")
serializer_class = SubscriptionSerializer

View File

@ -112,9 +112,9 @@ class MessageStyle(models.Model):
id = models.AutoField(primary_key=True)
server = models.ForeignKey(to=Server, on_delete=models.CASCADE, null=True, blank=False)
name = models.CharField(max_length=32)
colour = models.CharField(max_length=6, default="3498db")
is_embed = models.BooleanField()
colour = models.CharField(max_length=6)
is_hyperlinked = models.BooleanField() # title only
show_author = models.BooleanField()
show_timestamp = models.BooleanField()
@ -185,6 +185,7 @@ class Subscription(models.Model):
extra_notes = models.CharField(max_length=250, default="", blank=True)
active = models.BooleanField(default=True)
publish_threshold = models.DateTimeField(default=timezone.now)
filters = models.ManyToManyField(to=ContentFilter, blank=True)
message_style = models.ForeignKey(to=MessageStyle, on_delete=models.SET_NULL, null=True, blank=True)
unique_rules = models.ManyToManyField(to=UniqueContentRule, blank=False)