forked from erp-dev/erp
53 lines
1.5 KiB
Python
53 lines
1.5 KiB
Python
from django.contrib import admin
|
|
|
|
from notifier.models import Notifier, NotifierRoute
|
|
|
|
|
|
class NotifierRouteInline(admin.TabularInline):
|
|
model = NotifierRoute
|
|
extra = 0
|
|
fields = ["event_key", "mission_category", "is_enabled", "description"]
|
|
|
|
|
|
@admin.register(Notifier)
|
|
class NotifierAdmin(admin.ModelAdmin):
|
|
inlines = [NotifierRouteInline]
|
|
list_display = [
|
|
"id",
|
|
"merchant",
|
|
"name",
|
|
"channel",
|
|
"template_key",
|
|
"is_enabled",
|
|
"created_at",
|
|
]
|
|
list_filter = ["merchant", "channel", "is_enabled", "created_at"]
|
|
search_fields = ["name", "template_key", "description"]
|
|
readonly_fields = ["created_at", "updated_at"]
|
|
|
|
def save_formset(self, request, form, formset, change):
|
|
instances = formset.save(commit=False)
|
|
for obj in formset.deleted_objects:
|
|
obj.delete()
|
|
for instance in instances:
|
|
if isinstance(instance, NotifierRoute):
|
|
instance.merchant = form.instance.merchant
|
|
instance.save()
|
|
formset.save_m2m()
|
|
|
|
|
|
@admin.register(NotifierRoute)
|
|
class NotifierRouteAdmin(admin.ModelAdmin):
|
|
list_display = [
|
|
"id",
|
|
"merchant",
|
|
"notifier",
|
|
"event_key",
|
|
"mission_category",
|
|
"is_enabled",
|
|
"created_at",
|
|
]
|
|
list_filter = ["merchant", "event_key", "mission_category", "is_enabled", "created_at"]
|
|
search_fields = ["notifier__name", "description"]
|
|
readonly_fields = ["created_at", "updated_at"]
|