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):
|
def get_title_mutator_detail(self, obj: MessageStyle):
|
||||||
request = self.context.get("request")
|
request = self.context.get("request")
|
||||||
if request.method == "GET":
|
if request and request.method == "GET":
|
||||||
return MessageMutatorSerializer(obj.title_mutator).data
|
return MessageMutatorSerializer(obj.title_mutator).data
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
def get_description_mutator_detail(self, obj: MessageStyle):
|
def get_description_mutator_detail(self, obj: MessageStyle):
|
||||||
request = self.context.get("request")
|
request = self.context.get("request")
|
||||||
if request.method == "GET":
|
if request and request.method == "GET":
|
||||||
return MessageMutatorSerializer(obj.description_mutator).data
|
return MessageMutatorSerializer(obj.description_mutator).data
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
@ -219,7 +219,9 @@ class SubscriptionSerializer(DynamicModelSerializer):
|
|||||||
many=True
|
many=True
|
||||||
)
|
)
|
||||||
channels_detail = serializers.SerializerMethodField()
|
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:
|
class Meta:
|
||||||
model = Subscription
|
model = Subscription
|
||||||
@ -236,8 +238,11 @@ class SubscriptionSerializer(DynamicModelSerializer):
|
|||||||
"channels",
|
"channels",
|
||||||
"channels_detail",
|
"channels_detail",
|
||||||
"filters",
|
"filters",
|
||||||
|
"filters_detail",
|
||||||
"message_style",
|
"message_style",
|
||||||
"unique_rules"
|
"message_style_detail",
|
||||||
|
"unique_rules",
|
||||||
|
"unique_rules_detail"
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_channels_detail(self, obj: Subscription):
|
def get_channels_detail(self, obj: Subscription):
|
||||||
@ -246,6 +251,24 @@ class SubscriptionSerializer(DynamicModelSerializer):
|
|||||||
return NestedDiscordChannelSerializer(obj.channels.all(), many=True).data
|
return NestedDiscordChannelSerializer(obj.channels.all(), many=True).data
|
||||||
return []
|
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):
|
def validate(self, data):
|
||||||
server = data.get("server") or self.context.get("server")
|
server = data.get("server") or self.context.get("server")
|
||||||
if not server:
|
if not server:
|
||||||
|
@ -462,6 +462,15 @@ function renderBooleanColumn(data) {
|
|||||||
return `<i class="bi ${iconClass}"></i>`;
|
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) {
|
function renderArrayBadgesColumn(data) {
|
||||||
let badges = $("<div>");
|
let badges = $("<div>");
|
||||||
|
|
||||||
|
@ -30,6 +30,18 @@ function initSubscriptionsModule() {
|
|||||||
className: "text-center",
|
className: "text-center",
|
||||||
render: data => renderArrayBadgesColumn(data.map(item => "#" + item.name))
|
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",
|
title: "Rules",
|
||||||
data: "unique_rules_detail",
|
data: "unique_rules_detail",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user