Skip to content
Open
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
3 changes: 3 additions & 0 deletions TODO.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[] Check if Solr usermame/password passing is working
[] Check if email sending is working
[] Adjust buttons layout
6 changes: 4 additions & 2 deletions docker/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ services:
# build:
# context: ../
# dockerfile: ./docker/Dockerfile
container_name: sapl
# container_name: sapl
labels:
NAME: "sapl"
restart: always
Expand All @@ -53,7 +53,9 @@ services:
EMAIL_HOST_PASSWORD: senhasmtp
USE_SOLR: 'True'
SOLR_COLLECTION: sapl
SOLR_URL: http://solr:solr@saplsolr:8983
SOLR_URL: http://saplsolr:8983
SOLR_USER: solr
SOLR_PASSWORD: solr
IS_ZK_EMBEDDED: 'True'
ENABLE_SAPN: 'False'
TZ: America/Sao_Paulo
Expand Down
6 changes: 4 additions & 2 deletions drfautoapi/drfautoapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from django.db.models.fields.files import FileField
from django.db.models.fields.related import ManyToManyField
from django.template.defaultfilters import capfirst
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from django.urls import reverse
from django_filters.constants import ALL_FIELDS, EMPTY_VALUES
from django_filters.fields import ModelMultipleChoiceField
Expand Down Expand Up @@ -259,9 +259,11 @@ def import_modules(cls, modules):
def router(cls, router_class = DefaultRouter):
router = router_class()
for app, built_sets in cls._built_sets.items():
app_label = getattr(app, "label", app.name.split(".")[-1])
for model, viewset in built_sets.items():
router.register(
f'{app.label}/{model._meta.model_name}', viewset)
f'{app.label}/{model._meta.model_name}', viewset,
basename=f"{app_label}-{model._meta.model_name}")
return router

@classmethod
Expand Down
4 changes: 3 additions & 1 deletion requirements/dev-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@

autopep8==2.3.2
beautifulsoup4==4.13.5
django-debug-toolbar==3.2.4
django-debug-toolbar==4.4.0
ipdb==0.13.13
fancycompleter==0.11.1
pdbpp==0.11.7
pip-review==1.3.0
pipdeptree==2.28.0
# Keep this matched to your IDE build (see note below)
pydevd-pycharm~=203.7148.7

77 changes: 46 additions & 31 deletions requirements/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,44 +1,59 @@
django==2.2.28
django-haystack==3.1.1
django-filter==2.4.0
djangorestframework==3.12.4
django-braces==1.14.0
django-crispy-forms==1.7.2
django-contrib-postgres==0.0.1
django-extra-views==0.12.0
django-model-utils==3.1.2
django-extensions==2.1.4
django-image-cropping==1.2
django-waffle==3.0.0
django-webpack-loader==1.6.0
drf-spectacular==0.18.2
# Core
Django==4.2.24

# Search / API / Forms
django-haystack==3.3.0
django-filter==24.3
djangorestframework==3.15.2
drf-spectacular==0.28.0
django-crispy-forms==2.4
crispy-bootstrap4==2024.1

# DB / utils
dj-database-url==3.1.2
django-braces==1.17.0
django-extra-views==0.16.0
django-model-utils==4.3.1
django-extensions==3.2.3
django-ratelimit==3.0.1
easy-thumbnails==2.8.5
easy-thumbnails==2.9.0

# Images / files / PDF
django-image-cropping==1.7.0
Pillow==10.3.0
trml2pdf==0.6
weasyprint==66.0
PyPDF4==1.27.0
rlPyCairo==0.4.0

# Frontend integration
django-webpack-loader==1.6.0 # (works; keep unless you’re moving to webpack5 forks)

# Feature flags / misc
django-waffle==4.1.0
whitenoise==6.9.0

# Monitoring
django-prometheus==2.4.1

# Other deps from your list (unchanged unless you want to bump)
python-decouple==3.1
dj-database-url==0.5.0
psycopg2-binary==2.9.9
pyyaml==6.0.1
pytz==2019.3
# pytz is no longer required by Django; keep only if YOU use it directly:
# pytz==2024.1
python-magic==0.4.15
unipath==1.1
Pillow==10.3.0
reportlab==3.6.13
WeasyPrint==66
trml2pdf==0.6
gunicorn==23.0.0
gunicorn==22.0.0
more-itertools==8.2.0
pysolr==3.6.0
PyPDF4==1.27.0
#pyoai==2.5.1
git+https://github.com/infrae/pyoai@5ff2f15e869869e70d8139e4c37b7832854d7049
Unidecode==1.1.1
whitenoise==5.1.0
kazoo==2.8.0
django-prometheus==2.2.0

