diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-06-18 18:41:21 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-07-21 15:07:41 +0200 |
commit | a943717c1adf586d3f59ad35608dbbf306ab45eb (patch) | |
tree | f836cb832551cd1604dff2c99a42cb59ccb8adf7 | |
parent | 3e1baf5804b27cb84c5db0121d6352d5b80a1535 (diff) | |
download | Ishtar-a943717c1adf586d3f59ad35608dbbf306ab45eb.tar.bz2 Ishtar-a943717c1adf586d3f59ad35608dbbf306ab45eb.zip |
♻️ django 3.2 deprecation: url -> re_path ; ugettext_lazy -> gettext_lazy
68 files changed, 547 insertions, 550 deletions
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py index 11d4cbbb1..4ecb40386 100644 --- a/archaeological_context_records/forms.py +++ b/archaeological_context_records/forms.py @@ -29,7 +29,7 @@ from django import forms from django.conf import settings from django.core import validators from django.forms.formsets import formset_factory -from ishtar_common.utils import get_current_profile, ugettext_lazy as _ +from ishtar_common.utils import get_current_profile, gettext_lazy as _ from ishtar_common.models import ( Area, diff --git a/archaeological_context_records/ishtar_menu.py b/archaeological_context_records/ishtar_menu.py index 13fe18db4..820630baf 100644 --- a/archaeological_context_records/ishtar_menu.py +++ b/archaeological_context_records/ishtar_menu.py @@ -17,7 +17,7 @@ # See the file COPYING for details. -from ishtar_common.utils import ugettext_lazy as _ +from ishtar_common.utils import gettext_lazy as _ from ishtar_common.menu_base import SectionItem, MenuItem diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index 9be9789d9..8c312d5f7 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -30,7 +30,7 @@ from django.db.models import Q from django.db.models.signals import post_delete, post_save, m2m_changed from django.urls import reverse, reverse_lazy -from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy, pgettext +from ishtar_common.utils import gettext_lazy as _, pgettext_lazy, pgettext from django.utils.text import slugify from ishtar_common.utils import ( diff --git a/archaeological_context_records/urls.py b/archaeological_context_records/urls.py index 17c4dc419..bb06e9945 100644 --- a/archaeological_context_records/urls.py +++ b/archaeological_context_records/urls.py @@ -17,8 +17,7 @@ # See the file COPYING for details. -from django.conf.urls import url -from django.urls import path +from django.urls import path, re_path from ishtar_common.utils import check_permissions from ishtar_common.views import QALinkView @@ -29,7 +28,7 @@ from archaeological_context_records import models, views, views_api # forms urlpatterns = [ # Context records - url( + re_path( r"record_search/(?P<step>.+)?$", check_permissions(["archaeological_context_records.view_contextrecord", "archaeological_context_records.view_own_contextrecord"])( @@ -37,7 +36,7 @@ urlpatterns = [ ), name="record_search", ), - url( + re_path( r"contextrecord_search/(?P<step>.+)?$", check_permissions(["archaeological_context_records.view_contextrecord", "archaeological_context_records.view_own_contextrecord"])( @@ -45,14 +44,14 @@ urlpatterns = [ ), name="contextrecord_search", ), - url( + re_path( r"record_creation/(?P<step>.+)?$", check_permissions(["archaeological_context_records.add_contextrecord"])( views.record_creation_wizard ), name="record_creation", ), - url( + re_path( r"record_modification/(?P<step>.+)?$", check_permissions(["archaeological_context_records.change_contextrecord", "archaeological_context_records.change_own_contextrecord"])( @@ -60,8 +59,8 @@ urlpatterns = [ ), name="record_modification", ), - url(r"record_modify/(?P<pk>.+)/$", views.record_modify, name="record_modify"), - url( + re_path(r"record_modify/(?P<pk>.+)/$", views.record_modify, name="record_modify"), + re_path( r"record_deletion/(?P<step>.+)?$", check_permissions(["archaeological_context_records.change_contextrecord", "archaeological_context_records.change_own_contextrecord"])( @@ -69,92 +68,92 @@ urlpatterns = [ ), name="record_deletion", ), - url( + re_path( r"record_delete/(?P<pk>.+)/$", views.record_delete, name="delete-contextrecord" ), - url( + re_path( r"autocomplete-contextrecord/$", views.autocomplete_contextrecord, name="autocomplete-contextrecord", ), - url( + re_path( r"show-contextrecord(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_contextrecord, name=models.ContextRecord.SHOW_URL, ), # show-contextrecordrelation is only a view the id point to a context record - url( + re_path( r"show-contextrecord(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_contextrecord, name="show-contextrecordrelation", ), - url( + re_path( r"show-historized-contextrecord/(?P<pk>.+)?/(?P<date>.+)?$", views.show_contextrecord, name="show-historized-contextrecord", ), - url( + re_path( r"revert-contextrecord/(?P<pk>.+)/(?P<date>.+)$", views.revert_contextrecord, name="revert-contextrecord", ), - url( + re_path( r"generate-relation-image-contextrecord/(?P<pk>.+)/(" r"?P<type>(below)|(above)|(full))?", views.GenerateRelationImage.as_view(), name="generate-relation-image-contextrecord", ), - url( + re_path( r"get-contextrecord/own/(?P<type>.+)?$", views.get_contextrecord, name="get-own-contextrecord", kwargs={"force_own": True}, ), - url( + re_path( r"get-contextrecord/(?P<type>.+)?$", views.get_contextrecord, name="get-contextrecord", ), - url( + re_path( r"get-contextrecord-for-ope/own/(?P<type>.+)?$", views.get_contextrecord_for_ope, name="get-own-contextrecord-for-ope", kwargs={"force_own": True}, ), - url( + re_path( r"get-contextrecord-for-ope/(?P<type>.+)?$", views.get_contextrecord_for_ope, name="get-contextrecord-for-ope", ), - url( + re_path( r"get-contextrecord-full/own/(?P<type>.+)?$", views.get_contextrecord, name="get-own-contextrecord-full", kwargs={"full": True, "force_own": True}, ), - url( + re_path( r"get-contextrecord-full/(?P<type>.+)?$", views.get_contextrecord, name="get-contextrecord-full", kwargs={"full": True}, ), - url( + re_path( r"get-contextrecord-shortcut/(?P<type>.+)?$", views.get_contextrecord, name="get-contextrecord-shortcut", kwargs={"full": "shortcut"}, ), - url( + re_path( r"get-contextrecordrelation/(?P<type>.+)?$", views.get_contextrecordrelation, name="get-contextrecordrelation", ), - url( + re_path( r"get-contextrecordrelationdetail/(?P<type>.+)?$", views.get_contextrecordrelationdetail, name="get-contextrecordrelationdetail", ), - url( + re_path( r"^context-record-relations-modify/(?P<pk>.+)/$", check_permissions(["archaeological_context_records.change_contextrecord", "archaeological_context_records.change_own_contextrecord"])( @@ -162,26 +161,26 @@ urlpatterns = [ ), name="context-record-relation-modify", ), - url( + re_path( r"^operation-qa-contextrecord/(?P<pks>[0-9]+)/$", check_permissions(["archaeological_context_records.add_contextrecord"])( views.QAOperationContextRecordView.as_view() ), name="operation-qa-contextrecord", ), - url( + re_path( r"^contextrecord-qa-lock/(?P<pks>[0-9-]+)?/$", views.QAContextRecordLockView.as_view(), name="contextrecord-qa-lock", kwargs={"model": models.ContextRecord}, ), - url( + re_path( r"^contextrecord-qa-link/(?P<pks>[0-9-]+)?/$", QALinkView.as_view(), name="contextrecord-qa-link", kwargs={"model": models.ContextRecord, "url": "contextrecord-qa-link"}, ), - url( + re_path( r"^contextrecord-qa-duplicate/(?P<pks>[0-9-]+)?/$", check_permissions(["archaeological_context_records.change_contextrecord", "archaeological_context_records.change_own_contextrecord"])( @@ -189,7 +188,7 @@ urlpatterns = [ ), name="contextrecord-qa-duplicate", ), - url( + re_path( r"^contextrecord-qa-bulk-update/(?P<pks>[0-9-]+)?/$", check_permissions(["archaeological_context_records.change_contextrecord", "archaeological_context_records.change_own_contextrecord"])( @@ -197,7 +196,7 @@ urlpatterns = [ ), name="contextrecord-qa-bulk-update", ), - url( + re_path( r"^contextrecord-qa-bulk-update/(?P<pks>[0-9-]+)?/confirm/$", check_permissions(["archaeological_context_records.change_contextrecord", "archaeological_context_records.change_own_contextrecord"])( @@ -206,11 +205,11 @@ urlpatterns = [ name="contextrecord-qa-bulk-update-confirm", kwargs={"confirm": True}, ), - url( + re_path( r"api/facets/contextrecord/$", views_api.FacetContextRecordAPIView.as_view(), name="api-facets-contextrecord" ), - url( + re_path( r"api/search/context-record/$", views_api.SearchContextRecordAPI.as_view(), name="api-search-contextrecord" ), diff --git a/archaeological_context_records/views.py b/archaeological_context_records/views.py index 811a9ad2d..d833792b7 100644 --- a/archaeological_context_records/views.py +++ b/archaeological_context_records/views.py @@ -23,7 +23,7 @@ from django.db.models import Q from django.http import HttpResponse, HttpResponseRedirect, Http404 from django.shortcuts import redirect from django.urls import reverse -from ishtar_common.utils import ugettext_lazy as _ +from ishtar_common.utils import gettext_lazy as _ from django.views.generic import RedirectView from ishtar_common.models import QuickAction diff --git a/archaeological_context_records/wizards.py b/archaeological_context_records/wizards.py index 8de29a695..1d7a106ec 100644 --- a/archaeological_context_records/wizards.py +++ b/archaeological_context_records/wizards.py @@ -18,7 +18,7 @@ # See the file COPYING for details. from django.core.exceptions import ObjectDoesNotExist -from ishtar_common.utils import ugettext_lazy as _ +from ishtar_common.utils import gettext_lazy as _ from . import models from ishtar_common.forms import reverse_lazy diff --git a/archaeological_files/admin.py b/archaeological_files/admin.py index e74dbbbff..5b9839637 100644 --- a/archaeological_files/admin.py +++ b/archaeological_files/admin.py @@ -19,11 +19,10 @@ from django import forms from django.conf import settings -from django.conf.urls import url from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404, render -from django.urls import reverse -from django.utils.translation import ugettext_lazy as _ +from django.urls import re_path, reverse +from django.utils.translation import gettext_lazy as _ from ishtar_common.apps import admin_site from ishtar_common.admin import ( @@ -170,7 +169,7 @@ class CopyPriceAgreementAdmin(GeneralTypeAdmin): def get_urls(self): urls = super(CopyPriceAgreementAdmin, self).get_urls() my_urls = [ - url(r"^copy-price-agreement/$", self.copy_price_agreement), + re_path(r"^copy-price-agreement/$", self.copy_price_agreement), ] return my_urls + urls diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py index b1c3d691b..353880075 100644 --- a/archaeological_files/forms.py +++ b/archaeological_files/forms.py @@ -30,7 +30,7 @@ from django.core import validators from django.db.models import Q from django.forms.formsets import formset_factory from django.utils.safestring import mark_safe -from ishtar_common.utils import add_business_days, ugettext_lazy as _ +from ishtar_common.utils import add_business_days, gettext_lazy as _ from ishtar_common.models import ( Area, diff --git a/archaeological_files/ishtar_menu.py b/archaeological_files/ishtar_menu.py index d32335167..84a0bee01 100644 --- a/archaeological_files/ishtar_menu.py +++ b/archaeological_files/ishtar_menu.py @@ -17,7 +17,7 @@ # See the file COPYING for details. -from ishtar_common.utils import ugettext_lazy as _ +from ishtar_common.utils import gettext_lazy as _ from ishtar_common.menu_base import SectionItem, MenuItem diff --git a/archaeological_files/models.py b/archaeological_files/models.py index 1f3475537..75fd66875 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -32,7 +32,7 @@ from django.db.models.signals import post_save, m2m_changed, post_delete from django.urls import reverse, reverse_lazy from ishtar_common.models_common import OrderedHierarchicalType -from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy, get_current_profile, \ +from ishtar_common.utils import gettext_lazy as _, pgettext_lazy, get_current_profile, \ InlineClass from ishtar_common.utils import ( diff --git a/archaeological_files/tests.py b/archaeological_files/tests.py index 89a84f64f..53e29c1cc 100644 --- a/archaeological_files/tests.py +++ b/archaeological_files/tests.py @@ -37,7 +37,7 @@ from ishtar_common.tests import ( from ishtar_common.models import Town, IshtarSiteProfile, Person, PersonType, \ Organization, OrganizationType -from ishtar_common.utils import ugettext_lazy as _ +from ishtar_common.utils import gettext_lazy as _ from archaeological_files import models, views from archaeological_operations.views import RELATION_FORMSET_EXTRA_FORM diff --git a/archaeological_files/urls.py b/archaeological_files/urls.py index 25d1186a0..11e4c8ff0 100644 --- a/archaeological_files/urls.py +++ b/archaeological_files/urls.py @@ -17,8 +17,7 @@ # See the file COPYING for details. -from django.conf.urls import url -from django.urls import path +from django.urls import path, re_path from ishtar_common.utils import check_permissions from ishtar_common.views import QALinkView @@ -29,13 +28,13 @@ from archaeological_operations.views import administrativeactfile_document # forms: urlpatterns = [ - url( + re_path( r"^file-qa-link/(?P<pks>[0-9-]+)?/$", QALinkView.as_view(), name="file-qa-link", kwargs={"model": models.File, "url": "file-qa-link"}, ), - url( + re_path( r"file_administrativeactfile_search/(?P<step>.+)?$", check_permissions([ "archaeological_operations.view_administrativeact", @@ -44,7 +43,7 @@ urlpatterns = [ ), name="file_administrativeactfile_search", ), - url( + re_path( r"^file_administrativeactfile/(?P<step>.+)?$", check_permissions([ "archaeological_operations.add_administrativeact"])( @@ -52,12 +51,12 @@ urlpatterns = [ ), name="file_administrativeactfile", ), - url( + re_path( r"file_administrativeactfile_modify/(?P<pk>.+)/$", views.file_administrativeactfile_modify, name="file_administrativeactfile_modify", ), - url( + re_path( r"file_administrativeactfile_deletion/(?P<step>.+)?$", check_permissions([ "archaeological_operations.delete_administrativeact", @@ -66,7 +65,7 @@ urlpatterns = [ ), name="file_administrativeactfile_deletion", ), - url( + re_path( r"file_administrativeactfile_modification/(?P<step>.+)?$", check_permissions([ "archaeological_operations.change_administrativeact", @@ -75,24 +74,24 @@ urlpatterns = [ ), name="file_administrativeactfile_modification", ), - url( + re_path( r"file_administrativeactfile_delete/(?P<pk>.+)/$", views.file_administrativeact_delete, name="delete-administrativeact-file", ), - url( + re_path( r"file_search/(?P<step>.+)?$", check_permissions([ "archaeological_files.view_file", "archaeological_files.view_own_file"])(views.file_search_wizard), name="file_search", ), - url( + re_path( r"^file_creation/(?P<step>.+)?$", check_permissions(["archaeological_files.add_file"])(views.file_creation_wizard), name="file_creation", ), - url( + re_path( r"^file_modification/(?P<step>.+)?$", check_permissions(["archaeological_files.change_file", "archaeological_files.change_own_file"])( @@ -100,8 +99,8 @@ urlpatterns = [ ), name="file_modification", ), - url(r"^file_modify/(?P<pk>.+)/$", views.file_modify, name="file_modify"), - url( + re_path(r"^file_modify/(?P<pk>.+)/$", views.file_modify, name="file_modify"), + re_path( r"^file_closing/(?P<step>.+)?$", check_permissions(["archaeological_files.change_file", "archaeological_files.change_own_file"])( @@ -109,61 +108,61 @@ urlpatterns = [ ), name="file_closing", ), - url( + re_path( r"file_deletion/(?P<step>.+)?$", check_permissions( ["archaeological_files.delete_file", "archaeological_files.delete_own_file"] )(views.file_deletion_wizard), name="file_deletion", ), - url(r"^file_delete/(?P<pk>.+)/$", views.file_delete, name="delete-file"), - url(r"autocomplete-file/$", views.autocomplete_file, name="autocomplete-file"), - url(r"get-file/(?P<type>.+)?$", views.get_file, name="get-file"), - url( + re_path(r"^file_delete/(?P<pk>.+)/$", views.file_delete, name="delete-file"), + re_path(r"autocomplete-file/$", views.autocomplete_file, name="autocomplete-file"), + re_path(r"get-file/(?P<type>.+)?$", views.get_file, name="get-file"), + re_path( r"get-file-full/(?P<type>.+)?$", views.get_file, name="get-file-full", kwargs={"full": True}, ), - url( + re_path( r"get-file-shortcut/(?P<type>.+)?$", views.get_file, name="get-file-shortcut", kwargs={"full": "shortcut"}, ), - url( + re_path( r"get-administrativeactfile/(?P<type>.+)?$", views.get_administrativeactfile, name="get-administrativeactfile", ), - url(r"show-file(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_file, name="show-file"), - url( + re_path(r"show-file(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_file, name="show-file"), + re_path( r"show-historized-file/(?P<pk>.+)?/(?P<date>.+)?$", views.show_file, name="show-historized-file", ), - url(r"revert-file/(?P<pk>.+)/(?P<date>.+)$", views.revert_file, name="revert-file"), - url( + re_path(r"revert-file/(?P<pk>.+)/(?P<date>.+)$", views.revert_file, name="revert-file"), + re_path( r"^file-add-adminact/(?P<pk>[0-9-]+)/$", check_permissions(["archaeological_operations.add_administrativeact"])( views.file_adminact_add ), name="file-add-adminact", ), - url( + re_path( r"file_administrativeact_document/$", administrativeactfile_document, name="file-administrativeact-document", kwargs={"file": True}, ), - url( + re_path( r"^file-add-operation/(?P<pk>[0-9-]+)/$", check_permissions(["archaeological_operations.add_operation"])( views.file_add_operation ), name="file-add-operation", ), - url( + re_path( r'^file/edit-preventive-price/(?P<pk>\d+)/$', check_permissions(["archaeological_files.change_file", "archaeological_files.change_own_file"])( @@ -171,12 +170,12 @@ urlpatterns = [ ), name="file-edit-preventive-price", ), - url( + re_path( r"^file-parcels-modify/(?P<pk>.+)/$", views.file_modify_parcels, name="file-parcels-modify", ), - url( + re_path( r'^file/edit-preventive/(?P<pk>\d+)/$', check_permissions(["archaeological_files.change_file", "archaeological_files.change_own_file"])( @@ -184,7 +183,7 @@ urlpatterns = [ ), name="file-edit-preventive", ), - url( + re_path( r'^file/edit-preventive/add-default-cost/(?P<pk>\d+)/$', check_permissions(["archaeological_files.change_file", "archaeological_files.change_own_file"])( @@ -192,7 +191,7 @@ urlpatterns = [ ), name="file-edit-preventive-default-cost", ), - url( + re_path( r'^file/edit-preventive/copy-planned/(?P<pk>\d+)/$', check_permissions(["archaeological_files.change_file", "archaeological_files.change_own_file"])( @@ -200,21 +199,21 @@ urlpatterns = [ ), name="file-edit-preventive-copy-planned", ), - url( + re_path( r"townplanning-edit/$", views.TownPlanningCreate.as_view(), name="townplanning_create", ), - url( + re_path( r"townplanning-edit/(?P<pk>\d+)$", views.TownPlanningEdit.as_view(), name="townplanning_edit", ), - url( + re_path( r"api/facets/file/$", views_api.FacetFileAPIView.as_view(), name="api-facets-file" ), - url( + re_path( r"api/search/file/$", views_api.SearchFileAPI.as_view(), name="api-search-file" ), diff --git a/archaeological_files/views.py b/archaeological_files/views.py index eaf886dba..65214f948 100644 --- a/archaeological_files/views.py +++ b/archaeological_files/views.py @@ -26,7 +26,7 @@ from django.forms.formsets import formset_factory from django.views.generic.edit import UpdateView from django.shortcuts import redirect from django.urls import reverse -from ishtar_common.utils import ugettext_lazy as _ +from ishtar_common.utils import gettext_lazy as _ from ishtar_common.views import wizard_is_available, OrganizationPersonCreate, \ OrganizationPersonEdit diff --git a/archaeological_files/wizards.py b/archaeological_files/wizards.py index 2b8a86ab2..4f4709b7b 100644 --- a/archaeological_files/wizards.py +++ b/archaeological_files/wizards.py @@ -19,7 +19,7 @@ from django.conf import settings from django.db.models import Max -from ishtar_common.utils import ugettext_lazy as _, get_generated_id +from ishtar_common.utils import gettext_lazy as _ from ishtar_common.forms import reverse_lazy from ishtar_common.wizards import ClosingWizard, SearchWizard, MultipleDeletionWizard diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 6cbb950fb..fc6cb43ce 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -30,7 +30,7 @@ from django.core import validators from django.core.exceptions import PermissionDenied from django.db.models import Q from django.forms.formsets import formset_factory -from ishtar_common.utils import ugettext_lazy as _ +from ishtar_common.utils import gettext_lazy as _ from . import models from archaeological_operations.models import CulturalAttributionType, RemainType diff --git a/archaeological_finds/forms_treatments.py b/archaeological_finds/forms_treatments.py index ad12e7a18..6939e5e12 100644 --- a/archaeological_finds/forms_treatments.py +++ b/archaeological_finds/forms_treatments.py @@ -24,7 +24,7 @@ from collections import OrderedDict from bootstrap_datepicker.widgets import DateField from django import forms from django.core import validators -from ishtar_common.utils import ugettext_lazy as _ +from ishtar_common.utils import gettext_lazy as _ from ishtar_common.forms import FormHeader from archaeological_finds import models diff --git a/archaeological_finds/ishtar_menu.py b/archaeological_finds/ishtar_menu.py index 15cd19bf9..4a3b08daa 100644 --- a/archaeological_finds/ishtar_menu.py +++ b/archaeological_finds/ishtar_menu.py @@ -17,7 +17,7 @@ # See the file COPYING for details. -from ishtar_common.utils import ugettext_lazy as _ +from ishtar_common.utils import gettext_lazy as _ from ishtar_common.menu_base import SectionItem, MenuItem diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 02ed055ec..797e5a243 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -38,7 +38,7 @@ from ishtar_common.utils import ( pgettext_lazy, post_save_geo, SearchAltName, - ugettext_lazy as _ + gettext_lazy as _ ) from ishtar_common.alternative_configs import ALTERNATE_CONFIGS diff --git a/archaeological_finds/models_treatments.py b/archaeological_finds/models_treatments.py index a989f1ef4..b7b33fcfc 100644 --- a/archaeological_finds/models_treatments.py +++ b/archaeological_finds/models_treatments.py @@ -32,7 +32,7 @@ from django.db.models import Max, Q from django.db.models.signals import post_save, post_delete, pre_delete, m2m_changed from django.template.defaultfilters import slugify from django.urls import reverse -from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy, SheetItem +from ishtar_common.utils import gettext_lazy as _, pgettext_lazy, SheetItem from archaeological_finds.models_finds import Find, FindBasket, TreatmentType, \ FindTreatment diff --git a/archaeological_finds/urls.py b/archaeological_finds/urls.py index af6b5285a..a690b8698 100644 --- a/archaeological_finds/urls.py +++ b/archaeological_finds/urls.py @@ -17,8 +17,7 @@ # See the file COPYING for details. -from django.conf.urls import url -from django.urls import path, register_converter +from django.urls import path, re_path, register_converter from ishtar_common.utils import check_permissions, get_urls_for_model @@ -35,21 +34,21 @@ register_converter(urls_converters.DateTimeConverter, "datetime") # forms urlpatterns = [ - url( + re_path( r"find_search/(?P<step>.+)?$", check_permissions( ["archaeological_finds.view_find", "archaeological_finds.view_own_find"] )(views.find_search_wizard), name="find_search", ), - url( + re_path( r"find_creation/(?P<step>.+)?$", check_permissions( ["archaeological_finds.add_find"] )(views.find_creation_wizard), name="find_creation", ), - url( + re_path( r"find_modification/(?P<step>.+)?$", check_permissions( ["archaeological_finds.change_find", @@ -57,9 +56,9 @@ urlpatterns = [ )(views.find_modification_wizard), name="find_modification", ), - url(r"find_modify/(?P<pk>.+)/$", views.find_modify, name="find_modify"), - url(r"find_create/(?P<pk>.+)/$", views.find_create, name="find_create"), - url( + re_path(r"find_modify/(?P<pk>.+)/$", views.find_modify, name="find_modify"), + re_path(r"find_create/(?P<pk>.+)/$", views.find_create, name="find_create"), + re_path( r"find_deletion/(?P<step>.+)?$", check_permissions( ["archaeological_finds.delete_find", @@ -67,8 +66,8 @@ urlpatterns = [ )(views.find_deletion_wizard), name="find_deletion", ), - url(r"find_delete/(?P<pk>.+)/$", views.find_delete, name="delete-find"), - url( + re_path(r"find_delete/(?P<pk>.+)/$", views.find_delete, name="delete-find"), + re_path( r"^find-qa-duplicate/(?P<pks>[0-9-]+)?/$", check_permissions( ["archaeological_finds.change_find", @@ -76,13 +75,13 @@ urlpatterns = [ )(views.QAFindDuplicateFormView.as_view()), name="find-qa-duplicate", ), - url(r"get-findbasket/$", views.get_find_basket, name="get-findbasket"), - url( + re_path(r"get-findbasket/$", views.get_find_basket, name="get-findbasket"), + re_path( r"get-findbasket-write/$", views.get_find_basket_for_write, name="get-findbasket-write", ), - url( + re_path( r"find_basket_search/(?P<step>.+)?$", check_permissions( ["archaeological_finds.view_find", @@ -90,7 +89,7 @@ urlpatterns = [ )(views.basket_search_wizard), name="find_basket_search", ), - url( + re_path( r"^find_basket_creation/$", check_permissions( ["archaeological_finds.view_find", @@ -98,7 +97,7 @@ urlpatterns = [ )(views.NewFindBasketView.as_view()), name="new_findbasket", ), - url( + re_path( r"^find_basket_modification/(?P<step>.+)?$", check_permissions( ["archaeological_finds.view_find", @@ -106,12 +105,12 @@ urlpatterns = [ )(views.basket_modify_wizard), name="find_basket_modification", ), - url( + re_path( r"find_basket_modify/(?P<pk>.+)/$", views.find_basket_modify, name="find_basket_modify", ), - url( + re_path( r"^find_basket_modification_add/$", check_permissions( ["archaeological_finds.view_find", @@ -119,7 +118,7 @@ urlpatterns = [ )(views.SelectBasketForManagement.as_view()), name="select_findbasketforadd", ), - url( + re_path( r"^find_basket_modification_add/(?P<pk>[0-9]+)?/$", check_permissions( ["archaeological_finds.view_find", @@ -127,7 +126,7 @@ urlpatterns = [ )(views.SelectItemsInBasket.as_view()), name="select_itemsinbasket", ), - url( + re_path( r"^find_basket_modification_add_item/$", check_permissions( ["archaeological_finds.view_find", @@ -135,7 +134,7 @@ urlpatterns = [ )(views.FindBasketAddItemView.as_view()), name="add_iteminbasket", ), - url( + re_path( r"^find_basket_modification_delete_item/(?P<basket>[0-9]+)?" r"/(?P<find_pk>[0-9]+)?/$", check_permissions( @@ -144,7 +143,7 @@ urlpatterns = [ )(views.FindBasketDeleteItemView.as_view()), name="delete_iteminbasket", ), - url( + re_path( r"^find_basket_list/(?P<pk>[0-9]+)?/$", check_permissions( ["archaeological_finds.view_find", @@ -152,7 +151,7 @@ urlpatterns = [ )(views.FindBasketListView.as_view()), name="list_iteminbasket", ), - url( + re_path( r"^find_basket_deletion/(?P<step>.+)?$", check_permissions( ["archaeological_finds.view_find", @@ -160,7 +159,7 @@ urlpatterns = [ )(views.basket_delete_wizard), name="find_basket_deletion", ), - url( + re_path( r"^findbasket-qa-duplicate/(?P<pks>[0-9-]+)?/$", check_permissions( ["archaeological_finds.view_find", @@ -168,63 +167,63 @@ urlpatterns = [ )(views.QAFindbasketDuplicateFormView.as_view()), name="findbasket-qa-duplicate", ), - url( + re_path( r"^findbasket-add-treatment/(?P<pk>[0-9-]+)/$", check_permissions( ["archaeological_finds.add_treatment"] )(views.findbasket_treatment_add), name="findbasket-add-treatment", ), - url( + re_path( r"^findbasket-add-treatmentfile/(?P<pk>[0-9-]+)/$", check_permissions( ["archaeological_finds.add_treatmentfile"] )(views.findbasket_treatmentfile_add), name="findbasket-add-treatmentfile", ), - url( + re_path( r"^findbasket-add-exhibition/(?P<pk>[0-9-]+)/$", check_permissions( ["archaeological_finds.add_exhibition"] )(views.findbasket_exhibition_add), name="findbasket-add-exhibition", ), - url( + re_path( r"^find-add-treatment/(?P<pk>[0-9-]+)/$", check_permissions( ["archaeological_finds.add_treatment"] )(views.find_treatment_add), name="find-add-treatment", ), - url( + re_path( r"^find-add-divide-treatment/(?P<pk>[0-9-]+)/$", check_permissions( ["archaeological_finds.add_treatment"] )(views.find_divide_treatment_add), name="find-add-divide-treatment", ), - url( + re_path( r"^treatmentfile-add-treatment/(?P<pk>[0-9-]+)/$", check_permissions( ["archaeological_finds.add_treatment"] )(views.treatmentfile_treatment_add), name="treatmentfile-add-treatment", ), - url( + re_path( r"^treatment-add-adminact/(?P<pk>[0-9-]+)/$", check_permissions( ["archaeological_operations.add_administrativeact"] )(views.treatment_adminact_add), name="treatment-add-adminact", ), - url( + re_path( r"^treatmentfile-add-adminact/(?P<pk>[0-9-]+)/$", check_permissions( ["archaeological_operations.add_administrativeact"] )(views.treatmentfile_adminact_add), name="treatmentfile-add-adminact", ), - url( + re_path( r"^find-qa-bulk-update/(?P<pks>[0-9-]+)?/$", check_permissions( ["archaeological_finds.change_find", @@ -232,7 +231,7 @@ urlpatterns = [ )(views.QAFindForm.as_view()), name="find-qa-bulk-update", ), - url( + re_path( r"^find-qa-bulk-update/(?P<pks>[0-9-]+)?/confirm/$", check_permissions( ["archaeological_finds.change_find", @@ -241,7 +240,7 @@ urlpatterns = [ name="find-qa-bulk-update-confirm", kwargs={"confirm": True}, ), - url( + re_path( r"^find-qa-basket/(?P<pks>[0-9-]+)?/$", check_permissions( ["archaeological_finds.change_find", @@ -249,7 +248,7 @@ urlpatterns = [ )(views.QAFindBasketFormView.as_view()), name="find-qa-basket", ), - url( + re_path( r"findbasket-qa-bulk-update/(?P<pks>[0-9-]+)?/$", check_permissions([ "archaeological_finds.change_find", @@ -257,7 +256,7 @@ urlpatterns = [ ])(views.QAFindBasketModifyView.as_view()), name="findbasket-qa-bulk-update", ), - url( + re_path( r"findbasket-qa-bulk-update/(?P<pks>[0-9-]+)?/confirm/$", check_permissions([ "archaeological_finds.change_find", @@ -266,7 +265,7 @@ urlpatterns = [ name="findbasket-qa-bulk-update-confirm", kwargs={"confirm": True}, ), - url( + re_path( r"^find-qa-packaging/(?P<pks>[0-9-]+)?/$", check_permissions( ["archaeological_finds.change_find", @@ -274,45 +273,45 @@ urlpatterns = [ )(views.QAFindTreatmentFormView.as_view()), name="find-qa-packaging", ), - url( + re_path( r"^find-qa-lock/(?P<pks>[0-9-]+)?/$", views.QAFindLockView.as_view(), name="find-qa-lock", kwargs={"model": models.Find}, ), - url( + re_path( r"^find-qa-link/(?P<pks>[0-9-]+)?/$", QALinkView.as_view(), name="find-qa-link", kwargs={"model": models.Find, "url": "find-qa-link"}, ), - url( + re_path( r"^treatment_creation/(?P<step>.+)?$", check_permissions( ["archaeological_finds.add_treatment"] )(views.treatment_creation_wizard), name="treatment_creation", ), - url( + re_path( r"^treatment_creation_n1/(?P<step>.+)?$", check_permissions( ["archaeological_finds.add_treatment"] )(views.treatment_creation_n1_wizard), name="treatment_creation_n1", ), - url( + re_path( r"treatment_n1_create/(?P<pks>[-0-9]+)/$", views.treatment_n1_create, name="treatment-n1-create", ), - url( + re_path( r"^treatment_creation_1n/(?P<step>.+)?$", check_permissions( ["archaeological_finds.add_treatment"] )(views.treatment_creation_1n_wizard), name="treatment_creation_1n", ), - url( + re_path( r"^treatment_modification/(?P<step>.+)?$", check_permissions( ["archaeological_finds.change_treatment", @@ -320,12 +319,12 @@ urlpatterns = [ )(views.treatment_modification_wizard), name="treatment_modification", ), - url( + re_path( r"^treatment_modify/(?P<pk>.+)/$", views.treatment_modify, name="treatment_modify", ), - url( + re_path( r"^treatment_search/(?P<step>.+)?$", check_permissions( ["archaeological_finds.view_treatment", @@ -333,7 +332,7 @@ urlpatterns = [ )(views.treatment_search_wizard), name="treatment_search", ), - url( + re_path( r"^treatment_deletion/(?P<step>.+)?$", check_permissions( ["archaeological_finds.delete_treatment", @@ -341,12 +340,12 @@ urlpatterns = [ )(views.treatment_deletion_wizard), name="treatment_deletion", ), - url( + re_path( r"^treatment_delete/(?P<pk>.+)/$", views.treatment_delete, name="delete-treatment", ), - url( + re_path( r"^treatment_admacttreatment_search/(?P<step>.+)?$", check_permissions([ "archaeological_operations.view_administrativeact", @@ -355,7 +354,7 @@ urlpatterns = [ ), name="treatment_admacttreatment_search", ), - url( + re_path( r"^treatment_admacttreatment/(?P<step>.+)?$", check_permissions([ "archaeological_operations.add_administrativeact"])( @@ -363,7 +362,7 @@ urlpatterns = [ ), name="treatment_admacttreatment", ), - url( + re_path( r"^treatment_admacttreatment_modification/(?P<step>.+)?$", check_permissions([ "archaeological_operations.change_administrativeact", @@ -373,12 +372,12 @@ urlpatterns = [ ), name="treatment_admacttreatment_modification", ), - url( + re_path( r"^treatment_administrativeacttreatment_modify/(?P<pk>.+)/$", views.treatment_administrativeacttreatment_modify, name="treatment_administrativeacttreatment_modify", ), - url( + re_path( r"^treatment_admacttreatment_deletion/(?P<step>.+)?$", check_permissions([ "archaeological_operations.delete_administrativeact", @@ -387,17 +386,17 @@ urlpatterns = [ ), name="treatment_admacttreatment_deletion", ), - url( + re_path( r"^get-administrativeacttreatment/(?P<type>.+)?$", views.get_administrativeacttreatment, name="get-administrativeacttreatment", ), - url( + re_path( r"^treatment_administrativeacttreatment_delete/(?P<pk>.+)/$", views.treatment_administrativeacttreatment_delete, name="delete-administrativeact-treatment", ), - url( + re_path( r"^treatmentfle_admacttreatmentfle_search/(?P<step>.+)?$", check_permissions([ "archaeological_operations.view_administrativeact", @@ -407,7 +406,7 @@ urlpatterns = [ ), name="treatmentfle_admacttreatmentfle_search", ), - url( + re_path( r"^treatmentfle_admacttreatmentfle_modification/(?P<step>.+)?$", check_permissions([ "archaeological_operations.change_administrativeact", @@ -416,19 +415,19 @@ urlpatterns = [ ), name="treatmentfle_admacttreatmentfle_modification", ), - url( + re_path( r"^treatmentfle_admacttreatmentfle/(?P<step>.+)?$", check_permissions(["archaeological_operations.add_administrativeact"])( views.treatmentfile_admacttreatmentfile_wizard ), name="treatmentfle_admacttreatmentfle", ), - url( + re_path( r"^treatmentfile_administrativeacttreatmentfile_modify/(?P<pk>.+)/$", views.treatmentfile_administrativeacttreatmentfile_modify, name="treatmentfile_administrativeacttreatmentfile_modify", ), - url( + re_path( r"^treatmentfle_admacttreatmentfle_deletion/(?P<step>.+)?$", check_permissions([ "archaeological_operations.delete_administrativeact", @@ -437,7 +436,7 @@ urlpatterns = [ ), name="treatmentfle_admacttreatmentfle_deletion", ), - url( + re_path( r"^treatmentfile_administrativeacttreatmentfile_delete/(?P<pk>.+)/$", views.treatmentfile_administrativeacttreatmentfile_delete, name="delete-administrativeact-treatmentfile", @@ -516,7 +515,7 @@ urlpatterns = [ views.show_exhibition, name="show-exhibition"), path("display-exhibition/<int:pk>/", views.display_exhibition, name="display-exhibition"), - url( + re_path( r"^treatmentfle_search/(?P<step>.+)?$", check_permissions( ["archaeological_finds.view_treatmentfile", @@ -524,14 +523,14 @@ urlpatterns = [ )(views.treatmentfile_search_wizard), name="treatmentfile_search", ), - url( + re_path( r"treatmentfle_creation/(?P<step>.+)?$", check_permissions( ["archaeological_finds.add_treatmentfile"] )(views.treatmentfile_creation_wizard), name="treatmentfile_creation", ), - url( + re_path( r"treatmentfle_modification/(?P<step>.+)?$", check_permissions( ["archaeological_finds.change_treatmentfile", @@ -539,12 +538,12 @@ urlpatterns = [ )(views.treatmentfile_modification_wizard), name="treatmentfile_modification", ), - url( + re_path( r"^treatmentfile_modify/(?P<pk>.+)/$", views.treatmentfile_modify, name="treatmentfile_modify", ), - url( + re_path( r"^treatmentfle_deletion/(?P<step>.+)?$", check_permissions( ["archaeological_finds.delete_treatmentfile", @@ -552,214 +551,214 @@ urlpatterns = [ )(views.treatmentfile_deletion_wizard), name="treatmentfile_deletion", ), - url( + re_path( r"^treatmentfle_delete/(?P<pk>.+)/$", views.treatmentfile_delete, name="delete-treatmentfile", ), - url( + re_path( r"get-administrativeacttreatmentfile/(?P<type>.+)?$", views.get_administrativeacttreatmentfile, name="get-administrativeacttreatmentfile", ), - url( + re_path( r"get-upstreamtreatment/(?P<type>.+)?$", views.get_upstreamtreatment, name="get-upstreamtreatment", ), - url( + re_path( r"get-downstreamtreatment/(?P<type>.+)?$", views.get_downstreamtreatment, name="get-downstreamtreatment", ), - url( + re_path( r"autocomplete-objecttype/$", views.autocomplete_objecttype, name="autocomplete-objecttype", ), - url( + re_path( r"autocomplete-functionalarea/$", views.autocomplete_functionalarea, name="autocomplete-functionalarea", ), - url( + re_path( r"autocomplete-technicalarea/$", views.autocomplete_technicalarea, name="autocomplete-technicalarea", ), - url( + re_path( r"autocomplete-technicalprocess/$", views.autocomplete_technicalprocess, name="autocomplete-technicalprocess", ), - url( + re_path( r"autocomplete-materialtype/$", views.autocomplete_materialtype, name="autocomplete-materialtype", ), - url( + re_path( r"autocomplete-treatmenttype/$", views.autocomplete_treatmenttype, name="autocomplete-treatmenttype", ), - url( + re_path( r"autocomplete-integritytype/$", views.autocomplete_integritytype, name="autocomplete-integritytype", ), - url( + re_path( r"autocomplete-treatmentfile/$", views.autocomplete_treatmentfile, name="autocomplete-treatmentfile", ), - url( + re_path( r"autocomplete-exhibition/$", views.autocomplete_exhibition, name="autocomplete-exhibition", ), - url( + re_path( r"get-find-for-ope/own/(?P<type>.+)?$", views.get_find_for_ope, name="get-own-find-for-ope", kwargs={"force_own": True}, ), - url( + re_path( r"get-find-for-ope/(?P<type>.+)?$", views.get_find_for_ope, name="get-find-for-ope", ), - url( + re_path( r"get-find-for-cr/cr/(?P<type>.+)?$", views.get_find_for_cr, name="get-own-find-for-cr", kwargs={"force_own": True}, ), - url( + re_path( r"get-find-for-cr/(?P<type>.+)?$", views.get_find_for_cr, name="get-find-for-cr" ), - url( + re_path( r"get-find-for-treatment/own/(?P<type>.+)?$", views.get_find_for_treatment, name="get-own-find-for-treatment", kwargs={"force_own": True}, ), - url( + re_path( r"get-find-for-treatment/(?P<type>.+)?$", views.get_find_for_treatment, name="get-find-for-treatment", ), - url( + re_path( r"get-find-inside-container/own/(?P<type>.+)?$", views.get_find_inside_container, name="get-find-inside-container", kwargs={"force_own": True}, ), - url( + re_path( r"get-find-inside-container/(?P<type>.+)?$", views.get_find_inside_container, name="get-find-inside-container", ), - url( + re_path( r"get-find-full/own/(?P<type>.+)?$", views.get_find, name="get-own-find-full", kwargs={"full": True, "force_own": True}, ), - url( + re_path( r"get-find-full/(?P<type>.+)?$", views.get_find, name="get-find-full", kwargs={"full": True}, ), - url( + re_path( r"get-find-shortcut/(?P<type>.+)?$", views.get_find, name="get-find-shortcut", kwargs={"full": "shortcut"}, ), - url( + re_path( r"^show-findbasket/(?:(?P<pk>.+)/(?P<type>.+)?)?$", views.show_findbasket, name="show-findbasket", ), - url( + re_path( r"^show-basefind/(?:(?P<pk>.+)/(?P<type>.+)?)?$", views.show_basefind, name="show-basefind", ), - url( + re_path( r"^display-find/basket-(?P<pk>.+)/$", views.display_findbasket, name="display-findbasket", ), - url( + re_path( r"^show-historized-find/(?P<pk>.+)?/(?P<date>.+)?$", views.show_find, name="show-historized-find", ), - url( + re_path( r"^revert-find/(?P<pk>.+)/(?P<date>.+)$", views.revert_find, name="revert-find" ), - url( + re_path( r"get-treatment-shortcut/(?P<type>.+)?$", views.get_treatment, name="get-treatment-shortcut", kwargs={"full": "shortcut"}, ), - url( + re_path( r"show-historized-treatment/(?P<pk>.+)?/(?P<date>.+)?$", views.show_treatment, name="show-historized-treatment", ), - url( + re_path( r"^revert-treatment/(?P<pk>.+)/(?P<date>.+)$", views.revert_treatment, name="revert-treatment", ), - url( + re_path( r"get-treatmentfile/(?P<type>.+)?$", views.get_treatmentfile, name="get-treatmentfile", ), - url( + re_path( r"get-exhibition/(?P<type>.+)?$", views.get_exhibition, name="get-exhibition", ), - url( + re_path( r"get-treatmentfile-shortcut/(?P<type>.+)?$", views.get_treatmentfile, name="get-treatmentfile-shortcut", kwargs={"full": "shortcut"}, ), - url( + re_path( r"^show-treatmentfile(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_treatmentfile, name=models.TreatmentFile.SHOW_URL, ), - url( + re_path( r"show-historized-treatmentfile/(?P<pk>.+)?/(?P<date>.+)?$", views.show_treatmentfile, name="show-historized-treatmentfile", ), - url( + re_path( r"^revert-treatmentfile/(?P<pk>.+)/(?P<date>.+)$", views.revert_treatmentfile, name="revert-treatmentfile", ), - url( + re_path( r"^treatment_administrativeact_document/$", administrativeactfile_document, name="treatment-administrativeact-document", kwargs={"treatment": True}, ), - url( + re_path( r"^treatmentfle_administrativeact_document/$", administrativeactfile_document, name="treatmentfle-administrativeact-document", kwargs={"treatment_file": True}, ), - url( + re_path( r"autocomplete-findbasket/$", check_permissions( ["archaeological_finds.change_find", @@ -767,7 +766,7 @@ urlpatterns = [ )(views.autocomplete_findbasket), name="autocomplete-findbasket", ), - url( + re_path( r"autocomplete-findbasket-write/$", check_permissions( ["archaeological_finds.change_find", @@ -775,10 +774,10 @@ urlpatterns = [ )(views.autocomplete_findbasket_write), name="autocomplete-findbasket-write", ), - url( + re_path( r"api/public/find/$", views_api.PublicFindAPI.as_view(), name="api-public-find" ), - url( + re_path( r"api/ishtar/base-finds/get-geo$", check_permissions( ["archaeological_finds.view_find", @@ -786,11 +785,11 @@ urlpatterns = [ )(views.get_geo_items), name="api-get-geo", ), - url( + re_path( r"api/facets/find/$", views_api.FacetFindAPIView.as_view(), name="api-facets-find" ), - url( + re_path( r"api/search/find/$", views_api.SearchFindAPI.as_view(), name="api-search-find" ), @@ -803,7 +802,7 @@ urlpatterns = [ "api/get/find/<int:pk>/", views_api.GetFindAPI.as_view(), name="api-get-find" ), - url( + re_path( r"autocomplete-basefind/$", check_permissions( ["archaeological_finds.view_basefind", diff --git a/archaeological_finds/views.py b/archaeological_finds/views.py index e370c0a87..d1b5870ea 100644 --- a/archaeological_finds/views.py +++ b/archaeological_finds/views.py @@ -27,7 +27,7 @@ from django.http import HttpResponseRedirect, HttpResponse, Http404 from django.shortcuts import redirect, render from django.urls import reverse -from ishtar_common.utils import ugettext_lazy as _, BSMessage +from ishtar_common.utils import gettext_lazy as _, BSMessage from django.views.generic import TemplateView from django.views.generic.edit import CreateView, FormView, UpdateView diff --git a/archaeological_finds/wizards.py b/archaeological_finds/wizards.py index 7f735b066..cb74f6638 100644 --- a/archaeological_finds/wizards.py +++ b/archaeological_finds/wizards.py @@ -19,7 +19,7 @@ from django.contrib import messages from django.core.exceptions import ObjectDoesNotExist, PermissionDenied -from ishtar_common.utils import ugettext_lazy as _, pgettext, get_current_profile +from ishtar_common.utils import gettext_lazy as _, pgettext, get_current_profile from ishtar_common.forms import reverse_lazy from ishtar_common.wizards import ( diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index 94251c39b..740d21b72 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -33,7 +33,7 @@ from django.forms.formsets import formset_factory, DELETION_FIELD_NAME, \ TOTAL_FORM_COUNT from django.utils.functional import lazy from django.utils.safestring import mark_safe -from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy, parse_parcels +from ishtar_common.utils import gettext_lazy as _, pgettext_lazy, parse_parcels from . import models from archaeological_files.models import File diff --git a/archaeological_operations/ishtar_menu.py b/archaeological_operations/ishtar_menu.py index 21ef06e38..40663c6a8 100644 --- a/archaeological_operations/ishtar_menu.py +++ b/archaeological_operations/ishtar_menu.py @@ -17,7 +17,7 @@ # See the file COPYING for details. -from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy +from ishtar_common.utils import gettext_lazy as _, pgettext_lazy from ishtar_common.menu_base import SectionItem, MenuItem diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 6eb5881cd..5fde96900 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -36,7 +36,7 @@ from django.db.models.signals import post_save, m2m_changed, post_delete from django.forms import ValidationError from django.urls import reverse, reverse_lazy from ishtar_common.data_importer import post_importer_action -from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy, get_generated_id +from ishtar_common.utils import gettext_lazy as _, pgettext_lazy, get_generated_id from ishtar_common.models import ( Area, diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index 3d85c13c3..f676a8300 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -45,7 +45,7 @@ from django.utils.text import slugify from django.utils.translation import activate from django.contrib.auth.models import User, Permission -from django.utils.translation import ugettext_lazy as _, pgettext, pgettext_lazy +from django.utils.translation import gettext_lazy as _, pgettext, pgettext_lazy from rest_framework.test import APITestCase from rest_framework.authtoken.models import Token diff --git a/archaeological_operations/urls.py b/archaeological_operations/urls.py index 46461a2bd..65e2e6bda 100644 --- a/archaeological_operations/urls.py +++ b/archaeological_operations/urls.py @@ -17,8 +17,7 @@ # See the file COPYING for details. -from django.conf.urls import url -from django.urls import path, register_converter +from django.urls import path, re_path, register_converter from ishtar_common import urls_converters from ishtar_common.views import QALinkView @@ -34,7 +33,7 @@ register_converter(urls_converters.UnderscoreSlug, "uslug") # forms urlpatterns = [ - url( + re_path( r"operation_administrativeactop_search/(?P<step>.+)?$", check_permissions([ "archaeological_operations.view_administrativeact", @@ -43,14 +42,14 @@ urlpatterns = [ ), name="operation_administrativeactop_search", ), - url( + re_path( r"operation_administrativeactop/(?P<step>.+)?$", check_permissions(["archaeological_operations.add_administrativeact"])( views.operation_administrativeactop_wizard ), name="operation_administrativeactop", ), - url( + re_path( r"operation_administrativeactop_modification/(?P<step>.+)?$", check_permissions([ "archaeological_operations.change_administrativeact", @@ -59,12 +58,12 @@ urlpatterns = [ ), name="operation_administrativeactop_modification", ), - url( + re_path( r"operation_administrativeactop_modify/(?P<pk>.+)/$", views.operation_administrativeactop_modify, name="operation_administrativeactop_modify", ), - url( + re_path( r"operation_administrativeactop_deletion/(?P<step>.+)?$", check_permissions([ "archaeological_operations.delete_administrativeact", @@ -73,12 +72,12 @@ urlpatterns = [ ), name="operation_administrativeactop_deletion", ), - url( + re_path( r"operation_administrativeactop_delete/(?P<pk>.+)/$", views.operation_administrativeactop_delete, name="delete-administrativeact-operation", ), - url( + re_path( r"operation_search/(?P<step>.+)?$", check_permissions( ["archaeological_operations.view_operation", @@ -86,22 +85,22 @@ urlpatterns = [ )(views.operation_search_wizard), name="operation_search", ), - url( + re_path( r"^operation-add-adminact/(?P<pk>[0-9-]+)/$", check_permissions( ["archaeological_operations.add_administrativeact"] )(views.operation_adminact_add), name="operation-add-adminact", ), - url( + re_path( r"operation_creation/(?P<step>.+)?$", check_permissions( ["archaeological_operations.add_operation"] )(views.operation_creation_wizard), name="operation_creation", ), - url(r"operation_add/(?P<file_id>\d+)$", views.operation_add, name="operation_add"), - url( + re_path(r"operation_add/(?P<file_id>\d+)$", views.operation_add, name="operation_add"), + re_path( r"operation_modification/(?P<step>.+)?$", check_permissions( ["archaeological_operations.change_operation", @@ -109,12 +108,12 @@ urlpatterns = [ )(views.operation_modification_wizard), name="operation_modification", ), - url( + re_path( r"operation_modify/(?P<pk>.+)/$", views.operation_modify, name="operation_modify", ), - url( + re_path( r"operation_closing/(?P<step>.+)?$", check_permissions( ["archaeological_operations.change_operation", @@ -122,7 +121,7 @@ urlpatterns = [ )(views.operation_closing_wizard), name="operation_closing", ), - url( + re_path( r"operation_deletion/(?P<step>.+)?$", check_permissions( ["archaeological_operations.change_operation", @@ -130,12 +129,12 @@ urlpatterns = [ )(views.operation_deletion_wizard), name="operation_deletion", ), - url( + re_path( r"operation_delete/(?P<pk>.+)/$", views.operation_delete, name="delete-operation", ), - url( + re_path( r"administrativact_register/(?P<step>.+)?$", check_permissions( ["archaeological_operations.view_administrativeact", @@ -143,145 +142,145 @@ urlpatterns = [ )(views.administrativact_register_wizard), name="administrativact_register", ), - url( + re_path( r"autocomplete-operation/$", views.autocomplete_operation, name="autocomplete-operation", ), - url( + re_path( r"get-operation/own/(?P<type>.+)?$", views.get_operation, name="get-own-operation", kwargs={"force_own": True}, ), - url(r"get-operation/(?P<type>.+)?$", views.get_operation, name="get-operation"), - url( + re_path(r"get-operation/(?P<type>.+)?$", views.get_operation, name="get-operation"), + re_path( r"get-operation-full/own/(?P<type>.+)?$", views.get_operation, name="get-own-operation-full", kwargs={"full": True, "force_own": True}, ), - url( + re_path( r"get-operation-full/(?P<type>.+)?$", views.get_operation, name="get-operation-full", kwargs={"full": True}, ), - url( + re_path( r"get-operation-shortcut/(?P<type>.+)?$", views.get_operation, name="get-operation-shortcut", kwargs={"full": "shortcut"}, ), - url( + re_path( r"get-available-operation-code/(?P<year>.+)?$", views.get_available_operation_code, name="get_available_operation_code", ), - url( + re_path( r"revert-operation/(?P<pk>.+)/(?P<date>.+)$", views.revert_operation, name="revert-operation", ), - url( + re_path( r"show-operation(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_operation, name=models.Operation.SHOW_URL, ), - url( + re_path( r"show-historized-operation/(?P<pk>.+)?/(?P<date>.+)?$", views.show_operation, name="show-historized-operation", ), - url( + re_path( r"get-administrativeactop/(?P<type>.+)?$", views.get_administrativeactop, name="get-administrativeactop", ), - url( + re_path( r"get-administrativeact/(?P<type>.+)?$", views.get_administrativeact, name="get-administrativeact", ), - url( + re_path( r"get-administrativeact-full/(?P<type>.+)?$", views.get_administrativeact, name="get-administrativeact-full", kwargs={"full": True}, ), - url( + re_path( r"show-administrativeact(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_administrativeact, name="show-administrativeact", ), # allow specialization for operations - url( + re_path( r"show-administrativeact(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_administrativeact, name="show-administrativeactop", ), # allow specialization for files, treatment, treatment request - url( + re_path( r"show-administrativeact(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_administrativeact, name="show-administrativeactfile", ), - url( + re_path( r"show-administrativeact(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_administrativeact, name="show-administrativeacttreatment", ), - url( + re_path( r"show-administrativeact(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_administrativeact, name="show-administrativeacttreatmentfile", ), - url( + re_path( r"generatedoc-administrativeactop/(?P<pk>.+)?/(?P<template_pk>.+)?$", views.generatedoc_administrativeactop, name="generatedoc-administrativeactop", ), - url( + re_path( r"autocomplete-administrativeact/$", views.autocomplete_administrativeact, name="autocomplete-administrativeact", ), - url( + re_path( r"autocomplete-archaeologicalsite/$", views.autocomplete_archaeologicalsite, name="autocomplete-archaeologicalsite", ), - url( + re_path( r"new-archaeologicalsite/(?:(?P<parent_name>[^/]+)/)?" r"(?:(?P<limits>[^/]+)/)?$", views.new_archaeologicalsite, name="new-archaeologicalsite", ), - url(r"get-site/(?P<type>.+)?$", views.get_site, name="get-site"), - url( + re_path(r"get-site/(?P<type>.+)?$", views.get_site, name="get-site"), + re_path( r"get-site-full/(?P<type>.+)?$", views.get_site, name="get-site-full", kwargs={"full": True}, ), - url( + re_path( r"get-site-shortcut/(?P<type>.+)?$", views.get_site, name="get-site-shortcut", kwargs={"full": "shortcut"}, ), - url(r"revert-site/(?P<pk>.+)/(?P<date>.+)$", views.revert_site, name="revert-site"), - url( + re_path(r"revert-site/(?P<pk>.+)/(?P<date>.+)$", views.revert_site, name="revert-site"), + re_path( r"show-site(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_site, name=models.ArchaeologicalSite.SHOW_URL, ), - url( + re_path( r"show-historized-site/(?P<pk>.+)?/(?P<date>.+)?$", views.show_site, name="show-historized-site", ), - url( + re_path( r"site_search/(?P<step>.+)?$", check_permissions( ["archaeological_operations.view_archaeologicalsite", @@ -289,14 +288,14 @@ urlpatterns = [ )(views.site_search_wizard), name="site_search", ), - url( + re_path( r"site_creation/(?P<step>.+)?$", check_permissions( ["archaeological_operations.add_archaeologicalsite"] )(views.site_creation_wizard), name="site_creation", ), - url( + re_path( r"site_modification/(?P<step>.+)?$", check_permissions( ["archaeological_operations.change_archaeologicalsite", @@ -304,31 +303,31 @@ urlpatterns = [ )(views.site_modification_wizard), name="site_modification", ), - url(r"site_modify/(?P<pk>.+)/$", views.site_modify, name="site_modify"), - url( + re_path(r"site_modify/(?P<pk>.+)/$", views.site_modify, name="site_modify"), + re_path( r"site_deletion/(?P<step>.+)?$", check_permissions( ["archaeological_operations.change_archaeologicalsite"] )(views.site_deletion_wizard), name="site_deletion", ), - url(r"site_delete/(?P<pk>.+)/$", views.site_delete, name="delete-site"), - url( + re_path(r"site_delete/(?P<pk>.+)/$", views.site_delete, name="delete-site"), + re_path( r"autocomplete-patriarche/$", views.autocomplete_patriarche, name="autocomplete-patriarche", ), - url( + re_path( r"operation_administrativeact_document/$", views.administrativeactfile_document, name="operation-administrativeact-document", ), - url( + re_path( r"^operation-parcels-modify/(?P<pk>.+)/$", views.operation_modify_parcels, name="operation-parcels-modify", ), - url( + re_path( r"^operation-relations-modify/(?P<pk>.+)/$", check_permissions( ["archaeological_operations.change_operation", @@ -368,7 +367,7 @@ urlpatterns = [ )(views.site_operation_modify_relations), name="site-operation-relations-modify", ), - url( + re_path( r"^operation-qa-bulk-update/(?P<pks>[0-9-]+)?/$", check_permissions( ["archaeological_operations.change_operation", @@ -376,7 +375,7 @@ urlpatterns = [ )(views.QAOperationForm.as_view()), name="operation-qa-bulk-update", ), - url( + re_path( r"^operation-qa-bulk-update/(?P<pks>[0-9-]+)?/confirm/$", check_permissions( ["archaeological_operations.change_operation", @@ -385,7 +384,7 @@ urlpatterns = [ name="operation-qa-bulk-update-confirm", kwargs={"confirm": True}, ), - url( + re_path( r"^operation-qa-duplicate/(?P<pks>[0-9-]+)?/$", check_permissions( ["archaeological_operations.change_operation", @@ -393,19 +392,19 @@ urlpatterns = [ )(views.QAOperationdDuplicateFormView.as_view()), name="operation-qa-duplicate", ), - url( + re_path( r"^operation-qa-lock/(?P<pks>[0-9-]+)?/$", views.QAOperationLockView.as_view(), name="operation-qa-lock", kwargs={"model": models.Operation}, ), - url( + re_path( r"^operation-qa-link/(?P<pks>[0-9-]+)?/$", QALinkView.as_view(), name="operation-qa-link", kwargs={"model": models.Operation, "url": "operation-qa-link"}, ), - url( + re_path( r"^site-qa-duplicate/(?P<pks>[0-9-]+)?/$", check_permissions( ["archaeological_operations.change_archaeologicalsite", @@ -413,19 +412,19 @@ urlpatterns = [ )(views.QAArchaeologicalSiteDuplicateFormView.as_view()), name="site-qa-duplicate", ), - url( + re_path( r"^site-qa-lock/(?P<pks>[0-9-]+)?/$", views.QASiteLockView.as_view(), name="site-qa-lock", kwargs={"model": models.ArchaeologicalSite}, ), - url( + re_path( r"^site-qa-link/(?P<pks>[0-9-]+)?/$", QALinkView.as_view(), name="site-qa-link", kwargs={"model": models.ArchaeologicalSite, "url": "site-qa-link"}, ), - url( + re_path( r"^site-qa-bulk-update/(?P<pks>[0-9-]+)?/$", check_permissions( ["archaeological_operations.change_archaeologicalsite", @@ -433,7 +432,7 @@ urlpatterns = [ )(views.QAArchaeologicalSiteForm.as_view()), name="site-qa-bulk-update", ), - url( + re_path( r"^site-qa-bulk-update/(?P<pks>[0-9-]+)?/confirm/$", check_permissions( ["archaeological_operations.change_archaeologicalsite", @@ -442,20 +441,20 @@ urlpatterns = [ name="site-qa-bulk-update-confirm", kwargs={"confirm": True}, ), - url( + re_path( r"generate-stats-operation/(?P<pk>.+)/", views.GenerateStatsOperation.as_view(), name="generate-stats-operation", ), - url( + re_path( r"api/facets/operation/$", views_api.FacetOperationAPIView.as_view(), name="api-facets-operation" ), - url( + re_path( r"api/search/operation/$", views_api.SearchOperationAPI.as_view(), name="api-search-operation" ), - url( + re_path( r"api/search/archaeologicalsite/$", views_api.SearchSiteAPI.as_view(), name="api-search-archaeologicalsite" ), diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py index f81933bee..91b64b390 100644 --- a/archaeological_operations/views.py +++ b/archaeological_operations/views.py @@ -28,7 +28,7 @@ from django.http import HttpResponse, HttpResponseRedirect, Http404 from django.shortcuts import render, redirect from django.urls import reverse from django.views.generic import RedirectView -from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy, parse_parcels +from ishtar_common.utils import gettext_lazy as _, pgettext_lazy, parse_parcels from django.forms import ValidationError from archaeological_operations import models diff --git a/archaeological_operations/widgets.py b/archaeological_operations/widgets.py index 98e7169ab..16bd69545 100644 --- a/archaeological_operations/widgets.py +++ b/archaeological_operations/widgets.py @@ -22,7 +22,7 @@ from django.forms import widgets from django.forms.utils import flatatt from django.template import loader from django.utils.safestring import mark_safe -from ishtar_common.utils import ugettext_lazy as _, get_current_profile +from ishtar_common.utils import gettext_lazy as _, get_current_profile class ParcelWidget(widgets.MultiWidget): diff --git a/archaeological_operations/wizards.py b/archaeological_operations/wizards.py index 94d6b49f9..eab5596fb 100644 --- a/archaeological_operations/wizards.py +++ b/archaeological_operations/wizards.py @@ -23,7 +23,7 @@ from django.conf import settings from django.core.exceptions import ObjectDoesNotExist from django.shortcuts import render from django.urls import reverse -from ishtar_common.utils import ugettext_lazy as _ +from ishtar_common.utils import gettext_lazy as _ from archaeological_files.models import File from archaeological_operations import models diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py index 8a16a53ce..c43fc513a 100644 --- a/archaeological_warehouse/forms.py +++ b/archaeological_warehouse/forms.py @@ -27,7 +27,7 @@ from django.conf import settings from django.core.validators import validate_slug from django.forms.formsets import formset_factory -from ishtar_common.utils import ugettext_lazy as _ +from ishtar_common.utils import gettext_lazy as _ from ishtar_common.models import ( Area, diff --git a/archaeological_warehouse/ishtar_menu.py b/archaeological_warehouse/ishtar_menu.py index ae66e165c..5c758341a 100644 --- a/archaeological_warehouse/ishtar_menu.py +++ b/archaeological_warehouse/ishtar_menu.py @@ -17,7 +17,7 @@ # See the file COPYING for details. -from ishtar_common.utils import ugettext_lazy as _ +from ishtar_common.utils import gettext_lazy as _ from ishtar_common.menu_base import SectionItem, MenuItem diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index d692f3dd9..5c48ac032 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -29,7 +29,7 @@ from django.db.models import Q, Max from django.db.models.signals import post_save, post_delete, m2m_changed, pre_delete from django.template.defaultfilters import slugify from django.urls import reverse, reverse_lazy -from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy +from ishtar_common.utils import gettext_lazy as _, pgettext_lazy from django.apps import apps from ishtar_common.data_importer import post_importer_action, pre_importer_action, \ diff --git a/archaeological_warehouse/urls.py b/archaeological_warehouse/urls.py index 395204c19..47f08099e 100644 --- a/archaeological_warehouse/urls.py +++ b/archaeological_warehouse/urls.py @@ -17,8 +17,7 @@ # See the file COPYING for details. -from django.conf.urls import url -from django.urls import path +from django.urls import path, re_path from ishtar_common.utils import check_permissions from ishtar_common.views import QALinkView @@ -29,7 +28,7 @@ from archaeological_warehouse import models, views, views_api # forms urlpatterns = [ - url( + re_path( r"warehouse_packaging/(?P<step>.+)?$", # AFAC check_permissions( ["archaeological_finds.change_find", @@ -37,75 +36,75 @@ urlpatterns = [ )(views.warehouse_packaging_wizard), name="warehouse_packaging", ), - url( + re_path( r"new-warehouse/(?P<parent_name>.+)?/$", views.new_warehouse, name="new-warehouse", ), - url( + re_path( r"^show-warehouse(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_warehouse, name=models.Warehouse.SHOW_URL, ), - url( + re_path( r"^show-historized-warehouse/(?P<pk>.+)?/(?P<date>.+)?$", views.show_warehouse, name="show-historized-warehouse", ), - url( + re_path( r"^revert-warehouse/(?P<pk>.+)/(?P<date>.+)$", views.revert_warehouse, name="revert-warehouse", ), - url( + re_path( r"autocomplete-warehouse/$", views.autocomplete_warehouse, name="autocomplete-warehouse", ), - url( + re_path( r"new-container/(?P<parent_name>.+)?/$", views.new_container, name="new-container", ), - url(r"get-container/(?P<type>.+)?$", views.get_container, name="get-container"), - url( + re_path(r"get-container/(?P<type>.+)?$", views.get_container, name="get-container"), + re_path( r"get-divisions-container/(?P<type>.+)?$", views.get_divisions_container, name="get-divisions-container", ), - url( + re_path( r"get-non-divisions-container/(?P<type>.+)?$", views.get_non_divisions_container, name="get-non-divisions-container", ), - url(r"get-warehouse/(?P<type>.+)?$", views.get_warehouse, name="get-warehouse"), - url( + re_path(r"get-warehouse/(?P<type>.+)?$", views.get_warehouse, name="get-warehouse"), + re_path( r"get-warehouse-shortcut/(?P<type>.+)?$", views.get_warehouse, name="get-warehouse-shortcut", kwargs={"full": "shortcut"}, ), - url( + re_path( r"autocomplete-container/(?P<warehouse_id>\d+)?(?:/)?$", views.autocomplete_container, name="autocomplete-container", ), - url( + re_path( r"^show-container(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_container, name=models.Container.SHOW_URL, ), - url( + re_path( r"^show-historized-container/(?P<pk>.+)?/(?P<date>.+)?$", views.show_container, name="show-historized-container", ), - url( + re_path( r"^revert-container/(?P<pk>.+)/(?P<date>.+)$", views.revert_container, name="revert-container", ), - url( + re_path( r"^warehouse_search/(?P<step>.+)?$", check_permissions( ["archaeological_warehouse.view_warehouse", @@ -113,14 +112,14 @@ urlpatterns = [ )(views.warehouse_search_wizard), name="warehouse_search", ), - url( + re_path( r"^warehouse_creation/(?P<step>.+)?$", check_permissions( ["archaeological_warehouse.add_warehouse"] )(views.warehouse_creation_wizard), name="warehouse_creation", ), - url( + re_path( r"^warehouse_modification/(?P<step>.+)?$", check_permissions( ["archaeological_warehouse.change_warehouse", @@ -128,12 +127,12 @@ urlpatterns = [ )(views.warehouse_modification_wizard), name="warehouse_modification", ), - url( + re_path( r"warehouse-modify/(?P<pk>.+)/$", views.warehouse_modify, name="warehouse_modify", ), - url( + re_path( r"^warehouse_deletion/(?P<step>.+)?$", check_permissions( ["archaeological_warehouse.delete_warehouse", @@ -141,24 +140,24 @@ urlpatterns = [ )(views.warehouse_deletion_wizard), name="warehouse_deletion", ), - url( + re_path( r"warehouse-delete/(?P<pk>.+)/$", views.warehouse_delete, name="delete-warehouse", ), - url( + re_path( r"^warehouse-qa-lock/(?P<pks>[0-9-]+)?/$", views.QAWarehouseLockView.as_view(), name="warehouse-qa-lock", kwargs={"model": models.Warehouse}, ), - url( + re_path( r"^warehouse-qa-link/(?P<pks>[0-9-]+)?/$", QALinkView.as_view(), name="warehouse-qa-link", kwargs={"model": models.Warehouse, "url": "warehouse-qa-link"}, ), - url( + re_path( r"^warehouse-qa-bulk-update/(?P<pks>[0-9-]+)?/$", check_permissions([ "archaeological_warehouse.change_warehouse", @@ -166,7 +165,7 @@ urlpatterns = [ ])(views.QAWarehouseForm.as_view()), name="warehouse-qa-bulk-update", ), - url( + re_path( r"^warehouse-qa-bulk-update/(?P<pks>[0-9-]+)?/confirm/$", check_permissions([ "archaeological_warehouse.change_warehouse", @@ -175,7 +174,7 @@ urlpatterns = [ name="warehouse-qa-bulk-update-confirm", kwargs={"confirm": True}, ), - url( + re_path( r"^container-add-treatment/(?P<pk>[0-9-]+)/$", check_permissions( ["archaeological_finds.change_find", @@ -183,7 +182,7 @@ urlpatterns = [ )(views.container_treatment_add), name="container-add-treatment", ), - url( + re_path( r"^container_search/(?P<step>.+)?$", check_permissions( ["archaeological_warehouse.view_container", @@ -191,14 +190,14 @@ urlpatterns = [ )(views.container_search_wizard), name="container_search", ), - url( + re_path( r"^container_creation/(?P<step>.+)?$", check_permissions( ["archaeological_warehouse.add_container"] )(views.container_creation_wizard), name="container_creation", ), - url( + re_path( r"^container_modification/(?P<step>.+)?$", check_permissions( ["archaeological_warehouse.change_container", @@ -206,12 +205,12 @@ urlpatterns = [ )(views.container_modification_wizard), name="container_modification", ), - url( + re_path( r"container-modify/(?P<pk>.+)/$", views.container_modify, name="container_modify", ), - url( + re_path( r"^container_deletion/(?P<step>.+)?$", check_permissions( ["archaeological_warehouse.delete_container", @@ -219,12 +218,12 @@ urlpatterns = [ )(views.container_deletion_wizard), name="container_deletion", ), - url( + re_path( r"container-delete/(?P<pk>.+)/$", views.container_delete, name="delete-container", ), - url( + re_path( r"^container-qa-bulk-update/(?P<pks>[0-9-]+)?/$", check_permissions( ["archaeological_warehouse.change_container", @@ -232,7 +231,7 @@ urlpatterns = [ )(views.QAContainerForm.as_view()), name="container-qa-bulk-update", ), - url( + re_path( r"^container-qa-bulk-update/(?P<pks>[0-9-]+)?/confirm/$", check_permissions( ["archaeological_warehouse.change_container", @@ -241,7 +240,7 @@ urlpatterns = [ name="container-qa-bulk-update-confirm", kwargs={"confirm": True}, ), - url( + re_path( r"^container-qa-move/(?P<pks>[0-9-]+)?/$", check_permissions( ["archaeological_warehouse.change_container", @@ -249,52 +248,52 @@ urlpatterns = [ )(views.QAContainerMoveForm.as_view()), name="container-qa-move", ), - url( + re_path( r"^container-qa-lock/(?P<pks>[0-9-]+)?/$", views.QAContainerLockView.as_view(), name="container-qa-lock", kwargs={"model": models.Container}, ), - url( + re_path( r"^container-qa-link/(?P<pks>[0-9-]+)?/$", QALinkView.as_view(), name="container-qa-link", kwargs={"model": models.Container, "url": "container-qa-link"}, ), - url( + re_path( r"container-merge/(?:(?P<page>\d+)/)?$", views.container_merge, name="container_merge", ), - url( + re_path( r"container-manual-merge/$", views.ContainerManualMerge.as_view(), name="container_manual_merge", ), - url( + re_path( r"container-manual-merge-items/(?P<pks>[0-9_]+?)/$", views.ContainerManualMergeItems.as_view(), name="container_manual_merge_items", ), - url( + re_path( r"generate-stats-container/(?P<pk>.+)/", views.GenerateStatsContainer.as_view(), name="generate-stats-container", ), - url( + re_path( r"generate-stats-warehouse/(?P<pk>.+)/", views.GenerateStatsWarehouse.as_view(), name="generate-stats-warehouse", ), - url( + re_path( r"api/facets/warehouse/$", views_api.FacetWarehouseAPIView.as_view(), name="api-facets-warehouse" ), - url( + re_path( r"api/search/warehouse/$", views_api.SearchWarehouseAPI.as_view(), name="api-search-warehouse" ), - url( + re_path( r"api/search/container/$", views_api.SearchContainerAPI.as_view(), name="api-search-container" ), diff --git a/archaeological_warehouse/views.py b/archaeological_warehouse/views.py index bab0140b6..2d77cfe92 100644 --- a/archaeological_warehouse/views.py +++ b/archaeological_warehouse/views.py @@ -27,7 +27,7 @@ from django.views.generic.edit import FormView from django.http import HttpResponse, Http404, HttpResponseRedirect from django.shortcuts import redirect from django.urls import reverse -from ishtar_common.utils import ugettext_lazy as _, pgettext_lazy +from ishtar_common.utils import gettext_lazy as _, pgettext_lazy from archaeological_warehouse import models from archaeological_warehouse import forms diff --git a/docs/generate_values_doc.py b/docs/generate_values_doc.py index e71278ded..c2dfe1b9b 100644 --- a/docs/generate_values_doc.py +++ b/docs/generate_values_doc.py @@ -1,6 +1,6 @@ from django.apps import apps from django.conf import settings -from django.utils.translation import activate, ugettext as _ +from django.utils.translation import activate, gettext as _ import datetime from jinja2 import Template diff --git a/example_project/__init__.py.base.sample b/example_project/__init__.py.base.sample index 6631c46d5..7a9846b1b 100644 --- a/example_project/__init__.py.base.sample +++ b/example_project/__init__.py.base.sample @@ -1,5 +1,5 @@ # force the retranslation of generated strings and external module -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ _("username") _("email address") diff --git a/example_project/__init__.py.celery.sample b/example_project/__init__.py.celery.sample index 3cda63729..357afe22a 100644 --- a/example_project/__init__.py.celery.sample +++ b/example_project/__init__.py.celery.sample @@ -1,5 +1,5 @@ # force the retranslation of generated strings and external module -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from .celery_app import app as celery_app diff --git a/example_project/urls.py b/example_project/urls.py index 9615afd5b..528d47259 100644 --- a/example_project/urls.py +++ b/example_project/urls.py @@ -1,5 +1,6 @@ from django.conf import settings -from django.conf.urls import include, url +from django.conf.urls import include +from django.urls import re_path from django.contrib import admin from ishtar_common.apps import admin_site @@ -16,13 +17,13 @@ APP_LIST = ['archaeological_files', 'archaeological_warehouse', 'archaeological_finds'] for app in APP_LIST: urlpatterns += [ - url('', include(app + '.urls')), + re_path('', include(app + '.urls')), ] urlpatterns += [ - url(r'^admin/', include(admin_site.urls[:2])), - url(r'', include('ishtar_common.urls')), - url(r'^$', index, name='start'), + re_path(r'^admin/', include(admin_site.urls[:2])), + re_path(r'', include('ishtar_common.urls')), + re_path(r'^$', index, name='start'), ] if settings.DEBUG: @@ -35,6 +36,6 @@ if settings.DEBUG: if settings.DEBUG_TOOLBAR: import debug_toolbar urlpatterns = [ - url(r'^__debug__/', include(debug_toolbar.urls)), + re_path(r'^__debug__/', include(debug_toolbar.urls)), ] + urlpatterns diff --git a/ishtar_common/__init__.py b/ishtar_common/__init__.py index fd8fb9357..d398224aa 100644 --- a/ishtar_common/__init__.py +++ b/ishtar_common/__init__.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- # Copyright (C) 2014-2025 Étienne Loks <etienne.loks at iggdrasil dot net> -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ # overload of translation of registration module _("username") diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index 9c94f6d06..4a9bf4958 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -34,7 +34,6 @@ from rest_framework.authtoken.models import Token from axes import models as axes_models from axes.admin import AccessAttemptAdmin, AccessLogAdmin from django.conf import settings -from django.conf.urls import url from django.contrib import admin, messages from django.contrib.admin.views.main import ChangeList from django.contrib.auth.admin import GroupAdmin, UserAdmin @@ -61,11 +60,11 @@ from django.db.models.fields.related import ForeignKey from django.forms import BaseInlineFormSet from django.http import HttpResponseRedirect, HttpResponse, Http404 from django.shortcuts import render -from django.urls import reverse +from django.urls import re_path, reverse from django.utils.decorators import method_decorator from django.utils.text import slugify from django.utils.safestring import mark_safe -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from django.views.decorators.csrf import csrf_protect from django import forms @@ -1120,7 +1119,7 @@ class ImportActionAdmin(admin.ModelAdmin): def get_urls(self): urls = super(ImportActionAdmin, self).get_urls() my_urls = [ - url(r"^import-from-csv/$", self.import_generic), + re_path(r"^import-from-csv/$", self.import_generic), ] return my_urls + urls @@ -1278,7 +1277,7 @@ class ImportGEOJSONActionAdmin(object): def get_urls(self): urls = super(ImportGEOJSONActionAdmin, self).get_urls() my_urls = [ - url(r"^import-from-geojson/$", self.import_geojson), + re_path(r"^import-from-geojson/$", self.import_geojson), ] return my_urls + urls @@ -1504,7 +1503,7 @@ class ImportJSONActionAdmin(admin.ModelAdmin): def get_urls(self): urls = super(ImportJSONActionAdmin, self).get_urls() my_urls = [ - url(r"^import-from-json/$", self.import_json), + re_path(r"^import-from-json/$", self.import_json), ] return my_urls + urls @@ -1769,7 +1768,7 @@ class CreateDepartmentActionAdmin(GeneralTypeAdmin): def get_urls(self): urls = super(CreateDepartmentActionAdmin, self).get_urls() my_urls = [ - url(r"^create-department/$", self.create_area), + re_path(r"^create-department/$", self.create_area), ] return my_urls + urls diff --git a/ishtar_common/apps.py b/ishtar_common/apps.py index 2a726dd4c..0c37c6370 100644 --- a/ishtar_common/apps.py +++ b/ishtar_common/apps.py @@ -4,7 +4,7 @@ from django.http import Http404 from django.template.response import TemplateResponse from django.urls import NoReverseMatch, reverse from django.utils.text import capfirst -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ class IshtarAdminSite(AdminSite): diff --git a/ishtar_common/context_processors.py b/ishtar_common/context_processors.py index 76ac14b82..77040e496 100644 --- a/ishtar_common/context_processors.py +++ b/ishtar_common/context_processors.py @@ -25,7 +25,7 @@ from django.conf import settings from django.core.cache import cache from django.contrib.sites.models import Site from django.urls import reverse -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from ishtar_common.version import __version__ from ishtar_common.models import get_current_profile diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index cd36a12ea..4259e1b8a 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -36,7 +36,7 @@ from django.core.files import File from django.db import IntegrityError, DatabaseError, transaction from django.db.models import Q from django.template.defaultfilters import slugify -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from ishtar_common.utils import ( get_all_field_names, diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index 1804e9c7b..55feef714 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -39,7 +39,7 @@ from django.utils import formats, translation from django.utils.functional import lazy from django.utils.safestring import mark_safe from django.utils.text import slugify -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from bootstrap_datepicker.widgets import DatePicker, DATE_FORMAT from ishtar_common import models diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 9066e2390..a5d02b11e 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -49,7 +49,7 @@ from django.forms.models import BaseModelFormSet, BaseFormSet from django.shortcuts import reverse from django.utils.text import slugify from django.utils.safestring import mark_safe -from django.utils.translation import ugettext_lazy as _, pgettext +from django.utils.translation import gettext_lazy as _, pgettext from . import models, models_rest from .models_imports import FORMATER_WIDGETS_DCT diff --git a/ishtar_common/ishtar_menu.py b/ishtar_common/ishtar_menu.py index 8eb9c5932..0235db8d1 100644 --- a/ishtar_common/ishtar_menu.py +++ b/ishtar_common/ishtar_menu.py @@ -17,7 +17,7 @@ # See the file COPYING for details. -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from ishtar_common.menu_base import SectionItem, MenuItem diff --git a/ishtar_common/management/commands/migrate_to_geo_v4.py b/ishtar_common/management/commands/migrate_to_geo_v4.py index 343fc85f3..d432e33b6 100644 --- a/ishtar_common/management/commands/migrate_to_geo_v4.py +++ b/ishtar_common/management/commands/migrate_to_geo_v4.py @@ -12,7 +12,7 @@ from django.conf import settings from django.contrib.contenttypes.models import ContentType from django.core.management.base import BaseCommand -from ishtar_common.utils import ugettext_lazy as _, get_log_time, get_percent, get_eta +from ishtar_common.utils import gettext_lazy as _, get_log_time, get_percent, get_eta from ishtar_common import models_common, models from archaeological_operations.models import Operation, ArchaeologicalSite diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 5ae5b276e..e3f2b8b61 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -82,8 +82,8 @@ from django.utils.functional import lazy from django.utils.safestring import mark_safe from ishtar_common.data_importer import post_importer_action from ishtar_common.utils import ( - ugettext_lazy as _, - ugettext, + gettext_lazy as _, + gettext, pgettext_lazy, format_date, get_generated_id, @@ -5275,9 +5275,9 @@ class Document( verbose_name_plural = _("Documents") ordering = ("title",) permissions = ( - ("view_own_document", ugettext("Can view own Document")), - ("change_own_document", ugettext("Can change own Document")), - ("delete_own_document", ugettext("Can delete own Document")), + ("view_own_document", gettext("Can view own Document")), + ("change_own_document", gettext("Can change own Document")), + ("delete_own_document", gettext("Can delete own Document")), ) indexes = [ GinIndex(fields=["data"]), diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py index 86ec7368f..a5e95bf55 100644 --- a/ishtar_common/models_common.py +++ b/ishtar_common/models_common.py @@ -47,7 +47,7 @@ from django.utils.safestring import SafeText, mark_safe from django.utils.translation import activate, deactivate from ishtar_common.utils import ( BColors, - ugettext_lazy as _, + gettext_lazy as _, pgettext_lazy, get_image_path, get_columns_from_class, diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index 60c5812b4..363b2a1c0 100644 --- a/ishtar_common/models_imports.py +++ b/ishtar_common/models_imports.py @@ -53,7 +53,7 @@ from django.db.models.base import ModelBase from django.db.models.signals import pre_delete from django.template.defaultfilters import slugify from django.utils.functional import cached_property -from django.utils.translation import ugettext_lazy as _, pgettext_lazy +from django.utils.translation import gettext_lazy as _, pgettext_lazy UnoCalc = None ITALIC = None diff --git a/ishtar_common/models_rest.py b/ishtar_common/models_rest.py index 8f6f8d40c..9ed9abd3e 100644 --- a/ishtar_common/models_rest.py +++ b/ishtar_common/models_rest.py @@ -14,7 +14,7 @@ from django.apps import apps from django.template import loader from ishtar_common.models_common import BaseSheetFilter -from ishtar_common.utils import ugettext_lazy as _ +from ishtar_common.utils import gettext_lazy as _ UnoCalc = None ITALIC = None diff --git a/ishtar_common/tasks.py b/ishtar_common/tasks.py index ba5a346e1..55c704ab1 100644 --- a/ishtar_common/tasks.py +++ b/ishtar_common/tasks.py @@ -25,7 +25,7 @@ import sys from django.conf import settings from django.core.files import File from django.db.models import Q -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from ishtar_common.models_common import Town, Department from ishtar_common.utils import task diff --git a/ishtar_common/templatetags/date_formating.py b/ishtar_common/templatetags/date_formating.py index 8d81fc578..f0504318b 100644 --- a/ishtar_common/templatetags/date_formating.py +++ b/ishtar_common/templatetags/date_formating.py @@ -4,7 +4,7 @@ from datetime import datetime from django.template import Library -from django.utils.translation import ugettext as _ +from django.utils.translation import gettext as _ register = Library() diff --git a/ishtar_common/templatetags/table_form.py b/ishtar_common/templatetags/table_form.py index 01bb5679c..f1c3f688f 100644 --- a/ishtar_common/templatetags/table_form.py +++ b/ishtar_common/templatetags/table_form.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- from django.template import Library -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ register = Library() diff --git a/ishtar_common/templatetags/window_field.py b/ishtar_common/templatetags/window_field.py index 576a7d3cc..721f39ef5 100644 --- a/ishtar_common/templatetags/window_field.py +++ b/ishtar_common/templatetags/window_field.py @@ -2,7 +2,7 @@ import os from django import template from django.template import loader -from django.utils.translation import ugettext as _ +from django.utils.translation import gettext as _ from django.utils.safestring import mark_safe from ishtar_common.models import HistoryModel, Town diff --git a/ishtar_common/templatetags/window_tables.py b/ishtar_common/templatetags/window_tables.py index 5685fbc93..bcd3a7b8c 100644 --- a/ishtar_common/templatetags/window_tables.py +++ b/ishtar_common/templatetags/window_tables.py @@ -7,7 +7,7 @@ from django.template.defaultfilters import slugify from django.template.loader import get_template from django.urls import resolve from django.utils.safestring import mark_safe -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from ishtar_common.forms import reverse_lazy from ishtar_common.widgets import DataTable diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 18e1d9c38..bbe5db892 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -56,7 +56,7 @@ from django.template.defaultfilters import slugify from django.test import TestCase as BaseTestCase from django.test.client import Client from django.test.runner import DiscoverRunner -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from django.urls import reverse from ishtar_common import models, models_common, forms_common diff --git a/ishtar_common/urls.py b/ishtar_common/urls.py index b9eb88c2b..a66947183 100644 --- a/ishtar_common/urls.py +++ b/ishtar_common/urls.py @@ -18,9 +18,9 @@ # See the file COPYING for details. from django.conf import settings -from django.conf.urls import include, url +from django.conf.urls import include from django.conf.urls.static import static -from django.urls import path +from django.urls import path, re_path from django.views.generic import TemplateView from .menus import Menu @@ -32,37 +32,37 @@ from ishtar_common.utils import check_permissions, get_urls_for_model # forms urlpatterns = [ - url(r"^status/$", views.status, name="status"), - url(r"^raise-error/$", views.raise_error, name="raise-error"), - url(r"^raise-task-error/$", views.raise_task_error, name="raise-task-error"), - url(r"^ty/(?P<url_id>[a-zA-Z0-9]+)$", views.tiny_redirect, name="tiny-redirect"), - url( + re_path(r"^status/$", views.status, name="status"), + re_path(r"^raise-error/$", views.raise_error, name="raise-error"), + re_path(r"^raise-task-error/$", views.raise_task_error, name="raise-task-error"), + re_path(r"^ty/(?P<url_id>[a-zA-Z0-9]+)$", views.tiny_redirect, name="tiny-redirect"), + re_path( r"^robots\.txt$", TemplateView.as_view(template_name="robots.txt", content_type="text/plain"), ), # internationalization - url(r"^i18n/", include("django.conf.urls.i18n")), - url(r"^js/settings.js", views.settings_js, name="settings-js"), + re_path(r"^i18n/", include("django.conf.urls.i18n")), + re_path(r"^js/settings.js", views.settings_js, name="settings-js"), # General - url(r"shortcut_menu/", views.shortcut_menu, name="shortcut-menu"), - url(r"news-feed/", views.display_news_feed, name="news-feed"), - url( + re_path(r"shortcut_menu/", views.shortcut_menu, name="shortcut-menu"), + re_path(r"news-feed/", views.display_news_feed, name="news-feed"), + re_path( r"display/(?P<item_type>\w+)/(?P<pk>\d+)/", views.DisplayItemView.as_view(), name="display-item", ), - url(r"qrcode/search/", views.QRCodeForSearchView.as_view(), name="search-qrcode"), - url( + re_path(r"qrcode/search/", views.QRCodeForSearchView.as_view(), name="search-qrcode"), + re_path( r"qrcode/(?P<app>[-a-z]+)/(?P<model_name>[-a-z]+)/(?P<pk>\d+)/", views.QRCodeView.as_view(), name="qrcode-item", ), - url( + re_path( r"^generate-labels/(?P<template_slug>[-a-z0-9]+)/", views.GenerateLabelView.as_view(), name="generate-labels", ), - url( + re_path( r"^generate-document/(?P<template_slug>[-a-z0-9]+)/(" r"?P<item_pk>\d+)/", views.GenerateView.as_view(), name="generate-document", @@ -72,54 +72,54 @@ urlpatterns = [ views.ExportMediaView.as_view(), name="export-media" ), - url( + re_path( r"person_search/(?P<step>.+)?$", check_permissions( ["ishtar_common.view_person", "ishtar_common.view_own_person"] )(views.person_search_wizard), name="person_search", ), - url( + re_path( r"person_creation/(?P<step>.+)?$", check_permissions(["ishtar_common.add_person"])(views.person_creation_wizard), name="person_creation", ), - url( + re_path( r"person_modification/(?P<step>.+)?$", check_permissions( ["ishtar_common.change_person", "ishtar_common.change_own_person"] )(views.person_modification_wizard), name="person_modification", ), - url(r"person_modify/(?P<pk>.+)/$", views.person_modify, name="person_modify"), - url( + re_path(r"person_modify/(?P<pk>.+)/$", views.person_modify, name="person_modify"), + re_path( r"person_deletion/(?P<step>.+)?$", check_permissions( ["ishtar_common.delete_person", "ishtar_common.delete_own_person"] )(views.person_deletion_wizard), name="person_deletion", ), - url(r"person_delete/(?P<pk>.+)/$", views.person_delete, name="person_delete"), - url( + re_path(r"person_delete/(?P<pk>.+)/$", views.person_delete, name="person_delete"), + re_path( r"^person-edit/$", check_permissions(["ishtar_common.add_person"])(views.PersonCreate.as_view()), name="person_create", ), - url( + re_path( r"^person-edit/(?P<pk>\d+)$", check_permissions( ["ishtar_common.change_person", "ishtar_common.change_own_person"] )(views.PersonEdit.as_view()), name="person_edit", ), - url( + re_path( r"^person-qa-bulk-update/(?P<pks>[0-9-]+)?/$", check_permissions( ["ishtar_common.change_person", "ishtar_common.change_own_person"] )(views.QAPersonForm.as_view()), name="person-qa-bulk-update", ), - url( + re_path( r"^person-qa-bulk-update/(?P<pks>[0-9-]+)?/confirm/$", check_permissions( ["ishtar_common.change_person", "ishtar_common.change_own_person"] @@ -127,52 +127,52 @@ urlpatterns = [ name="person-qa-bulk-update-confirm", kwargs={"confirm": True}, ), - url( + re_path( r"organization_search/(?P<step>.+)?$", check_permissions( ["ishtar_common.view_organization", "ishtar_common.view_own_organization"] )(views.organization_search_wizard), name="organization_search", ), - url( + re_path( r"organization_creation/(?P<step>.+)?$", check_permissions( ["ishtar_common.add_organization"] )(views.organization_creation_wizard), name="organization_creation", ), - url( + re_path( r"organization_modification/(?P<step>.+)?$", check_permissions( ["ishtar_common.change_organization", "ishtar_common.change_own_organization"] )(views.organization_modification_wizard), name="organization_modification", ), - url( + re_path( r"organization_modify/(?P<pk>.+)/$", views.organization_modify, name="organization_modify", ), - url( + re_path( r"organization_deletion/(?P<step>.+)?$", check_permissions( ["ishtar_common.delete_organization", "ishtar_common.delete_own_organization"] )(views.organization_deletion_wizard), name="organization_deletion", ), - url( + re_path( r"organization_delete/(?P<pk>.+)/$", views.organization_delete, name="delete-organization", ), - url( + re_path( r"organization-edit/$", check_permissions( ["ishtar_common.add_organization"] )(views.OrganizationCreate.as_view()), name="organization_create", ), - url( + re_path( r"organization-edit/(?P<pk>\d+)$", check_permissions( ["ishtar_common.change_organization", @@ -180,28 +180,28 @@ urlpatterns = [ )(views.OrganizationEdit.as_view()), name="organization_edit", ), - url( + re_path( r"organization-person-edit/$", check_permissions( ["ishtar_common.add_organization"] )(views.OrganizationPersonCreate.as_view()), name="organization_person_create", ), - url( + re_path( r"organization-person-edit/(?P<pk>\d+)$", check_permissions( ["ishtar_common.change_organization", "ishtar_common.change_own_organization"] )(views.OrganizationPersonEdit.as_view()), name="organization_person_edit", ), - url( + re_path( r"^organization-qa-bulk-update/(?P<pks>[0-9-]+)?/$", check_permissions( ["ishtar_common.change_organization", "ishtar_common.change_own_organization"] )(views.QAOrganizationForm.as_view()), name="organization-qa-bulk-update", ), - url( + re_path( r"^organization-qa-bulk-update/(?P<pks>[0-9-]+)?/confirm/$", check_permissions( ["ishtar_common.change_organization", "ishtar_common.change_own_organization"] @@ -209,55 +209,55 @@ urlpatterns = [ name="organization-qa-bulk-update-confirm", kwargs={"confirm": True}, ), - url(r"get-ishtaruser/(?P<type>.+)?$", views.get_ishtaruser, name="get-ishtaruser"), - url( + re_path(r"get-ishtaruser/(?P<type>.+)?$", views.get_ishtaruser, name="get-ishtaruser"), + re_path( r"account_management/(?P<step>.+)?$", check_permissions( ["ishtar_common.add_ishtaruser"] )(views.account_management_wizard), name="account_management", ), - url( + re_path( r"account_manage/(?P<pk>\d+)$", views.account_manage, name="account-manage", ), - url( + re_path( r"account_deletion/(?P<step>.+)?$", check_permissions( ["ishtar_common.add_ishtaruser"] )(views.account_deletion_wizard), name="account_deletion", ), - url( + re_path( r"^import-new/$", check_permissions( ["ishtar_common.add_import", "ishtar_common.add_own_import"] )(views.NewImportView.as_view()), name="new_import", ), - url( + re_path( r"^import-edit/(?P<pk>[0-9]+)/$", check_permissions( ["ishtar_common.change_import", "ishtar_common.change_own_import"] )(views.EditImportView.as_view()), name="edit_import", ), - url( + re_path( r"^import-new-gis/$", check_permissions( ["ishtar_common.add_import", "ishtar_common.add_own_import"] )(views.NewImportGISView.as_view()), name="new_import_gis", ), - url( + re_path( r"^import-new-group/$", check_permissions( ["ishtar_common.add_import", "ishtar_common.add_own_import"] )(views.NewImportGroupView.as_view()), name="new_import_group", ), - url( + re_path( r"^import-list/$", check_permissions( ["ishtar_common.view_import", "ishtar_common.view_own_import", @@ -265,7 +265,7 @@ urlpatterns = [ )(views.ImportListView.as_view()), name="current_imports", ), - url( + re_path( r"^import-list-table/$", check_permissions( ["ishtar_common.view_import", "ishtar_common.view_own_import", @@ -273,7 +273,7 @@ urlpatterns = [ )(views.ImportListTableView.as_view()), name="current_imports_table", ), - url( + re_path( r"^import-get-status/$", check_permissions( ["ishtar_common.view_import", "ishtar_common.view_own_import", @@ -281,7 +281,7 @@ urlpatterns = [ )(views.import_get_status), name="import_get_status", ), - url( + re_path( r"^import-list-old/$", check_permissions( ["ishtar_common.view_import", "ishtar_common.view_own_import", @@ -289,78 +289,78 @@ urlpatterns = [ )(views.ImportOldListView.as_view()), name="old_imports", ), - url( + re_path( r"^import-delete/(?P<pk>[0-9]+)/$", check_permissions( ["ishtar_common.delete_import", "ishtar_common.delete_own_import"] )(views.ImportDeleteView.as_view()), name="import_delete", ), - url( + re_path( r"^import-group-delete/(?P<pk>[0-9]+)/$", check_permissions( ["ishtar_common.delete_import", "ishtar_common.delete_own_import"] )(views.ImportGroupDeleteView.as_view()), name="import_group_delete", ), - url( + re_path( r"^import-link-unmatched/(?P<pk>[0-9]+)/$", check_permissions( ["ishtar_common.change_import", "ishtar_common.change_own_import"] )(views.ImportMatchView.as_view()), name="import_link_unmatched", ), - url( + re_path( r"^import-csv-view/(?P<target>source|result|match|error)/(?P<group>group\-)?(?P<pk>[0-9]+)/$", check_permissions( ["ishtar_common.view_import", "ishtar_common.view_own_import"] )(views.ImportCSVView.as_view()), name="import_display_csv", ), - url( + re_path( r"^import-step-by-step/all/(?P<pk>[0-9]+)/(?P<line_number>[0-9]+)/$", views.ImportStepByStepView.as_view(), name="import_step_by_step_all", kwargs={"all_pages": True}, ), - url( + re_path( r"^import-step-by-step/(?P<pk>[0-9]+)/(?P<line_number>[0-9]+)/$", views.ImportStepByStepView.as_view(), name="import_step_by_step", ), - url( + re_path( r"^import-pre-form/(?P<import_id>[0-9]+)/$", check_permissions( ["ishtar_common.change_import", "ishtar_common.change_own_import"] )(views.ImportPreFormView.as_view()), name="import_pre_import_form", ), - url( + re_path( r"^import-ignore-line/(?P<line_id>[0-9]+)/$", check_permissions( ["ishtar_common.change_import", "ishtar_common.change_own_import"] )(views.line_error), name="import_ignore_line", ), - url(r"^profile(?:/(?P<pk>[0-9]+))?/$", views.ProfileEdit.as_view(), name="profile"), - url( + re_path(r"^profile(?:/(?P<pk>[0-9]+))?/$", views.ProfileEdit.as_view(), name="profile"), + re_path( r"^save-search/(?P<app_label>[a-z-]+)/(?P<model>[a-z-]+)/$", views.SearchQueryEdit.as_view(), name="save-search-query", ), - url( + re_path( r"^bookmarks/(?P<app_label>[a-z-]+)/(?P<model>[a-z-]+)/$", views.BookmarkList.as_view(), name="bookmark-list", ), - url(r"^bookmark/(?P<pk>[0-9]+)/$", views.get_bookmark, name="bookmark"), - url( + re_path(r"^bookmark/(?P<pk>[0-9]+)/$", views.get_bookmark, name="bookmark"), + re_path( r"^bookmark/delete/(?P<pk>[0-9]+)/$", views.SearchQueryDelete.as_view(), name="bookmark-delete", ), - url(r"^alerts/$", views.AlertList.as_view(), name="alert-list"), - url( + re_path(r"^alerts/$", views.AlertList.as_view(), name="alert-list"), + re_path( r"^success(?:/(?P<context>[a-z-]+)(?:/(?P<arg>[0-9a-z-|]+))?)?/$", views.SuccessView.as_view(), name="success", @@ -382,77 +382,77 @@ actions = r"|".join(actions) # other views urlpatterns += [ # General - url( + re_path( r"update-current-item/$", views.update_current_item, name="update-current-item" ), - url( + re_path( r"pin/(?P<item_type>[a-z-]+)/(?P<pk>\d+)/$", views.update_current_item, name="pin", ), - url(r"pin-search/(?P<item_type>[a-z-]+)/$", views.pin_search, name="pin-search"), - url(r"unpin/(?P<item_type>[a-z-]+)/$", views.unpin, name="unpin"), - url( + re_path(r"pin-search/(?P<item_type>[a-z-]+)/$", views.pin_search, name="pin-search"), + re_path(r"unpin/(?P<item_type>[a-z-]+)/$", views.unpin, name="unpin"), + re_path( r"get-by-importer/(?P<slug>[\w-]+)/(?P<type>[a-z-]+)?$", views.get_by_importer, name="get-by-importer", ), - url( + re_path( r"new-person/(?:(?P<parent_name>[^/]+)/)?(?:(?P<limits>[^/]+)/)?$", views.new_person, name="new-person", ), - url( + re_path( r"modify-person/(?:(?P<parent_name>[^/]+)/)?(?P<pk>[\d+]+)/$", views.modify_person, name="modify-person", ), - url(r"detail-person/(?P<pk>[\d+]+)/$", views.detail_person, name="detail-person"), - url( + re_path(r"detail-person/(?P<pk>[\d+]+)/$", views.detail_person, name="detail-person"), + re_path( r"modify-organization/(?:(?P<parent_name>[^/]+)/)?(?P<pk>[\d+]+)/$", views.modify_organization, name="modify-organization", ), - url( + re_path( r"detail-organization/(?P<pk>[\d+]+)/$", views.detail_organization, name="detail-organization", ), - url( + re_path( r"new-person-noorga/" r"(?:(?P<parent_name>[^/]+)/)?(?:(?P<limits>[^/]+)/)?$", views.new_person_noorga, name="new-person-noorga", ), - url(r"autocomplete-area/$", views.autocomplete_area, name="autocomplete-area"), - url(r"autocomplete-user/$", views.autocomplete_user, name="autocomplete-user"), - url( + re_path(r"autocomplete-area/$", views.autocomplete_area, name="autocomplete-area"), + re_path(r"autocomplete-user/$", views.autocomplete_user, name="autocomplete-user"), + re_path( r"autocomplete-ishtaruser/$", views.autocomplete_ishtaruser, name="autocomplete-ishtaruser", ), - url( + re_path( r"autocomplete-person(?:/([0-9_]+))?(?:/([0-9_]*))?/(user)?$", views.autocomplete_person, name="autocomplete-person", ), - url( + re_path( r"autocomplete-person-permissive(?:/([0-9_]+))?(?:/([0-9_]*))?" r"/(user)?$", views.autocomplete_person_permissive, name="autocomplete-person-permissive", ), - url(r"get-person/(?P<type>.+)?$", views.get_person, name="get-person"), - url( + re_path(r"get-person/(?P<type>.+)?$", views.get_person, name="get-person"), + re_path( r"get-person-full/(?P<type>.+)?$", views.get_person, name="get-person-full", kwargs={"full": True}, ), - url( + re_path( r"get-person-for-account/(?P<type>.+)?$", views.get_person_for_account, name="get-person-for-account", ), - url( + re_path( r"show-person(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_person, name="show-person", @@ -467,17 +467,17 @@ urlpatterns += [ check_permissions(["ishtaradmin"])(views.show_ishtaruser), name="show-ishtaruser", ), - url( + re_path( r"show-biographicalnote(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_biographical_note, name="show-biographicalnote", ), - url( + re_path( r"new-biographicalnote/(?:(?P<parent_name>[^/]+)/)?(?:(?P<limits>[^/]+)/)?$", views.new_biographical_note, name="new-biographicalnote", ), - url( + re_path( r"^biographicalnote-qa-edit/(?P<pks>[0-9-]+)?/$", check_permissions( ["ishtar_common.change_biographicalnote", @@ -485,129 +485,129 @@ urlpatterns += [ )(views.QABiographicalNoteForm.as_view()), name="biographicalnote-qa-edit", ), - url( + re_path( r"department-by-state/(?P<state_id>.+)?$", views.department_by_state, name="department-by-state", ), - url( + re_path( r"show-area(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_area, name="show-area", ), - url( + re_path( r"show-town(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_town, name="show-town", ), - url(r"autocomplete-town/?$", views.autocomplete_town, name="autocomplete-town"), - url( + re_path(r"autocomplete-town/?$", views.autocomplete_town, name="autocomplete-town"), + re_path( r"autocomplete-advanced-town/(?P<department_id>[0-9]+[ABab]?)?$", views.autocomplete_advanced_town, name="autocomplete-advanced-town", ), - url( + re_path( r"autocomplete-department/?$", views.autocomplete_department, name="autocomplete-department", ), - url( + re_path( r"new-author/(?:(?P<parent_name>[^/]+)/)?(?:(?P<limits>[^/]+)/)?$", views.new_author, name="new-author", ), - url( + re_path( r"autocomplete-author/$", views.autocomplete_author, name="autocomplete-author" ), - url( + re_path( r"new-organization/(?:(?P<parent_name>[^/]+)/)?" r"(?:(?P<limits>[^/]+)/)?$", views.new_organization, name="new-organization", ), - url( + re_path( r"get-organization/(?P<type>.+)?$", views.get_organization, name="get-organization", ), - url( + re_path( r"get-organization-full/(?P<type>.+)?$", views.get_organization, name="get-organization-full", kwargs={"full": True}, ), - url( + re_path( r"show-organization(?:/(?P<pk>.+))?/(?P<type>.+)?$", views.show_organization, name="show-organization", ), - url( + re_path( r"show-import(?:/(?P<pk>\d+))?/(?P<type>odt|pdf)?$", views.show_import, name="show-import", ), - url(r"autocomplete-import/$", views.autocomplete_import, name="autocomplete-import"), - url( + re_path(r"autocomplete-import/$", views.autocomplete_import, name="autocomplete-import"), + re_path( r"show-importgroup(?:/(?P<pk>\d+))?/(?P<type>odt|pdf)?$", views.show_import_group, name="show-importgroup", ), - url( + re_path( r"autocomplete-organization/([0-9_]+)?$", views.autocomplete_organization, name="autocomplete-organization", ), - url( + re_path( r"autocomplete-biographical-note/$", views.autocomplete_biographical_note, name="autocomplete-biographicalnote" ), - url(r"changelog/(?:(?P<page>\d+)/)?", views.ChangelogView.as_view(), name="changelog"), - url(r"person-merge/(?:(?P<page>\d+)/)?$", views.person_merge, name="person_merge"), - url( + re_path(r"changelog/(?:(?P<page>\d+)/)?", views.ChangelogView.as_view(), name="changelog"), + re_path(r"person-merge/(?:(?P<page>\d+)/)?$", views.person_merge, name="person_merge"), + re_path( r"person-manual-merge/$", views.PersonManualMerge.as_view(), name="person_manual_merge", ), - url( + re_path( r"person-manual-merge-items/(?P<pks>[0-9_]+?)/$", views.PersonManualMergeItems.as_view(), name="person_manual_merge_items", ), - url( + re_path( r"organization-merge/(?:(?P<page>\d+)/)?$", views.organization_merge, name="organization_merge", ), - url( + re_path( r"orga-manual-merge/$", views.OrgaManualMerge.as_view(), name="orga_manual_merge", ), - url( + re_path( r"orga-manual-merge-items/(?P<pks>[0-9_]+?)/$", views.OrgaManualMergeItems.as_view(), name="orga_manual_merge_items", ), - url(r"reset/$", views.reset_wizards, name="reset_wizards"), - url( + re_path(r"reset/$", views.reset_wizards, name="reset_wizards"), + re_path( r"activate-all-search/$", views.activate_all_search, name="activate-all-search" ), - url( + re_path( r"activate-own-search/$", views.activate_own_search, name="activate-own-search" ), - url( + re_path( r"activate-advanced-menu/$", views.activate_advanced_shortcut_menu, name="activate-advanced-menu", ), - url( + re_path( r"activate-simple-menu/$", views.activate_simple_shortcut_menu, name="activate-simple-menu", ), - url(r"hide-shortcut-menu/$", views.hide_shortcut_menu, name="hide-shortcut-menu"), - url(r"show-shortcut-menu/$", views.show_shortcut_menu, name="show-shortcut-menu"), - url( + re_path(r"hide-shortcut-menu/$", views.hide_shortcut_menu, name="hide-shortcut-menu"), + re_path(r"show-shortcut-menu/$", views.show_shortcut_menu, name="show-shortcut-menu"), + re_path( r"regenerate-external-id/$", views.regenerate_external_id, name="regenerate-external-id", @@ -617,66 +617,66 @@ urlpatterns += [ views.regenerate_permissions, name="regenerate-permissions", ), - url( + re_path( r"document/search/(?P<step>.+)?$", check_permissions( ["ishtar_common.view_document", "ishtar_common.view_own_document"] )(views.document_search_wizard), name="search-document", ), - url( + re_path( r"document/search/(?P<step>.+)?$", check_permissions( ["ishtar_common.view_document", "ishtar_common.view_own_document"] )(views.document_search_wizard), name="document_search", ), - url( + re_path( r"document/create/$", check_permissions( ["ishtar_common.add_document"] )(views.DocumentCreateView.as_view()), name="create-document", ), - url( + re_path( r"document/edit/$", check_permissions( ["ishtar_common.change_document", "ishtar_common.change_own_document"] )(views.DocumentSelectView.as_view()), name="edit-document", ), - url( + re_path( r"document/edit/(?P<pk>.+)/$", check_permissions( ["ishtar_common.change_document", "ishtar_common.change_own_document"] )(views.DocumentEditView.as_view()), name="edit-document", ), - url( + re_path( r"document/delete/(?P<step>.+)?$", check_permissions( ["ishtar_common.delete_document", "ishtar_common.delete_own_document"] )(views.document_deletion_wizard), name="document_deletion", ), - url( + re_path( r"autocomplete-document/$", views.autocomplete_document, name="autocomplete-document", ), - url( + re_path( r"document/shortcut/delete/(?P<pk>.+)/$", views.document_delete, name="delete-document", ), - url( + re_path( r"^document-qa-bulk-update/(?P<pks>[0-9-]+)?/$", check_permissions( ["ishtar_common.change_document", "ishtar_common.change_own_document"] )(views.QADocumentForm.as_view()), name="document-qa-bulk-update", ), - url( + re_path( r"^document-qa-bulk-update/(?P<pks>[0-9-]+)?/confirm/$", check_permissions( ["ishtar_common.change_document", "ishtar_common.change_own_document"] @@ -684,7 +684,7 @@ urlpatterns += [ name="document-qa-bulk-update-confirm", kwargs={"confirm": True}, ), - url( + re_path( r"^document-qa-duplicate/(?P<pks>[0-9-]+)?/$", check_permissions( ["ishtar_common.change_document", "ishtar_common.change_own_document"] @@ -698,38 +698,38 @@ urlpatterns += [ )(views.QADocumentUnlink.as_view()), name="document-qa-unlink", ), - url( + re_path( r"^document-qa-packaging/(?P<pks>[0-9-]+)?/$", check_permissions( ["ishtar_common.change_document", "ishtar_common.change_own_document"] )(views.QADocumentPackagingFormView.as_view()), name="document-qa-packaging", ), - url( + re_path( r"autocomplete-documenttag/$", views.autocomplete_documenttag, name="autocomplete-documenttag", ), - url( + re_path( r"new-documenttag/(?:(?P<parent_name>[^/]+)/)?" r"(?:(?P<limits>[^/]+)/)?$", views.new_document_tag, name="new-documenttag", ), - url( + re_path( r"geo/create/(?P<app_source>[-\w]+)/(?P<model_source>[-\w]+)/(?P<source_pk>\d+)/$", check_permissions( ["ishtar_common.add_geovectordata"] )(views.GeoPreCreateView.as_view()), name="create-pre-geo", ), - url( + re_path( r"geo/create/(?P<app_source>[-\w]+)/(?P<model_source>[-\w]+)/(?P<source_pk>\d+)/(?P<geom_type>[-\w]+)/$", check_permissions( ["ishtar_common.add_geovectordata"] )(views.GeoCreateView.as_view()), name="create-geo", ), - url( + re_path( r"geo/edit/(?P<pk>\d+)/$", check_permissions( ["ishtar_common.change_geovectordata", @@ -737,7 +737,7 @@ urlpatterns += [ )(views.GeoEditView.as_view()), name="edit-geo", ), - url( + re_path( r"geo/delete/(?P<pk>\d+)/$", check_permissions( ["ishtar_common.delete_geovectordata", @@ -745,7 +745,7 @@ urlpatterns += [ )(views.GeoDeleteView.as_view()), name="delete-geo", ), - url( + re_path( r"^qa-not-available(?:/(?P<context>[0-9a-z-]+))?/$", views.QANotAvailable.as_view(), name="qa-not-available", @@ -770,7 +770,7 @@ urlpatterns += [ urlpatterns += get_urls_for_model(models.Document, views, own=True) urlpatterns += [ - url(r"(?P<action_slug>" + actions + r")/$", views.action, name="action"), + re_path(r"(?P<action_slug>" + actions + r")/$", views.action, name="action"), ] diff --git a/ishtar_common/urls_registration.py b/ishtar_common/urls_registration.py index 556bf6f95..a3bc5efb1 100644 --- a/ishtar_common/urls_registration.py +++ b/ishtar_common/urls_registration.py @@ -1,5 +1,4 @@ -from django.conf.urls import url -from django.urls import path +from django.urls import path, re_path from django.views.generic.base import TemplateView try: @@ -12,7 +11,8 @@ from django.contrib.auth import views as auth_views from ishtar_common import views urlpatterns = [ - url(r'^accounts/activate/complete/$', + re_path( + r'^accounts/activate/complete/$', TemplateView.as_view( template_name='registration/activation_complete.html' ), @@ -21,23 +21,27 @@ urlpatterns = [ # [a-fA-F0-9]{40} because a bad activation key should still get to # the view; that way it can return a sensible "invalid key" # message instead of a confusing 404. - url(r'^accounts/activate/(?P<activation_key>\w+)/$', + re_path( + r'^accounts/activate/(?P<activation_key>\w+)/$', registration_views.ActivationView.as_view(), name='registration_activate'), - url(r'^accounts/register/$', + re_path( + r'^accounts/register/$', views.RegistrationView.as_view(), name='registration_register'), - url(r'^accounts/register/complete/$', + re_path( + r'^accounts/register/complete/$', TemplateView.as_view( template_name='registration/registration_complete.html' ), name='registration_complete'), - url(r'^accounts/register/closed/$', + re_path( + r'^accounts/register/closed/$', TemplateView.as_view( template_name='registration/registration_closed.html' ), name='registration_disallowed'), - # url("^accounts/", include('django.contrib.auth.urls')), + # re_path("^accounts/", include('django.contrib.auth.urls')), path('accounts/login/', views.LoginView.as_view(), name='login'), path('accounts/logout/', views.LogoutView.as_view(), name='logout'), path('accounts/password_change/', views.PasswordChangeView.as_view(), @@ -45,4 +49,4 @@ urlpatterns = [ path('accounts/password_reset/', views.PasswordResetView.as_view(), name='password_reset'), path('accounts/reset/<uidb64>/<token>/', views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'), -]
\ No newline at end of file +] diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index 1e8136470..8089715d3 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -54,7 +54,6 @@ import zipfile from django import forms from django.apps import apps from django.conf import settings -from django.conf.urls import url from django.contrib.auth.models import Permission, User, Group from django.contrib.auth.hashers import Argon2PasswordHasher as BaseArgon2PasswordHasher from django.contrib.contenttypes.models import ContentType @@ -70,7 +69,7 @@ from django.db import models from django.db.models import Q from django.db.models.functions import Length from django.http import HttpResponseRedirect -from django.urls import reverse, NoReverseMatch +from django.urls import re_path, reverse, NoReverseMatch from django.utils.crypto import get_random_string from django.utils.datastructures import MultiValueDict as BaseMultiValueDict from django.utils.formats import date_format @@ -84,20 +83,20 @@ from .jinja_filters import capfirst_filter, capitalize_filter, \ if settings.USE_TRANSLATION_OVERLOAD: from overload_translation.utils import ( - ugettext_lazy, - ugettext, + gettext_lazy, + gettext, pgettext_lazy, pgettext, ) else: from django.utils.translation import ( - ugettext_lazy, - ugettext, + gettext_lazy, + gettext, pgettext_lazy, pgettext, ) -_ = ugettext_lazy +_ = gettext_lazy logger = logging.getLogger(__name__) @@ -1300,7 +1299,7 @@ def _external_id_changed(sender, **kwargs): def shortify(lbl, number=20): - SHORTIFY_STR = ugettext(" (...)") + SHORTIFY_STR = gettext(" (...)") if not lbl: lbl = "" if len(lbl) <= number: @@ -2301,7 +2300,7 @@ def get_urls_for_model( app_label = model._meta.app_label model_name = model._meta.model_name urls = [ - url( + re_path( r"show-{}(?:/(?P<pk>.+))?/(?P<type>.+)?$".format(model.SLUG), check_permissions( [f"{app_label}.view_{model_name}", @@ -2310,7 +2309,7 @@ def get_urls_for_model( ), name="show-" + model.SLUG, ), - url( + re_path( r"^display-{}/(?P<pk>.+)/$".format(model.SLUG), check_permissions( [f"{app_label}.view_{model_name}", @@ -2322,7 +2321,7 @@ def get_urls_for_model( ] if own: urls += [ - url( + re_path( r"get-{}/own/(?P<type>.+)?$".format(model.SLUG), check_permissions( [f"{app_label}.view_{model_name}", @@ -2335,7 +2334,7 @@ def get_urls_for_model( ] urls += [ - url( + re_path( r"get-{}/(?P<type>.+)?$".format(model.SLUG), check_permissions( [f"{app_label}.view_{model_name}", @@ -2348,7 +2347,7 @@ def get_urls_for_model( if autocomplete: urls += [ - url( + re_path( r"autocomplete-{}/$".format(model.SLUG), check_permissions( [f"{app_label}.view_{model_name}", diff --git a/ishtar_common/utils_migrations.py b/ishtar_common/utils_migrations.py index 21de2fefa..f11428e3c 100644 --- a/ishtar_common/utils_migrations.py +++ b/ishtar_common/utils_migrations.py @@ -8,9 +8,9 @@ import uuid from django.core.files import File from django.core.management import call_command from django.db import connection -from django.utils.translation import ugettext_lazy +from django.utils.translation import gettext_lazy -HOMEPAGE_TITLE = ugettext_lazy("Welcome in Ishtar, open source software for management and inventory of archaeological data") +HOMEPAGE_TITLE = gettext_lazy("Welcome in Ishtar, open source software for management and inventory of archaeological data") def migrations_load_data(module_name, migration_filename): diff --git a/ishtar_common/views.py b/ishtar_common/views.py index a4242aa3b..50c16419c 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -57,7 +57,7 @@ from django.shortcuts import redirect, render, get_object_or_404 from django.urls import reverse, NoReverseMatch from django.utils import translation from django.utils.decorators import method_decorator -from django.utils.translation import ugettext, ugettext_lazy as _ +from django.utils.translation import gettext, gettext_lazy as _ from django.views.generic import ListView, TemplateView, View from django.views.generic.edit import CreateView, DeleteView, FormView, UpdateView from extra_views import ModelFormSetView @@ -1256,7 +1256,7 @@ def action(request, action_slug, obj_id=None, *args, **kwargs): Action management """ if not check_permission(request, action_slug): - not_permitted_msg = ugettext("Operation not permitted.") + not_permitted_msg = gettext("Operation not permitted.") if obj_id: model_name = action.split('_')[0].split("-")[0].split("/")[0] if model_name not in ACTION_MODEL_DICT: diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py index f24dd19f2..eb76a2b2e 100644 --- a/ishtar_common/views_item.py +++ b/ishtar_common/views_item.py @@ -61,8 +61,8 @@ from django.utils.translation import ( deactivate, get_language, pgettext_lazy, - ugettext, - ugettext_lazy as _, + gettext, + gettext_lazy as _, ) from guardian.models import UserObjectPermission from tidylib import tidy_document as tidy @@ -262,7 +262,7 @@ def new_qa_item( callback=None ): def func(request, parent_name=None, limits=""): - not_permitted_msg = ugettext("Operation not permitted.") + not_permitted_msg = gettext("Operation not permitted.") meta = model._meta permission = f"{meta.app_label}.add_{meta.model_name}" if not check_permission(request, permission): @@ -307,7 +307,7 @@ def new_qa_item( def get_short_html_detail(model): def func(request, pk): - not_permitted_msg = ugettext("Operation not permitted.") + not_permitted_msg = gettext("Operation not permitted.") try: item = model.objects.get(pk=pk) except model.DoesNotExist: @@ -326,7 +326,7 @@ def modify_qa_item(model, frm, callback=None): def func(request, parent_name="", pk=None): template = "ishtar/forms/qa_new_item.html" model_name = model._meta.object_name - not_permitted_msg = ugettext("Operation not permitted.") + not_permitted_msg = gettext("Operation not permitted.") try: item = model.objects.get(pk=pk) except model.DoesNotExist: diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py index 3e1f9d0f1..a7a59d818 100644 --- a/ishtar_common/widgets.py +++ b/ishtar_common/widgets.py @@ -38,7 +38,7 @@ from django.utils.functional import lazy from django.utils.html import escape from django.utils.safestring import mark_safe from json import JSONEncoder -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from ishtar_common import models from ishtar_common.utils import get_columns_from_class, reverse_coordinates diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index 1d5e95647..8d58b4146 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -47,7 +47,7 @@ from django.http import HttpResponseRedirect, Http404 from django.forms import ValidationError from django.shortcuts import redirect, render, reverse from django.template import loader -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from django.utils.safestring import mark_safe from ishtar_common import models, models_rest diff --git a/overload_translation/models.py b/overload_translation/models.py index 723c22836..fb40a63b9 100644 --- a/overload_translation/models.py +++ b/overload_translation/models.py @@ -1,6 +1,6 @@ from django.conf import settings from django.db import models -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ class TranslationOverload(models.Model): diff --git a/overload_translation/utils.py b/overload_translation/utils.py index 575de0102..6a95dc52c 100644 --- a/overload_translation/utils.py +++ b/overload_translation/utils.py @@ -3,7 +3,7 @@ from django.core.cache import cache from django.db import connection from django.db.utils import DatabaseError from django.utils.functional import lazy -from django.utils.translation import ugettext as _, pgettext as _p, get_language +from django.utils.translation import gettext as _, pgettext as _p, get_language import hashlib @@ -56,7 +56,7 @@ def simple_trans(message, context): return s -def ugettext(message, context=""): +def gettext(message, context=""): has_translation_key = "{}-has-dynamic-translation".format( settings.PROJECT_SLUG) has_translations = cache.get(has_translation_key) @@ -97,11 +97,11 @@ def ugettext(message, context=""): return value -ugettext_lazy = lazy(ugettext, str) +gettext_lazy = lazy(gettext, str) def pgettext(context, message): - return ugettext(message, context=context) + return gettext(message, context=context) -pgettext_lazy = lazy(pgettext, str)
\ No newline at end of file +pgettext_lazy = lazy(pgettext, str) |