feat(market): track user points change

This commit is contained in:
2026-05-23 20:26:59 +02:00
parent 42e3571fab
commit a264336bd8
14 changed files with 339 additions and 48 deletions
+21 -7
View File
@@ -1,17 +1,17 @@
from django.contrib import admin
from market.models import Market, MarketOption, UserBet
from market.models import Market, MarketOption, UserBet, UserPointChange
class MarketOptionInline(admin.TabularInline):
model = MarketOption
extra = 1
fields = ["text", "position"]
fields = ["text"]
@admin.register(Market)
class MarketAdmin(admin.ModelAdmin):
list_display = ["title", "type", "status", "end_date", "created_by", "created_at"]
list_filter = ["status", "type", "created_at"]
list_display = ["title", "status", "end_date", "created_by", "created_at"]
list_filter = ["status", "created_at"]
search_fields = ["uuid", "title"]
readonly_fields = [
"uuid",
@@ -23,7 +23,7 @@ class MarketAdmin(admin.ModelAdmin):
inlines = [MarketOptionInline]
fieldsets = (
("Info", {"fields": ["uuid", "title", "description"]}),
("Configuration", {"fields": ["type", "end_date"]}),
("Configuration", {"fields": ["end_date"]}),
("Status", {"fields": ["status", "winning_option"]}),
("Metadata", {"fields": ["created_by", "created_at", "updated_at"]}),
)
@@ -45,7 +45,7 @@ class MarketAdmin(admin.ModelAdmin):
@admin.register(MarketOption)
class MarketOptionAdmin(admin.ModelAdmin):
list_display = ["text", "market", "position"]
list_display = ["text", "market"]
list_filter = ["market"]
search_fields = ["uuid", "text", "market__title"]
readonly_fields = ["uuid"]
@@ -54,7 +54,7 @@ class MarketOptionAdmin(admin.ModelAdmin):
@admin.register(UserBet)
class UserBetAdmin(admin.ModelAdmin):
list_display = ["user", "option", "amount", "created_at"]
list_filter = ["created_at", "option__market"]
list_filter = ["user", "created_at", "option__market"]
search_fields = ["uuid", "user__username", "option__text"]
readonly_fields = ["uuid", "user", "option", "amount", "created_at", "updated_at"]
@@ -63,3 +63,17 @@ class UserBetAdmin(admin.ModelAdmin):
def has_delete_permission(self, request, obj=None):
return False
@admin.register(UserPointChange)
class UserPointChangeAdmin(admin.ModelAdmin):
list_display = ["user", "market", "amount", "reason", "created_at"]
list_filter = ["user", "reason", "created_at", "market"]
search_fields = ["uuid", "user__username", "market__title"]
readonly_fields = ["uuid", "created_at", "updated_at"]
def has_add_permission(self, request):
return False
def has_delete_permission(self, request, obj=None):
return False