detail sub attributes
All checks were successful
Build and Push Docker Image / build (push) Successful in 13s
All checks were successful
Build and Push Docker Image / build (push) Successful in 13s
This commit is contained in:
parent
cfd7af3087
commit
09b910454e
@ -172,13 +172,13 @@ class MessageStyleSerializer(DynamicModelSerializer):
|
||||
|
||||
def get_title_mutator_detail(self, obj: MessageStyle):
|
||||
request = self.context.get("request")
|
||||
if request.method == "GET":
|
||||
if request and request.method == "GET":
|
||||
return MessageMutatorSerializer(obj.title_mutator).data
|
||||
return {}
|
||||
|
||||
def get_description_mutator_detail(self, obj: MessageStyle):
|
||||
request = self.context.get("request")
|
||||
if request.method == "GET":
|
||||
if request and request.method == "GET":
|
||||
return MessageMutatorSerializer(obj.description_mutator).data
|
||||
return {}
|
||||
|
||||
@ -219,7 +219,9 @@ class SubscriptionSerializer(DynamicModelSerializer):
|
||||
many=True
|
||||
)
|
||||
channels_detail = serializers.SerializerMethodField()
|
||||
# unique_rules = UniqueContentRuleSerializ er(many=True) # TODO: solve? causes issues with submission.
|
||||
filters_detail = serializers.SerializerMethodField()
|
||||
message_style_detail = serializers.SerializerMethodField()
|
||||
unique_rules_detail = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Subscription
|
||||
@ -236,8 +238,11 @@ class SubscriptionSerializer(DynamicModelSerializer):
|
||||
"channels",
|
||||
"channels_detail",
|
||||
"filters",
|
||||
"filters_detail",
|
||||
"message_style",
|
||||
"unique_rules"
|
||||
"message_style_detail",
|
||||
"unique_rules",
|
||||
"unique_rules_detail"
|
||||
)
|
||||
|
||||
def get_channels_detail(self, obj: Subscription):
|
||||
@ -246,6 +251,24 @@ class SubscriptionSerializer(DynamicModelSerializer):
|
||||
return NestedDiscordChannelSerializer(obj.channels.all(), many=True).data
|
||||
return []
|
||||
|
||||
def get_filters_detail(self, obj: Subscription):
|
||||
request = self.context.get("request")
|
||||
if request.method == "GET":
|
||||
return ContentFilterSerializer(obj.filters.all(), many=True).data
|
||||
return []
|
||||
|
||||
def get_message_style_detail(self, obj: Subscription):
|
||||
request = self.context.get("request")
|
||||
if request.method == "GET":
|
||||
return MessageStyleSerializer(obj.message_style).data
|
||||
return {}
|
||||
|
||||
def get_unique_rules_detail(self, obj: Subscription):
|
||||
request = self.context.get("request")
|
||||
if request.method == "GET":
|
||||
return UniqueContentRuleSerializer(obj.unique_rules.all(), many=True).data
|
||||
return []
|
||||
|
||||
def validate(self, data):
|
||||
server = data.get("server") or self.context.get("server")
|
||||
if not server:
|
||||
|
@ -462,6 +462,15 @@ function renderBooleanColumn(data) {
|
||||
return `<i class="bi ${iconClass}"></i>`;
|
||||
}
|
||||
|
||||
function renderBadgeColumn(data, colour=null) {
|
||||
let badge = $(`<span class="badge text-bg-secondary rounded-1 border border-1">${data}</span>`)
|
||||
if (colour) {
|
||||
badge[0].style.setProperty("border-color", `#${colour}`, "important");
|
||||
}
|
||||
|
||||
return badge.prop("outerHTML");
|
||||
}
|
||||
|
||||
function renderArrayBadgesColumn(data) {
|
||||
let badges = $("<div>");
|
||||
|
||||
|
@ -30,6 +30,18 @@ function initSubscriptionsModule() {
|
||||
className: "text-center",
|
||||
render: data => renderArrayBadgesColumn(data.map(item => "#" + item.name))
|
||||
},
|
||||
{
|
||||
title: "Filters",
|
||||
data: "filters_detail",
|
||||
className: "text-center",
|
||||
render: data => renderArrayBadgesColumn(data.map(item => item.name))
|
||||
},
|
||||
{
|
||||
title: "Style",
|
||||
data: "message_style_detail",
|
||||
className: "text-center",
|
||||
render: data => renderBadgeColumn(data.name, data.is_embed ? data.colour : null)
|
||||
},
|
||||
{
|
||||
title: "Rules",
|
||||
data: "unique_rules_detail",
|
||||
|
Loading…
x
Reference in New Issue
Block a user