diff --git a/apps/api/serializers.py b/apps/api/serializers.py index 20a5ef0..9153b24 100644 --- a/apps/api/serializers.py +++ b/apps/api/serializers.py @@ -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" diff --git a/apps/api/views.py b/apps/api/views.py index ac1aae3..78d21c4 100644 --- a/apps/api/views.py +++ b/apps/api/views.py @@ -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 diff --git a/apps/home/models.py b/apps/home/models.py index e7ec23a..37b80fe 100644 --- a/apps/home/models.py +++ b/apps/home/models.py @@ -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)