Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions config/menu.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
WAGTAIL_MENU_APPS_ORDER = [
"sps_package_validation",
"markup_doc",
"xml_manager",
"reference",
"scielo",
"tracker",
"model_ai",
"django_celery_beat",
Expand Down
71 changes: 71 additions & 0 deletions core/wagtail_hooks.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import os

from django.db.models.signals import pre_save
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
from wagtail import hooks
from wagtail.admin.menu import Menu, MenuItem, SubmenuMenuItem
from wagtail.images import get_image_model


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


pre_save.connect(ensure_image_title, sender=get_image_model())


@hooks.register("construct_main_menu")
def group_wagtail_cms_menu_items(request, menu_items):
cms_item_names = {"explorer", "images", "documents", "xml_sps"}
menu_items[:] = [item for item in menu_items if item.name not in cms_item_names]
cms_menu = Menu(
items=[
MenuItem(
_("Páginas"),
reverse("wagtailadmin_explore_root"),
name="cms_pages",
icon_name="doc-empty-inverse",
order=100,
),
MenuItem(
_("Imagens"),
reverse("wagtailimages:index"),
name="cms_images",
icon_name="image",
order=200,
),
MenuItem(
_("Documentos"),
reverse("wagtaildocs:index"),
name="cms_documents",
icon_name="doc-full-inverse",
order=300,
),
]
)
menu_items.append(
SubmenuMenuItem(
_("Wagtail CMS"),
cms_menu,
icon_name="folder-open-inverse",
name="wagtail_cms",
order=800,
)
)
settings_index = next(
(index for index, item in enumerate(menu_items) if item.name == "settings"),
None,
)
report_index = next(
(index for index, item in enumerate(menu_items) if item.name == "reports"),
None,
)
if settings_index is not None and report_index is not None:
reports_item = menu_items.pop(report_index)
if report_index < settings_index:
settings_index -= 1
menu_items.insert(settings_index + 1, reports_item)


@hooks.register("construct_help_menu")
def replace_help_menu_items(request, help_menu_items):
help_menu_items[:] = [
MenuItem(
_("Wiki do projeto"),
"https://github.com/scieloorg/markapi/wiki",
name="project_wiki",
icon_name="link-external",
attrs={"target": "_blank", "rel": "noopener noreferrer"},
order=100,
)
]
4 changes: 2 additions & 2 deletions core_settings/static/core_settings/css/admin_logo.css
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
.custom-admin-logo {
display: block;
max-height: 2.5rem;
max-height: 4rem;
max-width: 100%;
width: auto;
height: auto;
}

.custom-admin-logo--login {
max-height: 4rem;
max-height: 5rem;
margin: 0 auto;
}
Binary file not shown.
3 changes: 2 additions & 1 deletion core_settings/wagtail_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
@hooks.register("insert_global_admin_css")
def admin_logo_css():
return format_html(
'<link rel="stylesheet" href="{}">',
'<link rel="stylesheet" href="{}"><link rel="icon" type="image/x-icon" href="{}">',
static("core_settings/css/admin_logo.css"),
static("core_settings/img/favicon.ico"),
)
2 changes: 2 additions & 0 deletions django_celery_beat/wagtail_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,8 @@ class TasksModelsAdminGroup(ModelAdminGroup):
menu_label = _("Tarefas agendadas")
menu_icon = "time"
menu_order = get_menu_order("django_celery_beat")
add_to_admin_menu = False
add_to_settings_menu = True
items = (
PeriodicTaskAdmin,
CrontabScheduleAdmin,
Expand Down
39 changes: 32 additions & 7 deletions markup_doc/wagtail_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
from django.utils.translation import gettext_lazy as _
from wagtail import hooks
from wagtail.admin import messages
from wagtail_modeladmin.options import ModelAdmin
from wagtail.snippets.models import register_snippet
from wagtail.snippets.views.snippets import (
CreateView,
EditView,
SnippetViewSet,
SnippetViewSetGroup,
)
from wagtail_modeladmin.options import ModelAdmin

from config.menu import get_menu_order
from markup_doc import views
Expand All @@ -25,10 +25,13 @@
ProcessStatus,
UploadDocx,
)

from markup_doc import views
from markup_doc.sync_api import sync_collection_from_api
from markup_doc.tasks import get_labels, task_sync_journals_from_api, update_xml
from reference.wagtail_hooks import ReferenceModelViewSet
from xml_manager.wagtail_hooks import (
XMLDocumentHTMLSnippetViewSet,
XMLDocumentPDFSnippetViewSet,
)


@hooks.register("register_admin_urls")
Expand Down Expand Up @@ -181,17 +184,39 @@ def index_view(self, request):
return response


class XMLSPSSnippetViewSetGroup(SnippetViewSetGroup):
menu_name = "xml_sps"
menu_label = _("XML SPS")
menu_icon = "code"
items = (
MarkupXMLViewSet,
XMLDocumentPDFSnippetViewSet,
XMLDocumentHTMLSnippetViewSet,
ReferenceModelViewSet,
)


class ScieloSnippetViewSetGroup(SnippetViewSetGroup):
menu_name = "scielo"
menu_label = _("SciELO")
menu_icon = "folder-open-inverse"
menu_order = get_menu_order("scielo")
items = (
CollectionModelViewSet,
JournalModelViewSet,
)


class MarkupSnippetViewSetGroup(SnippetViewSetGroup):
menu_name = "markup_doc"
menu_label = _("Marcação editorial")
menu_label = _("Marcação")
menu_icon = "edit"
menu_order = get_menu_order("markup_doc")
items = (
CollectionModelViewSet,
JournalModelViewSet,
UploadDocxViewSet,
MarkupXMLViewSet,
XMLSPSSnippetViewSetGroup,
)


register_snippet(ScieloSnippetViewSetGroup)
register_snippet(MarkupSnippetViewSetGroup)
3 changes: 2 additions & 1 deletion model_ai/wagtail_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,8 @@ class LlamaModelViewSet(SnippetViewSet):
menu_icon = "cog"
menu_order = get_menu_order("model_ai")
exclude_from_explorer = False
add_to_admin_menu = True
add_to_admin_menu = False
add_to_settings_menu = True
list_per_page = 20
list_display = ("display_name_model", "get_download_status_display")

Expand Down
6 changes: 1 addition & 5 deletions reference/wagtail_hooks.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Third-party imports
from django.http import HttpResponseRedirect
from django.utils.translation import gettext_lazy as _
from wagtail.snippets.models import register_snippet
from wagtail.snippets.views.snippets import CreateView, SnippetViewSet

# Local application imports
Expand Down Expand Up @@ -41,7 +40,4 @@ class ReferenceModelViewSet(SnippetViewSet):
menu_order = get_menu_order("reference")
exclude_from_explorer = False
list_per_page = 20
add_to_admin_menu = True


register_snippet(ReferenceModelViewSet)
add_to_admin_menu = False
2 changes: 2 additions & 0 deletions tracker/wagtail_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ class EventModelAdminGroup(ModelAdminGroup):
menu_icon = "history"
menu_label = _("Rastreio de eventos")
menu_order = get_menu_order("tracker")
add_to_admin_menu = False
add_to_settings_menu = True
items = (GeneralEventModelAdmin, XMLDocumentEventModelAdmin)


Expand Down
33 changes: 8 additions & 25 deletions xml_manager/wagtail_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,7 @@
from wagtail.admin.ui.tables import Column
from wagtail.admin.widgets.button import Button
from wagtail.snippets.models import register_snippet
from wagtail.snippets.views.snippets import (
CreateView,
EditView,
SnippetViewSet,
SnippetViewSetGroup,
)
from wagtail.snippets.views.snippets import CreateView, EditView, SnippetViewSet

from config.menu import get_menu_order

Expand Down Expand Up @@ -161,7 +156,7 @@ class XMLDocumentPDFSnippetViewSet(SnippetViewSet):
verbose_name_plural = _("XML Document PDFs")
icon = "doc-full"
menu_name = "xml_manager"
menu_label = _("PDF derivados")
menu_label = _("PDFs derivados")
menu_icon = "doc-full"
add_to_admin_menu = False

Expand All @@ -182,7 +177,7 @@ class XMLDocumentHTMLSnippetViewSet(SnippetViewSet):
verbose_name_plural = _("XML Document HTMLs")
icon = "doc-full"
menu_name = "xml_manager"
menu_label = _("HTML derivados")
menu_label = _("HTMLs derivados")
menu_icon = "doc-full-inverse"
add_to_admin_menu = False

Expand All @@ -202,12 +197,13 @@ class SPSPackageValidationSnippetViewSet(SnippetViewSet):
edit_view_class = SPSPackageValidationEditView
copy_view_enabled = False
verbose_name = _("SPS package validation")
verbose_name_plural = _("Validar pacote SPS")
verbose_name_plural = _("Validar SPS")
icon = "sps-package-validation"
menu_name = "sps_package_validation"
menu_label = _("Validar pacote SPS")
menu_label = _("Validar SPS")
menu_icon = "sps-package-validation"
add_to_admin_menu = False
add_to_admin_menu = True
menu_order = get_menu_order("sps_package_validation")

list_display = (
"__str__",
Expand All @@ -224,20 +220,7 @@ class SPSPackageValidationSnippetViewSet(SnippetViewSet):
search_fields = ("package_document__title",)


class XMLDocumentSnippetViewSetGroup(SnippetViewSetGroup):
menu_name = "xml_manager"
menu_label = _("Gestão de XML")
menu_icon = "code"
menu_order = get_menu_order("xml_manager")
items = (
XMLDocumentSnippetViewSet,
XMLDocumentPDFSnippetViewSet,
XMLDocumentHTMLSnippetViewSet,
SPSPackageValidationSnippetViewSet,
)


register_snippet(XMLDocumentSnippetViewSetGroup)
register_snippet(SPSPackageValidationSnippetViewSet)


@hooks.register("register_icons")
Expand Down
Loading