asn1crypto==1.5.1
XlsxWriter==3.2.0

setuptools==80.9.0

# Custom / VCS deps you already use
git+https://github.com/infrae/pyoai@5ff2f15e869869e70d8139e4c37b7832854d7049
git+https://github.com/interlegis/django-admin-bootstrapped

# REMOVE this old backport package completely (Django ships postgres contrib):
# django-contrib-postgres==0.0.1
22 changes: 13 additions & 9 deletions requirements/test-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
-r requirements.txt
coverage==7.6.1
django-webtest==1.9.8
flake8==7.1.1
isort==5.13.2
model-bakery==1.5.0
pycodestyle==2.12.1
pytest==8.3.3
pytest-cov==5.0.0
WebTest==3.0.6

# --- test/dev tools for Django 3.2 (Python 3.9) ---
coverage==7.10.5
django-webtest==1.9.12 # 1.9.13+ drops Django 3.x
flake8==7.3.0
isort==6.0.1
model-bakery==1.17.0 # 1.18+ requires Django >=4.2
pycodestyle==2.14.0 # replacement for deprecated "pep8"
pytest==8.4.1
pytest-cov==6.0.0
pytest-django==4.8.0 # 4.9.0+ drops Django 3.2
webtest==3.0.6

1 change: 0 additions & 1 deletion sapl/api/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +0,0 @@
default_app_config = 'sapl.api.apps.AppConfig'
2 changes: 1 addition & 1 deletion sapl/api/apps.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from django import apps
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _


class AppConfig(apps.AppConfig):
Expand Down
2 changes: 1 addition & 1 deletion sapl/api/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from django.db.models import Q
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from django_filters.filters import CharFilter, DateFilter, ModelChoiceFilter
from django_filters.filterset import FilterSet
from rest_framework import serializers
Expand Down
22 changes: 12 additions & 10 deletions sapl/api/urls.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
from django.conf.urls import include, url

from django.urls import include, path, re_path
from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView, \
SpectacularRedocView
from rest_framework.authtoken.views import obtain_auth_token

from sapl.api.deprecated import SessaoPlenariaViewSet
from sapl.api.views import recria_token, SaplApiViewSetConstrutor
from sapl.api.views import recria_token,\
SaplApiViewSetConstrutor

from .apps import AppConfig
from .views_health import HealthzView, ReadyzView


app_name = AppConfig.name

Expand All @@ -23,19 +25,19 @@
urlpatterns_router = router.urls

