admin: полное и упорядоченное меню сайдбара (UNFOLD)

Навигация покрывает все админки (55 пунктов в 11 группах): Сотрудники,
Найм, Структура компании, Учёт посещений, IT-отдел, Эксплуатация (РРО/
счётчики/энергоактивы), Отчёты, Лента и задачи, База знаний, Mattermost
(вкл. Боты), Интеграции и настройки. Все ссылки проверены на reverse.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-09-16 16:32:44 +03:00
parent 704d5d9538
commit dd1a31b4dd
+186 -1
View File
@@ -263,6 +263,53 @@ UNFOLD = {
"icon": "shield_person",
"link": reverse_lazy("admin:auth_group_changelist"),
},
{
"title": "Группы разрешений",
"icon": "admin_panel_settings",
"link": reverse_lazy("admin:employees_permissiongroup_changelist"),
},
{
"title": "Индивидуальные права",
"icon": "key",
"link": reverse_lazy("admin:employees_employeepermissionoverride_changelist"),
},
{
"title": "Кадровые заявки",
"icon": "assignment_ind",
"link": reverse_lazy("admin:employees_employeehrrequest_changelist"),
},
{
"title": "Нормы отпусков",
"icon": "beach_access",
"link": reverse_lazy("admin:employees_leaveentitlement_changelist"),
},
{
"title": "Настройки по умолчанию",
"icon": "tune",
"link": reverse_lazy("admin:employees_employeedefaults_changelist"),
},
],
},
{
"title": "Найм",
"separator": True,
"collapsible": True,
"items": [
{
"title": "Заявки на найм",
"icon": "how_to_reg",
"link": reverse_lazy("admin:hiring_hiringrequest_changelist"),
},
{
"title": "Вакансии",
"icon": "work",
"link": reverse_lazy("admin:hiring_vacancy_changelist"),
},
{
"title": "Интерн-аккаунты",
"icon": "badge",
"link": reverse_lazy("admin:hiring_internaccount_changelist"),
},
],
},
{
@@ -290,6 +337,21 @@ UNFOLD = {
"icon": "category",
"link": reverse_lazy("admin:core_directorytype_changelist"),
},
{
"title": "Системы доступа",
"icon": "vpn_key",
"link": reverse_lazy("admin:core_accesssystem_changelist"),
},
{
"title": "Колонки дислокации",
"icon": "view_column",
"link": reverse_lazy("admin:locations_dislocationcolumnpreset_changelist"),
},
{
"title": "Видимость карточки аптеки",
"icon": "visibility",
"link": reverse_lazy("admin:locations_pharmacycardvisibility_changelist"),
},
],
},
{
@@ -322,6 +384,11 @@ UNFOLD = {
"icon": "calendar_month",
"link": reverse_lazy("admin:visit_manager_workschedule_changelist"),
},
{
"title": "События календаря",
"icon": "event",
"link": reverse_lazy("admin:visit_manager_calendarevent_changelist"),
},
{
"title": "Праздники",
"icon": "celebration",
@@ -339,6 +406,11 @@ UNFOLD = {
"icon": "computer",
"link": reverse_lazy("admin:it_manager_equipment_changelist"),
},
{
"title": "Модели оборудования",
"icon": "devices",
"link": reverse_lazy("admin:it_manager_equipmentmodel_changelist"),
},
{
"title": "Расходники",
"icon": "ink_eraser",
@@ -371,11 +443,109 @@ UNFOLD = {
},
],
},
{
"title": "Эксплуатация",
"separator": True,
"collapsible": True,
"items": [
{
"title": "Кассы РРО/ПРРО",
"icon": "point_of_sale",
"link": reverse_lazy("admin:rro_cashregister_changelist"),
},
{
"title": "Показания счётчиков",
"icon": "speed",
"link": reverse_lazy("admin:utilities_utilityreading_changelist"),
},
{
"title": "Настройки счётчиков",
"icon": "settings_input_component",
"link": reverse_lazy("admin:utilities_utilitymeterconfig_changelist"),
},
{
"title": "Энергооборудование",
"icon": "bolt",
"link": reverse_lazy("admin:power_assets_powerasset_changelist"),
},
{
"title": "Журнал обслуживания",
"icon": "construction",
"link": reverse_lazy("admin:power_assets_powerassetservice_changelist"),
},
],
},
{
"title": "Отчёты",
"separator": True,
"collapsible": True,
"items": [
{
"title": "Шаблоны отчётов",
"icon": "description",
"link": reverse_lazy("admin:reports_reporttemplate_changelist"),
},
{
"title": "Публикации отчётов",
"icon": "publish",
"link": reverse_lazy("admin:reports_reportpublication_changelist"),
},
{
"title": "Документы отчётов",
"icon": "folder_shared",
"link": reverse_lazy("admin:reports_reportdocument_changelist"),
},
],
},
{
"title": "Лента и задачи",
"separator": True,
"collapsible": True,
"items": [
{
"title": "Публикации",
"icon": "feed",
"link": reverse_lazy("admin:feed_post_changelist"),
},
{
"title": "Задачи",
"icon": "task_alt",
"link": reverse_lazy("admin:tasks_task_changelist"),
},
],
},
{
"title": "База знаний",
"separator": True,
"collapsible": True,
"items": [
{
"title": "Категории",
"icon": "folder",
"link": reverse_lazy("admin:help_helpcategory_changelist"),
},
{
"title": "Статьи",
"icon": "article",
"link": reverse_lazy("admin:help_helparticle_changelist"),
},
{
"title": "Предложения",
"icon": "lightbulb",
"link": reverse_lazy("admin:help_helpcontribution_changelist"),
},
],
},
{
"title": "Mattermost",
"separator": True,
"collapsible": True,
"items": [
{
"title": "Боты",
"icon": "smart_toy",
"link": reverse_lazy("admin:mattermost_connector_mattermostbot_changelist"),
},
{
"title": "Пользователи",
"icon": "chat",
@@ -404,7 +574,7 @@ UNFOLD = {
],
},
{
"title": "Настройки",
"title": "Интеграции и настройки",
"separator": True,
"collapsible": True,
"items": [
@@ -413,6 +583,21 @@ UNFOLD = {
"icon": "settings",
"link": reverse_lazy("admin:core_connectorconfig_changelist"),
},
{
"title": "Журнал AD",
"icon": "manage_accounts",
"link": reverse_lazy("admin:ad_connector_adsynclog_changelist"),
},
{
"title": "Журнал Carbonio",
"icon": "mail",
"link": reverse_lazy("admin:mail_connector_carboniosynclog_changelist"),
},
{
"title": "Журнал Nextcloud",
"icon": "cloud",
"link": reverse_lazy("admin:nextcloud_connector_nextcloudsynclog_changelist"),
},
],
},
],