diff --git a/sigi/apps/home/templates/menus/menu.html b/sigi/apps/home/templates/menus/menu.html index 7bac3ae..49fc6ed 100644 --- a/sigi/apps/home/templates/menus/menu.html +++ b/sigi/apps/home/templates/menus/menu.html @@ -1,6 +1,31 @@ {% load menus %} - +{% for menu in menu_items %} + {% if menu.children %} +
  • +
    + + {{ menu.title }} +
    +
    + {% for child in menu.children %} + {% if child.view_name %} + {% url child.view_name as item_url %} + + {{ child.title }} +
    + {% else %} +
    {{ child.title }}
    + {% endif %} + {% endfor %} + +
  • + {% else %} + {% url menu.view_name as item_url %} + +
  • + + {{ menu.title }} +
  • + + {% endif %} +{% endfor %} diff --git a/sigi/apps/home/templates/menus/menu_item.html b/sigi/apps/home/templates/menus/menu_item.html deleted file mode 100644 index 71f61e0..0000000 --- a/sigi/apps/home/templates/menus/menu_item.html +++ /dev/null @@ -1,17 +0,0 @@ -{% load menus %} - {% if menu_item.children %} - - {% else %} -
  • {{ menu_item.title }}
  • - {% endif %} diff --git a/sigi/apps/home/templatetags/menu_conf.yaml b/sigi/apps/home/templatetags/menu_conf.yaml deleted file mode 100644 index a230afd..0000000 --- a/sigi/apps/home/templatetags/menu_conf.yaml +++ /dev/null @@ -1,145 +0,0 @@ -main_menu: - - title: Municípios - children: - - title: Municípios - url: contatos/municipio/ - - title: Unidades Federativas - url: contatos/unidadefederativa/ - - title: Mesorregiões - url: contatos/mesorregiao/ - - title: Casas e órgãos - children: - - title: Todo legislativo - url: casas/orgao/?tipo__legislativo__exact=1 - - title: Câmaras Municipais - url: casas/orgao/?tipo__sigla__exact=CM - - title: Assembléias Legislativas - url: casas/orgao/?tipo__sigla__exact=AL - - title: Demais órgãos - url: casas/orgao/?tipo__legislativo__exact=0 - - title: Gerência Interlegis - children: - - title: Carteira de relacionamentos - url: casas/carteira - - title: Organizar relacionamentos - url: casas/portfolio/ - - title: Lista de gerentes - url: casas/gerentes/ - - title: Convênios - children: - - title: Convênios - url: convenios/convenio/ - - title: Planos diretores - url: metas/planodiretor/ - - title: Serviços SEIT - children: - - title: Casas atendidas - url: servicos/casaatendida/ - - title: Lista de serviços - url: servicos/servico/ - - title: Ocorrências - children: - - title: Painel de ocorrências - url: ocorrencias/painel/ - - title: Registro de ocorrências - url: ocorrencias/ocorrencia/?minhas=S&status__in=1,2 - - title: Eventos - children: - - title: Todos os eventos - url: eventos/evento/ - - title: Cursos - url: eventos/evento/?tipo_evento__categoria__exact=C - - title: Encontros - url: eventos/evento/?tipo_evento__categoria__exact=E - - title: Oficinas - url: eventos/evento/?tipo_evento__categoria__exact=O - - title: Seminários - url: eventos/evento/?tipo_evento__categoria__exact=S - - title: Visitas Interlegis - url: eventos/evento/?tipo_evento__categoria__exact=V - - title: Calendário mensal - url: eventos/calendario - - title: Alocação de equipe - url: eventos/alocacaoequipe/ - - title: Servidores - children: - - title: Serviços (unidades do ILB) - url: servidores/servico/ - - title: Servidores e colaboradores - url: servidores/servidor/ - - title: Tabelas auxiliares - children: - - title: Tipos de órgãos - url: casas/tipoorgao/ - - title: Acompanhamento convênios - url: convenios/statusconvenio/ - - title: Tipos de serviço SEIT - url: servicos/tiposervico/ - - title: Tipos de projeto - url: convenios/projeto/ - - title: Categorias de ocorrências - url: ocorrencias/categoria/ - - title: Tipos de contato - url: ocorrencias/tipocontato/ - - title: Tipos de evento - url: eventos/tipoevento/ - - title: Funções na equipe de eventos - url: eventos/funcao/ - - title: Modelos de declaração - url: eventos/modelodeclaracao/ - - -# Removidos - # - title: Legislaturas - # url: parlamentares/legislatura/ - # children: - # - title: Todas - # url: parlamentares/legislatura/ - # - title: Parlamentares - # url: parlamentares/parlamentar/ - # - title: Tabela de cargos - # url: parlamentares/cargo/ - # - title: Tabela de partidos - # url: parlamentares/partido/ - # - title: Diagnósticos - # url: diagnosticos/diagnostico/ - # children: - # - title: Administração - # url: diagnosticos/diagnostico/ - # - title: Coleta de dados - # url: diagnosticos/mobile/ - # - title: Gráficos e estatísticas - # url: diagnosticos/graficos - - # - title: Inventário - # url: inventario/bem/ - # children: - # - title: Bens - # url: inventario/bem/ - # - title: Fornecedores - # url: inventario/fornecedor/ - # - title: Equipamentos - # url: inventario/equipamento/ - # - title: Fabricantes - # url: inventario/fabricante/ - # - title: Tipos de equipamentos - # url: inventario/tipoequipamento/ - # - title: Modelos de equipamentos - # url: inventario/modeloequipamento/ - # - title: Servidores - # url: servidores/servidor/?user__is_active__exact=1 - # children: - # - title: Pessoal - # url: servidores/servidor/?user__is_active__exact=1 - # - title: Funções - # url: servidores/funcao - # - title: Férias - # url: servidores/ferias/ - # - title: Licenças - # url: servidores/licenca/ - - # - title: Financeiro - # url: financeiro/desembolso/ - # children: - # - title: Desembolsos - # url: financeiro/desembolso/ \ No newline at end of file diff --git a/sigi/apps/home/templatetags/menus.py b/sigi/apps/home/templatetags/menus.py index b99fbba..e418c59 100644 --- a/sigi/apps/home/templatetags/menus.py +++ b/sigi/apps/home/templatetags/menus.py @@ -1,23 +1,12 @@ -from os.path import dirname - import yaml from django import template - +from django.conf import settings register = template.Library() -menus = yaml.load( - open(dirname(__file__) + '/menu_conf.yaml', 'r'), - yaml.FullLoader -) +with open(settings.MENU_FILE, 'r') as menu_file: + menus = yaml.load(menu_file, yaml.FullLoader) @register.inclusion_tag('menus/menu.html', takes_context=True) def show_menu(context, menu_id): - base_url = context['request'].build_absolute_uri('/') - menus = yaml.load(open(dirname(__file__) + '/menu_conf.yaml', 'r')) - return dict(menu_items=menus[menu_id], base_url=base_url) - - -@register.inclusion_tag('menus/menu_item.html') -def show_menu_item(menu_item, base_url): - return dict(menu_item=menu_item, base_url=base_url) + return {'menu_items': menus[menu_id], 'request': context.request} diff --git a/sigi/settings/base.py b/sigi/settings/base.py index 1cb8448..824bc01 100644 --- a/sigi/settings/base.py +++ b/sigi/settings/base.py @@ -117,8 +117,8 @@ IMPORT_EXPORT_SKIP_ADMIN_LOG = True # https://github.com/MaistrenkoAnton/django-material-admin#django-material-administration MATERIAL_ADMIN_SITE = { - 'HEADER': _('SIGI'), - 'TITLE': _('SIGI - Sistema de Informações do Interlegis'), + 'HEADER': _('SIGI - Sistema de Informações do Interlegis'), + 'TITLE': _('SIGI'), 'FAVICON': 'img/favicon.ico', # 'MAIN_BG_COLOR': 'color', # Admin site main color, css color should be specified # 'MAIN_HOVER_COLOR': 'color', # Admin site main hover color, css color should be specified @@ -126,8 +126,8 @@ MATERIAL_ADMIN_SITE = { 'PROFILE_BG': 'img/engitec.jpeg', # Admin site profile background (path to static should be specified) 'LOGIN_LOGO': 'img/interlegis.jpeg', # Admin site logo on login page (path to static should be specified) 'LOGOUT_BG': 'img/engitec.jpeg', # Admin site background on login/logout pages (path to static should be specified) - 'SHOW_THEMES': True, # Show default admin themes button - 'TRAY_REVERSE': True, # Hide object-tools and additional-submit-line by default + 'SHOW_THEMES': False, # Show default admin themes button + 'TRAY_REVERSE': False, # Hide object-tools and additional-submit-line by default 'NAVBAR_REVERSE': True, # Hide side navbar by default # 'SHOW_COUNTS': True, # Show instances counts for each model # 'APP_ICONS': { # Set icons for applications(lowercase), including 3rd party apps, {'application_name': 'material_icon_name', ...} @@ -136,4 +136,8 @@ MATERIAL_ADMIN_SITE = { # 'MODEL_ICONS': { # Set icons for models(lowercase), including 3rd party models, {'model_name': 'material_icon_name', ...} # 'site': 'contact_mail', # } -} \ No newline at end of file +} + +# SIGI specific settings + +MENU_FILE = BASE_DIR / 'settings/menu_conf.yaml' \ No newline at end of file diff --git a/sigi/settings/menu_conf.yaml b/sigi/settings/menu_conf.yaml new file mode 100644 index 0000000..d0bc506 --- /dev/null +++ b/sigi/settings/menu_conf.yaml @@ -0,0 +1,108 @@ +main_menu: + - title: Municípios + icon: location_city + children: + - title: Municípios + view_name: admin:contatos_municipio_changelist + - title: Unidades Federativas + view_name: admin:contatos_unidadefederativa_changelist + - title: Mesorregiões + view_name: admin:contatos_mesorregiao_changelist + - title: Casas e órgãos + icon: account_balance + children: + - title: Todo legislativo + view_name: admin:casas_orgao_changelist + querystr: tipo__legislativo__exact=1 + - title: Câmaras Municipais + view_name: admin:casas_orgao_changelist + querystr: tipo__sigla__exact=CM + - title: Assembléias Legislativas + view_name: admin:casas_orgao_changelist + querystr: tipo__sigla__exact=AL + - title: Demais órgãos + view_name: admin:casas_orgao_changelist + querystr: tipo__legislativo__exact=0 + - title: Gerência Interlegis + icon: people + children: + - title: Carteira de relacionamentos + view_name: + - title: Organizar relacionamentos + view_name: + - title: Lista de gerentes + view_name: + - title: Convênios + icon: assignment + children: + - title: Convênios + view_name: admin:convenios_convenio_changelist + - title: Planos diretores + view_name: admin:metas_planodiretor_changelist + - title: Serviços SEIT + icon: cloud_done + children: + - title: Casas atendidas + view_name: admin:servicos_casaatendida_changelist + - title: Lista de serviços + view_name: admin:servicos_servico_changelist + - title: Ocorrências + icon: comment + children: + - title: Painel de ocorrências + view_name: + - title: Registro de ocorrências + view_name: admin:ocorrencias_ocorrencia_changelist + querystr: minhas=S&status__in=1,2 + - title: Eventos + icon: school + children: + - title: Todos os eventos + view_name: admin:eventos_evento_changelist + - title: Cursos + view_name: admin:eventos_evento_changelist + querystr: tipo_evento__categoria__exact=C + - title: Encontros + view_name: admin:eventos_evento_changelist + querystr: tipo_evento__categoria__exact=E + - title: Oficinas + view_name: admin:eventos_evento_changelist + querystr: tipo_evento__categoria__exact=O + - title: Seminários + view_name: admin:eventos_evento_changelist + querystr: tipo_evento__categoria__exact=S + - title: Visitas Interlegis + view_name: admin:eventos_evento_changelist + querystr: tipo_evento__categoria__exact=V + - title: Calendário mensal + view_name: + - title: Alocação de equipe + view_name: + - title: Servidores + icon: account_circle + children: + - title: Serviços (unidades do ILB) + view_name: admin:servidores_servico_changelist + - title: Servidores e colaboradores + view_name: admin:servidores_servidor_changelist + - title: Tabelas auxiliares + icon: settings + children: + - title: Tipos de órgãos + view_name: admin:casas_tipoorgao_changelist + - title: Acompanhamento convênios + view_name: admin:convenios_statusconvenio_changelist + - title: Tipos de serviço SEIT + view_name: admin:servicos_tiposervico_changelist + - title: Tipos de projeto + view_name: admin:convenios_projeto_changelist + - title: Categorias de ocorrências + view_name: admin:ocorrencias_categoria_changelist + - title: Tipos de contato + view_name: admin:ocorrencias_tipocontato_changelist + - title: Tipos de evento + view_name: admin:eventos_tipoevento_changelist + - title: Funções na equipe de eventos + view_name: admin:eventos_funcao_changelist + - title: Modelos de declaração + view_name: admin:eventos_modelodeclaracao_changelist diff --git a/sigi/templates/material/admin/index.html b/sigi/templates/material/admin/index.html new file mode 100644 index 0000000..9ab178a --- /dev/null +++ b/sigi/templates/material/admin/index.html @@ -0,0 +1,6 @@ +{% extends "admin/index.html" %} +{% load static %} + + {% block content %} + {% include 'sigi/snippets/dashboard.html' %} +{% endblock %} diff --git a/sigi/templates/material/admin/side_nav.html b/sigi/templates/material/admin/side_nav.html new file mode 100644 index 0000000..e124f80 --- /dev/null +++ b/sigi/templates/material/admin/side_nav.html @@ -0,0 +1,31 @@ +{% load i18n material menus %} + +
    + {% if not mobile %} + + {% endif %} + {% if available_apps %} + + {% else %} +
    +
    +
    +

    {% trans "You don't have permission to view or edit anything." %} +

    +
    +
    + {% endif %} +
    diff --git a/sigi/templates/sigi/snippets/dashboard.html b/sigi/templates/sigi/snippets/dashboard.html new file mode 100644 index 0000000..60af9ea --- /dev/null +++ b/sigi/templates/sigi/snippets/dashboard.html @@ -0,0 +1,46 @@ +{% load i18n %} + +
    +
    + {% if app_list %} + {% for app in app_list %} + + {% endfor %} + {% else %} +
    +
    +
    +

    {% trans "You don't have permission to view or edit anything." %}

    +
    +
    +
    + {% endif %} +
    +