urlpatterns_api_doc = [
url('^schema/swagger-ui/',
re_path('^schema/swagger-ui/',
SpectacularSwaggerView.as_view(url_name='sapl.api:schema_api'),
name='swagger_ui_schema_api'),
url('^schema/redoc/',
re_path('^schema/redoc/',
SpectacularRedocView.as_view(url_name='sapl.api:schema_api'),
name='redoc_schema_api'),
url('^schema/', SpectacularAPIView.as_view(), name='schema_api'),
re_path('^schema/', SpectacularAPIView.as_view(), name='schema_api'),
]

urlpatterns = [
url(r'^api/', include(urlpatterns_api_doc)),
url(r'^api/', include(urlpatterns_router)),
path('api/', include(urlpatterns_api_doc)),
path('api/', include(urlpatterns_router)),

url(r'^api/auth/token$', obtain_auth_token),
url(r'^api/recriar-token/(?P<pk>\d*)$', recria_token, name="recria_token"),
path('api/auth/token', obtain_auth_token),
re_path(r'^api/recriar-token/(?P<pk>\d*)$', recria_token, name="recria_token"),
]
1 change: 0 additions & 1 deletion sapl/audiencia/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +0,0 @@
default_app_config = 'sapl.audiencia.apps.AppConfig'
2 changes: 1 addition & 1 deletion sapl/audiencia/apps.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from django import apps
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _


class AppConfig(apps.AppConfig):
Expand Down
2 changes: 1 addition & 1 deletion sapl/audiencia/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from django import forms
from django.core.exceptions import ObjectDoesNotExist, ValidationError
from django.db import transaction
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _

from crispy_forms.layout import Button, Column, Fieldset, HTML, Layout

Expand Down
2 changes: 1 addition & 1 deletion sapl/audiencia/models.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from django.db import models
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from model_utils import Choices
from sapl.materia.models import MateriaLegislativa
from sapl.parlamentares.models import (CargoMesa, Parlamentar)
Expand Down
2 changes: 1 addition & 1 deletion sapl/audiencia/tests/test_audiencia.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import pytest
import datetime
from model_bakery import baker
from django.utils.translation import ugettext as _
from django.utils.translation import gettext as _

from sapl.audiencia import forms
from sapl.audiencia.models import AnexoAudienciaPublica
Expand Down
4 changes: 2 additions & 2 deletions sapl/audiencia/urls.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
from django.conf.urls import include, url
from django.urls import include, path
from sapl.audiencia.views import (index, AudienciaCrud, AnexoAudienciaPublicaCrud)

from .apps import AppConfig

app_name = AppConfig.name

urlpatterns = [
url(r'^audiencia/', include(AudienciaCrud.get_urls() + AnexoAudienciaPublicaCrud.get_urls())),
path('audiencia/', include(AudienciaCrud.get_urls() + AnexoAudienciaPublicaCrud.get_urls())),
]
1 change: 0 additions & 1 deletion sapl/base/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +0,0 @@
default_app_config = 'sapl.base.apps.AppConfig'
2 changes: 1 addition & 1 deletion sapl/base/admin.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from django.contrib import admin
from django.shortcuts import redirect
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _

from sapl.base.models import AuditLog
from sapl.utils import register_all_models_in_admin
Expand Down
2 changes: 1 addition & 1 deletion sapl/base/apps.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import django
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _


class AppConfig(django.apps.AppConfig):
Expand Down
2 changes: 1 addition & 1 deletion sapl/base/email_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from sapl.protocoloadm.models import AcompanhamentoDocumento
from sapl.settings import EMAIL_SEND_USER
from sapl.utils import mail_service_configured
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _


def load_email_templates(templates, context={}):
Expand Down
2 changes: 1 addition & 1 deletion sapl/base/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from django.forms import Form, ModelForm
from django.utils import timezone
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
import django_filters
from haystack.forms import ModelSearchForm

Expand Down
4 changes: 2 additions & 2 deletions sapl/base/models.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
from django.contrib.postgres.fields.jsonb import JSONField
from django.db.models import JSONField
from django.core.cache import cache
from django.core.serializers.json import DjangoJSONEncoder
from django.db import models
from django.db.models.deletion import CASCADE
from django.db.models.signals import post_migrate
from django.db.utils import DEFAULT_DB_ALIAS
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _

from sapl.utils import (LISTA_DE_UFS, YES_NO_CHOICES,
get_settings_auth_user_model, models_with_gr_for_model)
Expand Down
2 changes: 1 addition & 1 deletion sapl/base/receivers.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from django.db.utils import DEFAULT_DB_ALIAS
from django.dispatch import receiver
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _

from sapl.base.email_utils import do_envia_email_tramitacao
from sapl.base.models import AuditLog, TipoAutor, Autor, Metadata
Expand Down
2 changes: 1 addition & 1 deletion sapl/base/templatetags/menus.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from django import template
from django.urls import reverse
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
import yaml


Expand Down
2 changes: 1 addition & 1 deletion sapl/base/tests/test_form.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import pytest
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _

from sapl.base.forms import CasaLegislativaForm

Expand Down
2 changes: 1 addition & 1 deletion sapl/base/tests/test_view_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from model_bakery import baker
import datetime
from django.urls import reverse
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import gettext_lazy as _
from model_bakery import baker

from sapl.base.models import Autor, TipoAutor
Expand Down
4 changes: 2 additions & 2 deletions sapl/base/tests/teststub_urls.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
from django.conf.urls import url
from django.urls import path
from django.views.generic.base import TemplateView

from sapl.urls import urlpatterns as original_patterns

ptrn = [url(r'^zzzz$',
ptrn = [path('zzzz',
TemplateView.as_view(
template_name='index.html'), name='zzzz')]
urlpatterns = original_patterns + ptrn
Loading
Loading