33from django .urls import include , path
44from django .utils .translation import gettext_lazy as _
55from wagtail import hooks
6- from wagtail_modeladmin .options import (
7- ModelAdmin ,
8- ModelAdminGroup ,
9- modeladmin_register ,
10- )
6+ from wagtail .snippets .models import register_snippet
7+ from wagtail .snippets .views .snippets import SnippetViewSet , SnippetViewSetGroup
118
129from article .views import (
1310 ArticleAdminInspectView ,
2623# from upload.tasks import get_or_create_package
2724
2825
29- class ArticleModelAdmin ( ModelAdmin ):
26+ class ArticleSnippetViewSet ( SnippetViewSet ):
3027 model = Article
31- menu_label = _ ("Tasks " )
32- create_view_class = ArticleCreateView
33- button_helper_class = ArticleButtonHelper
34- permission_helper_class = ArticlePermissionHelper
35- inspect_view_enabled = True
28+ menu_label = _ ("Articles " )
29+ # add_view_class = ArticleCreateView
30+ # button_helper_class = ArticleButtonHelper # Precisa adaptar para SnippetViewSet
31+ # permission_helper_class = ArticlePermissionHelper # Precisa adaptar para SnippetViewSet
32+ # inspect_view_enabled = True # Habilitado por padrão em SnippetViewSet
3633 inspect_view_class = ArticleAdminInspectView
3734 menu_icon = "doc-full"
3835 menu_order = get_menu_order ("article" )
3936 add_to_settings_menu = False
40- exclude_from_explorer = False
37+ # exclude_from_explorer = False # Não aplicável a SnippetViewSet
4138 list_per_page = 20
4239
4340 list_display = (
@@ -52,7 +49,7 @@ class ArticleModelAdmin(ModelAdmin):
5249 "updated" ,
5350 # "updated_by",
5451 )
55- list_filter = ("status" ,)
52+ list_filter = ("status" , "journal" )
5653 search_fields = (
5754 "sps_pkg__sps_pkg_name" ,
5855 "pid_v3" ,
@@ -62,35 +59,18 @@ class ArticleModelAdmin(ModelAdmin):
6259 "journal__official_journal__issn_electronic" ,
6360 "title_with_lang__text" ,
6461 )
65- inspect_view_fields = (
66- "created" ,
67- "updated" ,
68- "creator" ,
69- "updated_by" ,
70- "pid_v3" ,
71- # "pid_v2",
72- # "aop_pid",
73- "doi_with_lang" ,
74- "article_type" ,
75- "status" ,
76- "issue" ,
77- # "author",
78- # "title_with_lang",
79- "elocation_id" ,
80- "fpage" ,
81- "lpage" ,
82- )
62+ # inspect_view_fields não é usado em SnippetViewSet, use inspect_view_class customizada
8363
8464
85- class RelatedItemModelAdmin ( ModelAdmin ):
65+ class RelatedItemSnippetViewSet ( SnippetViewSet ):
8666 model = RelatedItem
8767 menu_label = _ ("Related items" )
88- create_view_class = RelatedItemCreateView
89- inspect_view_enabled = True
68+ add_view_class = RelatedItemCreateView
69+ # inspect_view_enabled = True # Habilitado por padrão
9070 menu_icon = "doc-full"
9171 menu_order = 200
9272 add_to_settings_menu = False
93- exclude_from_explorer = False
73+ # exclude_from_explorer = False # Não aplicável
9474
9575 list_display = (
9676 "item_type" ,
@@ -105,27 +85,19 @@ class RelatedItemModelAdmin(ModelAdmin):
10585 "target_article__issue" ,
10686 )
10787 search_fields = ("target_article__issue__journal_ISSNL" ,)
108- inspect_view_fields = (
109- "created" ,
110- "updated" ,
111- "creator" ,
112- "updated_by" ,
113- "item_type" ,
114- "source_article" ,
115- "target_article" ,
116- )
88+ # inspect_view_fields não é usado em SnippetViewSet
11789
11890
119- class RequestArticleChangeModelAdmin ( ModelAdmin ):
91+ class RequestArticleChangeSnippetViewSet ( SnippetViewSet ):
12092 model = RequestArticleChange
12193 menu_label = _ ("Changes request" )
122- button_helper_class = RequestArticleChangeButtonHelper
123- create_view_class = RequestArticleChangeCreateView
124- permission_helper_class = ArticlePermissionHelper
94+ # button_helper_class = RequestArticleChangeButtonHelper # Precisa adaptar
95+ add_view_class = RequestArticleChangeCreateView
96+ # permission_helper_class = ArticlePermissionHelper # Precisa adaptar
12597 menu_icon = "doc-full"
12698 menu_order = 200
12799 add_to_settings_menu = False
128- exclude_from_explorer = False
100+ # exclude_from_explorer = False # Não aplicável
129101
130102 list_display = (
131103 "creator" ,
@@ -143,25 +115,26 @@ class RequestArticleChangeModelAdmin(ModelAdmin):
143115 def get_queryset (self , request ):
144116 qs = super ().get_queryset (request )
145117
146- if self .permission_helper .user_can_make_article_change (request .user , None ):
147- return qs
118+ # Temporariamente comentado - precisa adaptar permission_helper para SnippetViewSet
119+ # if self.permission_helper.user_can_make_article_change(request.user, None):
120+ # return qs
148121
149122 return qs
150123
151124
152- class ArticleModelAdminGroup ( ModelAdminGroup ):
125+ class ArticleSnippetViewSetGroup ( SnippetViewSetGroup ):
153126 menu_label = _ ("Articles" )
154127 menu_icon = "folder-open-inverse"
155128 menu_order = get_menu_order ("article" )
156129 items = (
157- ArticleModelAdmin ,
158- # RelatedItemModelAdmin ,
159- # omitir temporariamente RequestArticleChangeModelAdmin ,
160- # ApprovedArticleModelAdmin ,
130+ ArticleSnippetViewSet ,
131+ # RelatedItemSnippetViewSet ,
132+ # omitir temporariamente RequestArticleChangeSnippetViewSet ,
133+ # ApprovedArticleSnippetViewSet ,
161134 )
162135
163136
164- modeladmin_register ( ArticleModelAdminGroup )
137+ register_snippet ( ArticleSnippetViewSetGroup )
165138
166139
167140@hooks .register ("register_admin_urls" )
0 commit comments