Reapply "newplan phase 2"

This reverts commit 9149281c1c.
This commit is contained in:
alorig
2025-12-15 01:38:36 +05:00
parent 9149281c1c
commit 93ecb5ceb8
5 changed files with 386 additions and 230 deletions

View File

@@ -1,6 +1,12 @@
from django.contrib import admin
from django.contrib import messages
from unfold.admin import ModelAdmin
from unfold.contrib.filters.admin import (
RangeDateFilter,
RangeNumericFilter,
RelatedDropdownFilter,
ChoicesDropdownFilter,
)
from igny8_core.admin.base import SiteSectorAdminMixin
from .models import Keywords, Clusters, ContentIdeas
from import_export.admin import ExportMixin
@@ -19,7 +25,13 @@ class KeywordsResource(resources.ModelResource):
@admin.register(Clusters)
class ClustersAdmin(SiteSectorAdminMixin, ModelAdmin):
list_display = ['name', 'site', 'sector', 'keywords_count', 'volume', 'status', 'created_at']
list_filter = ['status', 'site', 'sector']
list_filter = [
('status', ChoicesDropdownFilter),
('site', RelatedDropdownFilter),
('sector', RelatedDropdownFilter),
('volume', RangeNumericFilter),
('created_at', RangeDateFilter),
]
search_fields = ['name']
ordering = ['name']
autocomplete_fields = ['site', 'sector']
@@ -44,8 +56,17 @@ class ClustersAdmin(SiteSectorAdminMixin, ModelAdmin):
class KeywordsAdmin(ExportMixin, SiteSectorAdminMixin, ModelAdmin):
resource_class = KeywordsResource
list_display = ['keyword', 'seed_keyword', 'site', 'sector', 'cluster', 'volume', 'difficulty', 'intent', 'status', 'created_at']
list_filter = ['status', 'seed_keyword__intent', 'site', 'sector', 'seed_keyword__industry', 'seed_keyword__sector']
search_fields = ['seed_keyword__keyword']
list_filter = [
('status', ChoicesDropdownFilter),
('intent', ChoicesDropdownFilter),
('site', RelatedDropdownFilter),
('sector', RelatedDropdownFilter),
('cluster', RelatedDropdownFilter),
('volume', RangeNumericFilter),
('difficulty', RangeNumericFilter),
('created_at', RangeDateFilter),
]
search_fields = ['keyword', 'seed_keyword__keyword']
ordering = ['-created_at']
autocomplete_fields = ['cluster', 'site', 'sector', 'seed_keyword']
actions = [
@@ -133,7 +154,16 @@ class KeywordsAdmin(ExportMixin, SiteSectorAdminMixin, ModelAdmin):
@admin.register(ContentIdeas)
class ContentIdeasAdmin(SiteSectorAdminMixin, ModelAdmin):
list_display = ['idea_title', 'site', 'sector', 'description_preview', 'content_type', 'content_structure', 'status', 'keyword_cluster', 'estimated_word_count', 'created_at']
list_filter = ['status', 'content_type', 'content_structure', 'site', 'sector']
list_filter = [
('status', ChoicesDropdownFilter),
('content_type', ChoicesDropdownFilter),
('content_structure', ChoicesDropdownFilter),
('site', RelatedDropdownFilter),
('sector', RelatedDropdownFilter),
('keyword_cluster', RelatedDropdownFilter),
('estimated_word_count', RangeNumericFilter),
('created_at', RangeDateFilter),
]
search_fields = ['idea_title', 'target_keywords', 'description']
ordering = ['-created_at']
readonly_fields = ['created_at', 'updated_at']