feat: added advertiser and campaign apps
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
from django.contrib import admin
|
||||
from django.http import HttpRequest
|
||||
|
||||
from apps.campaign.forms import CampaignForm, CampaignReportForm
|
||||
from apps.campaign.models import (
|
||||
Campaign,
|
||||
CampaignClick,
|
||||
CampaignImpression,
|
||||
CampaignReport,
|
||||
)
|
||||
|
||||
|
||||
class CampaignAdmin(admin.ModelAdmin):
|
||||
form = CampaignForm
|
||||
readonly_fields = (
|
||||
Campaign.id.field.name,
|
||||
Campaign.advertiser.field.name,
|
||||
)
|
||||
fields = (
|
||||
Campaign.id.field.name,
|
||||
Campaign.advertiser.field.name,
|
||||
Campaign.impressions_limit.field.name,
|
||||
Campaign.clicks_limit.field.name,
|
||||
Campaign.cost_per_impression.field.name,
|
||||
Campaign.cost_per_click.field.name,
|
||||
Campaign.ad_title.field.name,
|
||||
Campaign.ad_text.field.name,
|
||||
Campaign.ad_image.field.name,
|
||||
Campaign.start_date.field.name,
|
||||
Campaign.end_date.field.name,
|
||||
Campaign.gender.field.name,
|
||||
Campaign.age_from.field.name,
|
||||
Campaign.age_to.field.name,
|
||||
Campaign.location.field.name,
|
||||
)
|
||||
|
||||
def has_add_permission(
|
||||
self, request: HttpRequest, obj: Campaign = None
|
||||
) -> bool:
|
||||
return False
|
||||
|
||||
|
||||
class CampaignImpressionAdmin(admin.ModelAdmin):
|
||||
readonly_fields = (
|
||||
CampaignImpression.id.field.name,
|
||||
CampaignImpression.campaign.field.name,
|
||||
CampaignImpression.client.field.name,
|
||||
CampaignImpression.date.field.name,
|
||||
)
|
||||
fields = (
|
||||
CampaignImpression.id.field.name,
|
||||
CampaignImpression.campaign.field.name,
|
||||
CampaignImpression.client.field.name,
|
||||
CampaignImpression.date.field.name,
|
||||
CampaignImpression.price.field.name,
|
||||
)
|
||||
|
||||
def has_add_permission(
|
||||
self, request: HttpRequest, obj: CampaignImpression = None
|
||||
) -> bool:
|
||||
return False
|
||||
|
||||
|
||||
class CampaignClickAdmin(admin.ModelAdmin):
|
||||
readonly_fields = (
|
||||
CampaignClick.id.field.name,
|
||||
CampaignClick.campaign.field.name,
|
||||
CampaignClick.client.field.name,
|
||||
CampaignClick.date.field.name,
|
||||
)
|
||||
fields = (
|
||||
CampaignClick.id.field.name,
|
||||
CampaignClick.campaign.field.name,
|
||||
CampaignClick.client.field.name,
|
||||
CampaignClick.date.field.name,
|
||||
CampaignClick.price.field.name,
|
||||
)
|
||||
|
||||
def has_add_permission(
|
||||
self, request: HttpRequest, obj: CampaignClick = None
|
||||
) -> bool:
|
||||
return False
|
||||
|
||||
|
||||
class CampaignReportAdmin(admin.ModelAdmin):
|
||||
form = CampaignReportForm
|
||||
readonly_fields = (
|
||||
CampaignReport.id.field.name,
|
||||
CampaignReport.campaign.field.name,
|
||||
CampaignReport.client.field.name,
|
||||
CampaignReport.message.field.name,
|
||||
CampaignReport.flagged_by_llm.field.name,
|
||||
)
|
||||
fields = (
|
||||
CampaignReport.id.field.name,
|
||||
CampaignReport.campaign.field.name,
|
||||
CampaignReport.client.field.name,
|
||||
CampaignReport.state.field.name,
|
||||
CampaignReport.message.field.name,
|
||||
CampaignReport.flagged_by_llm.field.name,
|
||||
)
|
||||
list_filter = (
|
||||
CampaignReport.state.field.name,
|
||||
CampaignReport.flagged_by_llm.field.name,
|
||||
)
|
||||
list_display = (
|
||||
"__str__",
|
||||
CampaignReport.flagged_by_llm.field.name,
|
||||
)
|
||||
|
||||
def has_add_permission(
|
||||
self, request: HttpRequest, obj: CampaignReport = None
|
||||
) -> bool:
|
||||
return False
|
||||
|
||||
|
||||
admin.site.register(Campaign, CampaignAdmin)
|
||||
admin.site.register(CampaignImpression, CampaignImpressionAdmin)
|
||||
admin.site.register(CampaignClick, CampaignClickAdmin)
|
||||
admin.site.register(CampaignReport, CampaignReportAdmin)
|
||||
Reference in New Issue
Block a user