summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commita943717c1adf586d3f59ad35608dbbf306ab45eb (patch)
treef836cb832551cd1604dff2c99a42cb59ccb8adf7
parent3e1baf5804b27cb84c5db0121d6352d5b80a1535 (diff)
downloadIshtar-a943717c1adf586d3f59ad35608dbbf306ab45eb.tar.bz2
Ishtar-a943717c1adf586d3f59ad35608dbbf306ab45eb.zip
♻️ django 3.2 deprecation: url -> re_path ; ugettext_lazy -> gettext_lazy
-rw-r--r--archaeological_context_records/forms.py2
-rw-r--r--archaeological_context_records/ishtar_menu.py2
-rw-r--r--archaeological_context_records/models.py2
-rw-r--r--archaeological_context_records/urls.py65
-rw-r--r--archaeological_context_records/views.py2
-rw-r--r--archaeological_context_records/wizards.py2
-rw-r--r--archaeological_files/admin.py7
-rw-r--r--archaeological_files/forms.py2
-rw-r--r--archaeological_files/ishtar_menu.py2
-rw-r--r--archaeological_files/models.py2
-rw-r--r--archaeological_files/tests.py2
-rw-r--r--archaeological_files/urls.py71
-rw-r--r--archaeological_files/views.py2
-rw-r--r--archaeological_files/wizards.py2
-rw-r--r--archaeological_finds/forms.py2
-rw-r--r--archaeological_finds/forms_treatments.py2
-rw-r--r--archaeological_finds/ishtar_menu.py2
-rw-r--r--archaeological_finds/models_finds.py2
-rw-r--r--archaeological_finds/models_treatments.py2
-rw-r--r--archaeological_finds/urls.py225
-rw-r--r--archaeological_finds/views.py2
-rw-r--r--archaeological_finds/wizards.py2
-rw-r--r--archaeological_operations/forms.py2
-rw-r--r--archaeological_operations/ishtar_menu.py2
-rw-r--r--archaeological_operations/models.py2
-rw-r--r--archaeological_operations/tests.py2
-rw-r--r--archaeological_operations/urls.py139
-rw-r--r--archaeological_operations/views.py2
-rw-r--r--archaeological_operations/widgets.py2
-rw-r--r--archaeological_operations/wizards.py2
-rw-r--r--archaeological_warehouse/forms.py2
-rw-r--r--archaeological_warehouse/ishtar_menu.py2
-rw-r--r--archaeological_warehouse/models.py2
-rw-r--r--archaeological_warehouse/urls.py95
-rw-r--r--archaeological_warehouse/views.py2
-rw-r--r--docs/generate_values_doc.py2
-rw-r--r--example_project/__init__.py.base.sample2
-rw-r--r--example_project/__init__.py.celery.sample2
-rw-r--r--example_project/urls.py13
-rw-r--r--ishtar_common/__init__.py2
-rw-r--r--ishtar_common/admin.py13
-rw-r--r--ishtar_common/apps.py2
-rw-r--r--ishtar_common/context_processors.py2
-rw-r--r--ishtar_common/data_importer.py2
-rw-r--r--ishtar_common/forms.py2
-rw-r--r--ishtar_common/forms_common.py2
-rw-r--r--ishtar_common/ishtar_menu.py2
-rw-r--r--ishtar_common/management/commands/migrate_to_geo_v4.py2
-rw-r--r--ishtar_common/models.py10
-rw-r--r--ishtar_common/models_common.py2
-rw-r--r--ishtar_common/models_imports.py2
-rw-r--r--ishtar_common/models_rest.py2
-rw-r--r--ishtar_common/tasks.py2
-rw-r--r--ishtar_common/templatetags/date_formating.py2
-rw-r--r--ishtar_common/templatetags/table_form.py2
-rw-r--r--ishtar_common/templatetags/window_field.py2
-rw-r--r--ishtar_common/templatetags/window_tables.py2
-rw-r--r--ishtar_common/tests.py2
-rw-r--r--ishtar_common/urls.py280
-rw-r--r--ishtar_common/urls_registration.py22
-rw-r--r--ishtar_common/utils.py25
-rw-r--r--ishtar_common/utils_migrations.py4
-rw-r--r--ishtar_common/views.py4
-rw-r--r--ishtar_common/views_item.py10
-rw-r--r--ishtar_common/widgets.py2
-rw-r--r--ishtar_common/wizards.py2
-rw-r--r--overload_translation/models.py2
-rw-r--r--overload_translation/utils.py10
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)