Browse Source

Fix(Sistema): Corrige variável DEBUG e menu Sistema sem links

- Renomeia DEBUG para DJANGO_DEBUG nos docker-compose de dev,
  alinhando com o que settings.py espera via python-decouple
- Corrige bug em menus.py onde itens com check_permission tinham
  a URL limpa mesmo quando o usuário possuía a permissão,
  causando o menu Sistema vazio

Signed-off-by: rangelbruno <rangelbruno@users.noreply.github.com>
pull/3858/head
rangelbruno 7 months ago
parent
commit
b3cd80948b
  1. 2
      docker/docker-compose-dev-db.yml
  2. 2
      docker/docker-compose-dev.yml
  3. 20
      sapl/base/templatetags/menus.py

2
docker/docker-compose-dev-db.yml

@ -26,7 +26,7 @@ services:
- "8002:8000" - "8002:8000"
environment: environment:
SECRET_KEY: '$dkhxm-$zvxdox$g2-&w^1i!_z1juq0xwox6e3#gy6w_88!3t^' SECRET_KEY: '$dkhxm-$zvxdox$g2-&w^1i!_z1juq0xwox6e3#gy6w_88!3t^'
DEBUG: 'True' DJANGO_DEBUG: 'True'
DATABASE_URL: postgresql://sapl:sapl@sapldb-dev:5432/sapl DATABASE_URL: postgresql://sapl:sapl@sapldb-dev:5432/sapl
TZ: America/Sao_Paulo TZ: America/Sao_Paulo
ONLYOFFICE_URL: 'https://onlyoffice.legisinc.com.br' ONLYOFFICE_URL: 'https://onlyoffice.legisinc.com.br'

2
docker/docker-compose-dev.yml

@ -14,7 +14,7 @@ services:
- "8000:8000" - "8000:8000"
environment: environment:
SECRET_KEY: '$dkhxm-$zvxdox$g2-&w^1i!_z1juq0xwox6e3#gy6w_88!3t^' SECRET_KEY: '$dkhxm-$zvxdox$g2-&w^1i!_z1juq0xwox6e3#gy6w_88!3t^'
DEBUG: 'True' DJANGO_DEBUG: 'True'
DATABASE_URL: postgresql://sapl:sapl@host.docker.internal:5432/sapl DATABASE_URL: postgresql://sapl:sapl@host.docker.internal:5432/sapl
TZ: America/Sao_Paulo TZ: America/Sao_Paulo
ONLYOFFICE_URL: 'http://onlyoffice:80' ONLYOFFICE_URL: 'http://onlyoffice:80'

20
sapl/base/templatetags/menus.py

@ -125,9 +125,6 @@ def resolve_urls_inplace(menu, pk, rm, context):
if not req or not req.user.has_perm(menu['check_permission']): if not req or not req.user.has_perm(menu['check_permission']):
return '' return ''
menu['url'] = ''
menu['active'] = ''
else:
if '/' in url_name: if '/' in url_name:
pass pass
elif ':' in url_name: elif ':' in url_name:
@ -138,20 +135,6 @@ def resolve_urls_inplace(menu, pk, rm, context):
menu['url'] = reverse('%s' % menu['url'], menu['url'] = reverse('%s' % menu['url'],
kwargs={'pk': pk}) kwargs={'pk': pk})
except: except:
# tem que ser root_pk pois quando está sendo
# renderizado um detail, update, delete
# e ainda sim é necessário colocar o menu,
# nestes, casos o pk da url é do detail, e não
# do master, porém, os menus do subnav, apontam para
# outras áreas que as urls destas são construídas
# com pk do master, e não do detail... por isso
# no contexto deve ter, ou root_pk, ou object
# sendo que qualquer um dos dois,deverá ser o
# master.
# Estes detalhes são relevantes quando usa-se
# o menu isolado. Por outro lado, quando usado
# conjuntamente com o crud, este configura o contexto
# como se deve para o menus.py
log = """ log = """
Erro na construção do Menu: Erro na construção do Menu:
menu: {} menu: {}
@ -163,7 +146,6 @@ def resolve_urls_inplace(menu, pk, rm, context):
""".format(menu['title'], menu['url']) """.format(menu['title'], menu['url'])
logger.error(log) logger.error(log)
raise Exception(log) raise Exception(log)
else: else:
try: try:
menu['url'] = reverse('%s:%s' % ( menu['url'] = reverse('%s:%s' % (
@ -184,8 +166,6 @@ def resolve_urls_inplace(menu, pk, rm, context):
logger.error(log) logger.error(log)
raise Exception(log) raise Exception(log)
#menu['active'] = 'active'\
#if context['request'].path == menu['url'] else ''
req = context.get('request') req = context.get('request')
menu['active'] = 'active' if req and req.path == menu['url'] else '' menu['active'] = 'active' if req and req.path == menu['url'] else ''

Loading…
Cancel
Save