Skip to content

Commit 37285e9

Browse files
committed
Reorganização do menu admin para Marcação e XML SPS
1 parent 73c3029 commit 37285e9

11 files changed

Lines changed: 124 additions & 43 deletions

File tree

config/menu.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
WAGTAIL_MENU_APPS_ORDER = [
2+
"sps_package_validation",
23
"markup_doc",
3-
"xml_manager",
4-
"reference",
4+
"scielo",
55
"tracker",
66
"model_ai",
77
"django_celery_beat",

core/wagtail_hooks.py

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import os
22

33
from django.db.models.signals import pre_save
4+
from django.urls import reverse
5+
from django.utils.translation import gettext_lazy as _
6+
from wagtail import hooks
7+
from wagtail.admin.menu import Menu, MenuItem, SubmenuMenuItem
48
from wagtail.images import get_image_model
59

610

@@ -14,3 +18,70 @@ def ensure_image_title(sender, instance, **kwargs):
1418

1519

1620
pre_save.connect(ensure_image_title, sender=get_image_model())
21+
22+
23+
@hooks.register("construct_main_menu")
24+
def group_wagtail_cms_menu_items(request, menu_items):
25+
cms_item_names = {"explorer", "images", "documents", "xml_sps"}
26+
menu_items[:] = [item for item in menu_items if item.name not in cms_item_names]
27+
cms_menu = Menu(
28+
items=[
29+
MenuItem(
30+
_("Páginas"),
31+
reverse("wagtailadmin_explore_root"),
32+
name="cms_pages",
33+
icon_name="doc-empty-inverse",
34+
order=100,
35+
),
36+
MenuItem(
37+
_("Imagens"),
38+
reverse("wagtailimages:index"),
39+
name="cms_images",
40+
icon_name="image",
41+
order=200,
42+
),
43+
MenuItem(
44+
_("Documentos"),
45+
reverse("wagtaildocs:index"),
46+
name="cms_documents",
47+
icon_name="doc-full-inverse",
48+
order=300,
49+
),
50+
]
51+
)
52+
menu_items.append(
53+
SubmenuMenuItem(
54+
_("Wagtail CMS"),
55+
cms_menu,
56+
icon_name="folder-open-inverse",
57+
name="wagtail_cms",
58+
order=800,
59+
)
60+
)
61+
settings_index = next(
62+
(index for index, item in enumerate(menu_items) if item.name == "settings"),
63+
None,
64+
)
65+
report_index = next(
66+
(index for index, item in enumerate(menu_items) if item.name == "reports"),
67+
None,
68+
)
69+
if settings_index is not None and report_index is not None:
70+
reports_item = menu_items.pop(report_index)
71+
if report_index < settings_index:
72+
settings_index -= 1
73+
menu_items.insert(settings_index + 1, reports_item)
74+
75+
76+
@hooks.register("construct_help_menu")
77+
def replace_help_menu_items(request, help_menu_items):
78+
help_menu_items[:] = [
79+
MenuItem(
80+
_("Wiki do projeto"),
81+
"https://github.com/scieloorg/markapi/wiki",
82+
name="project_wiki",
83+
icon_name="link-external",
84+
attrs={"target": "_blank", "rel": "noopener noreferrer"},
85+
order=100,
86+
)
87+
]
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
.custom-admin-logo {
22
display: block;
3-
max-height: 2.5rem;
3+
max-height: 4rem;
44
max-width: 100%;
55
width: auto;
66
height: auto;
77
}
88

99
.custom-admin-logo--login {
10-
max-height: 4rem;
10+
max-height: 5rem;
1111
margin: 0 auto;
1212
}
8.79 KB
Binary file not shown.

core_settings/wagtail_hooks.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
@hooks.register("insert_global_admin_css")
77
def admin_logo_css():
88
return format_html(
9-
'<link rel="stylesheet" href="{}">',
9+
'<link rel="stylesheet" href="{}"><link rel="icon" type="image/x-icon" href="{}">',
1010
static("core_settings/css/admin_logo.css"),
11+
static("core_settings/img/favicon.ico"),
1112
)

django_celery_beat/wagtail_hooks.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,8 @@ class TasksModelsAdminGroup(ModelAdminGroup):
190190
menu_label = _("Tarefas agendadas")
191191
menu_icon = "time"
192192
menu_order = get_menu_order("django_celery_beat")
193+
add_to_admin_menu = False
194+
add_to_settings_menu = True
193195
items = (
194196
PeriodicTaskAdmin,
195197
CrontabScheduleAdmin,

markup_doc/wagtail_hooks.py

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
from django.utils.translation import gettext_lazy as _
88
from wagtail import hooks
99
from wagtail.admin import messages
10-
from wagtail_modeladmin.options import ModelAdmin
1110
from wagtail.snippets.models import register_snippet
1211
from wagtail.snippets.views.snippets import (
1312
CreateView,
1413
EditView,
1514
SnippetViewSet,
1615
SnippetViewSetGroup,
1716
)
17+
from wagtail_modeladmin.options import ModelAdmin
1818

1919
from config.menu import get_menu_order
2020
from markup_doc import views
@@ -25,10 +25,13 @@
2525
ProcessStatus,
2626
UploadDocx,
2727
)
28-
29-
from markup_doc import views
3028
from markup_doc.sync_api import sync_collection_from_api
3129
from markup_doc.tasks import get_labels, task_sync_journals_from_api, update_xml
30+
from reference.wagtail_hooks import ReferenceModelViewSet
31+
from xml_manager.wagtail_hooks import (
32+
XMLDocumentHTMLSnippetViewSet,
33+
XMLDocumentPDFSnippetViewSet,
34+
)
3235

3336

3437
@hooks.register("register_admin_urls")
@@ -181,17 +184,39 @@ def index_view(self, request):
181184
return response
182185

183186

187+
class XMLSPSSnippetViewSetGroup(SnippetViewSetGroup):
188+
menu_name = "xml_sps"
189+
menu_label = _("XML SPS")
190+
menu_icon = "code"
191+
items = (
192+
MarkupXMLViewSet,
193+
XMLDocumentPDFSnippetViewSet,
194+
XMLDocumentHTMLSnippetViewSet,
195+
ReferenceModelViewSet,
196+
)
197+
198+
199+
class ScieloSnippetViewSetGroup(SnippetViewSetGroup):
200+
menu_name = "scielo"
201+
menu_label = _("SciELO")
202+
menu_icon = "folder-open-inverse"
203+
menu_order = get_menu_order("scielo")
204+
items = (
205+
CollectionModelViewSet,
206+
JournalModelViewSet,
207+
)
208+
209+
184210
class MarkupSnippetViewSetGroup(SnippetViewSetGroup):
185211
menu_name = "markup_doc"
186-
menu_label = _("Marcação editorial")
212+
menu_label = _("Marcação")
187213
menu_icon = "edit"
188214
menu_order = get_menu_order("markup_doc")
189215
items = (
190-
CollectionModelViewSet,
191-
JournalModelViewSet,
192216
UploadDocxViewSet,
193-
MarkupXMLViewSet,
217+
XMLSPSSnippetViewSetGroup,
194218
)
195219

196220

221+
register_snippet(ScieloSnippetViewSetGroup)
197222
register_snippet(MarkupSnippetViewSetGroup)

model_ai/wagtail_hooks.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ class LlamaModelViewSet(SnippetViewSet):
9292
menu_icon = "cog"
9393
menu_order = get_menu_order("model_ai")
9494
exclude_from_explorer = False
95-
add_to_admin_menu = True
95+
add_to_admin_menu = False
96+
add_to_settings_menu = True
9697
list_per_page = 20
9798
list_display = ("display_name_model", "get_download_status_display")
9899

reference/wagtail_hooks.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Third-party imports
22
from django.http import HttpResponseRedirect
33
from django.utils.translation import gettext_lazy as _
4-
from wagtail.snippets.models import register_snippet
54
from wagtail.snippets.views.snippets import CreateView, SnippetViewSet
65

76
# Local application imports
@@ -41,7 +40,4 @@ class ReferenceModelViewSet(SnippetViewSet):
4140
menu_order = get_menu_order("reference")
4241
exclude_from_explorer = False
4342
list_per_page = 20
44-
add_to_admin_menu = True
45-
46-
47-
register_snippet(ReferenceModelViewSet)
43+
add_to_admin_menu = False

tracker/wagtail_hooks.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ class EventModelAdminGroup(ModelAdminGroup):
7878
menu_icon = "history"
7979
menu_label = _("Rastreio de eventos")
8080
menu_order = get_menu_order("tracker")
81+
add_to_admin_menu = False
82+
add_to_settings_menu = True
8183
items = (GeneralEventModelAdmin, XMLDocumentEventModelAdmin)
8284

8385

0 commit comments

Comments
 (0)