diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index 11bb84ef97..a6b8364ef0 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -19,4 +19,4 @@ A description of the idea or need, possibly supplemented with a specific solutio
The added value for business operations or services
### Additional context
-Any other context or screenshots about the feature request
\ No newline at end of file
+Any other context or screenshots about the feature request
diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml
index ad2a55584a..2b83b774a5 100644
--- a/.github/workflows/code-quality.yml
+++ b/.github/workflows/code-quality.yml
@@ -94,8 +94,7 @@ jobs:
ports:
- 5432:5432
# Needed because the postgres container does not provide a healthcheck
- options:
- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
+ options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v3
@@ -154,3 +153,19 @@ jobs:
- name: Run Bandit
run: |
bandit -r ./src/ -x tests,conf/utils.py -s B101
+
+ pre-commit:
+ name: Pre-commit hooks
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: '3.11'
+
+ - name: Install pre-commit
+ run: pip install pre-commit
+
+ - name: Run pre-commit on all files
+ run: pre-commit run --all-files
diff --git a/.gitignore b/.gitignore
index ab7f97843b..28efa9321b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,4 +49,3 @@ src/open_inwoner/static/webfonts/fa-solid-900.woff2
src/open_inwoner/static/webfonts/fa-v4compatibility.ttf
src/open_inwoner/static/webfonts/fa-v4compatibility.woff2
src/open_inwoner/static/fonts/material-icons/
-
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 0000000000..a51cb9136a
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,30 @@
+repos:
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: v5.0.0
+ hooks:
+ - id: trailing-whitespace
+ - id: end-of-file-fixer
+ - id: mixed-line-ending
+ - id: check-merge-conflict
+ - id: check-toml
+ - id: debug-statements
+ - repo: https://github.com/astral-sh/ruff-pre-commit
+ # Ruff version.
+ rev: v0.8.4
+ hooks:
+ # Run the linter.
+ - id: ruff
+ args: [--fix]
+ types: [file, python]
+ # Run the formatter.
+ # - id: ruff-format
+ - repo: https://github.com/pycqa/flake8
+ rev: 7.0.0
+ hooks:
+ - id: flake8
+ - repo: https://github.com/psf/black-pre-commit-mirror
+ rev: 22.12.0
+ hooks:
+ - id: black
+ language_version: python3.11
+ types: [file, python]
diff --git a/.python-version b/.python-version
index 902b2c90c8..2c0733315e 100644
--- a/.python-version
+++ b/.python-version
@@ -1 +1 @@
-3.11
\ No newline at end of file
+3.11
diff --git a/AUTHORS b/AUTHORS
index 962b5dd59a..1701491fca 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -4,7 +4,7 @@ Maykin Media team was happy to participate in such a socially significant projec
Here is an inevitably incomplete list of MUCH-APPRECIATED CONTRIBUTORS --
people who laid the groundwork, have submitted patches, reported bugs, added
-translations, helped answer questions, and generally made the components that
+translations, helped answer questions, and generally made the components that
much better:
Alex de Landgraaf
@@ -21,4 +21,4 @@ A big THANK YOU goes to:
ideas: the municipalities of Deventer, Enschede, Groningen, Leeuwarden,
Zaanstad and Zwolle.
- All people behind Common Ground for their enthusiasm and vision.
\ No newline at end of file
+ All people behind Common Ground for their enthusiasm and vision.
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 39f8d49636..abbcfefa20 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -4,4 +4,3 @@ Change history
See the Github releases: https://github.com/maykinmedia/open-inwoner/releases
-
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 472c57acb5..bfe589b0ea 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -70,4 +70,4 @@ members of the project's leadership.
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
-[homepage]: https://www.contributor-covenant.org
\ No newline at end of file
+[homepage]: https://www.contributor-covenant.org
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e215f40def..81d8d7218c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -72,4 +72,4 @@ to a release branch.
[issues]: https://github.com/maykinmedia/open-inwoner/issues
[new_issue]: https://github.com/maykinmedia/open-inwoner/issues/new/choose
[Standard_for_Public_Code]: https://standard.publiccode.net
-[repository]: https://github.com/maykinmedia/open-inwoner
\ No newline at end of file
+[repository]: https://github.com/maykinmedia/open-inwoner
diff --git a/LICENSE.md b/LICENSE.md
index b8f267af7d..02896c6226 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -215,15 +215,15 @@ Deze openbare licentie van de Europese Unie („EUPL”) is van toepassing op he
of op een andere wijze zijn bereidheid te kennen heeft gegeven krachtens de EUPL in licentie te geven.
1.Definities
-In deze licentie wordt verstaan onder:
-— „de licentie”:de onderhavige licentie;
-— „het oorspronkelijke werk”:het werk dat of de software die door de licentiegever krachtens deze licentie wordt verspreid of medegedeeld, en dat/die beschikbaar is als broncode en, in voorkomend geval, ook als uitvoerbare code;
-— „bewerkingen”:de werken of software die de licentiehouder kan creëren op grond van het oorspronkelijke werk of wijzigingen ervan. In deze licentie wordt niet gedefinieerd welke mate van wijziging of afhankelijkheid van het oorspronkelijke werk vereist is om een werk als een bewerking te kunnen aanmerken; dat wordt bepaald conform het auteursrecht dat van toepassing is in de in artikel 15 bedoelde staat;
-— „het werk”:het oorspronkelijke werk of de bewerkingen ervan;
-— „de broncode”:de voor mensen leesbare vorm van het werk, die het gemakkelijkste door mensen kan worden bestudeerd en gewijzigd;
-— „de uitvoerbare code”:elke code die over het algemeen is gecompileerd en is bedoeld om door een computer als een programma te worden uitgevoerd;
-— „de licentiegever”:de natuurlijke of rechtspersoon die het werk krachtens de licentie verspreidt of mededeelt;
-— „bewerker(s)”:elke natuurlijke of rechtspersoon die het werk krachtens de licentie wijzigt of op een andere wijze bijdraagt tot de totstandkoming van een bewerking;
+In deze licentie wordt verstaan onder:
+— „de licentie”:de onderhavige licentie;
+— „het oorspronkelijke werk”:het werk dat of de software die door de licentiegever krachtens deze licentie wordt verspreid of medegedeeld, en dat/die beschikbaar is als broncode en, in voorkomend geval, ook als uitvoerbare code;
+— „bewerkingen”:de werken of software die de licentiehouder kan creëren op grond van het oorspronkelijke werk of wijzigingen ervan. In deze licentie wordt niet gedefinieerd welke mate van wijziging of afhankelijkheid van het oorspronkelijke werk vereist is om een werk als een bewerking te kunnen aanmerken; dat wordt bepaald conform het auteursrecht dat van toepassing is in de in artikel 15 bedoelde staat;
+— „het werk”:het oorspronkelijke werk of de bewerkingen ervan;
+— „de broncode”:de voor mensen leesbare vorm van het werk, die het gemakkelijkste door mensen kan worden bestudeerd en gewijzigd;
+— „de uitvoerbare code”:elke code die over het algemeen is gecompileerd en is bedoeld om door een computer als een programma te worden uitgevoerd;
+— „de licentiegever”:de natuurlijke of rechtspersoon die het werk krachtens de licentie verspreidt of mededeelt;
+— „bewerker(s)”:elke natuurlijke of rechtspersoon die het werk krachtens de licentie wijzigt of op een andere wijze bijdraagt tot de totstandkoming van een bewerking;
— „de licentiehouder” of „u”:elke natuurlijke of rechtspersoon die het werk onder de voorwaarden van de licentie gebruikt; — „verspreiding” of „mededeling”:het verkopen, geven, uitlenen, verhuren, verspreiden, mededelen, doorgeven, of op een andere wijze online of offline beschikbaar stellen van kopieën van het werk of het verlenen van toegang tot de essentiële functies ervan ten behoeve van andere natuurlijke of rechtspersonen.
2.Draagwijdte van de uit hoofde van de licentie verleende rechten
@@ -263,7 +263,7 @@ De oorspronkelijke licentiegever garandeert dat hij houder is van het hierbij ve
Het werk is een werk in ontwikkeling, dat voortdurend door vele bewerkers wordt verbeterd. Het is een onvoltooid werk, dat bijgevolg nog tekortkomingen of programmeerfouten („bugs”) kan vertonen, die onlosmakelijk verbonden zijn met dit soort ontwikkeling. Om die reden wordt het werk op grond van de licentie verstrekt „zoals het is” en zonder enige garantie met betrekking tot het werk te geven, met inbegrip van, maar niet beperkt tot garanties met betrekking tot de verhandelbaarheid, de geschiktheid voor een specifiek doel, de afwezigheid van tekortkomingen of fouten, de nauwkeurigheid, de eerbiediging van andere intellectuele-eigendomsrechten dan het in artikel 6 van deze licentie bedoelde auteursrecht. Deze uitsluiting van garantie is een essentieel onderdeel van de licentie en een voorwaarde voor de verlening van rechten op het werk.
8.Uitsluiting van aansprakelijkheid
-Behoudens in het geval van een opzettelijke fout of directe schade aan natuurlijke personen, is de licentiegever in geen enkel geval aansprakelijk voor ongeacht welke directe of indirecte, materiële of immateriële schade die voortvloeit uit de licentie of het gebruik van het werk, met inbegrip van, maar niet beperkt tot schade als gevolg van het verlies van goodwill, verloren werkuren, een computerdefect of computerfout, het verlies van gegevens, of enige andere commerciële schade, zelfs indien de licentiegever werd gewezen op de mogelijkheid van dergelijke schade. De licentiegever is echter aansprakelijk op grond van de wetgeving inzake productaansprakelijkheid, voor zover deze wetgeving op het werk van toepassing is.
+Behoudens in het geval van een opzettelijke fout of directe schade aan natuurlijke personen, is de licentiegever in geen enkel geval aansprakelijk voor ongeacht welke directe of indirecte, materiële of immateriële schade die voortvloeit uit de licentie of het gebruik van het werk, met inbegrip van, maar niet beperkt tot schade als gevolg van het verlies van goodwill, verloren werkuren, een computerdefect of computerfout, het verlies van gegevens, of enige andere commerciële schade, zelfs indien de licentiegever werd gewezen op de mogelijkheid van dergelijke schade. De licentiegever is echter aansprakelijk op grond van de wetgeving inzake productaansprakelijkheid, voor zover deze wetgeving op het werk van toepassing is.
9.Aanvullende overeenkomsten
Bij de verspreiding van het werk kunt u ervoor kiezen een aanvullende overeenkomst te sluiten, waarin de verplichtingen of diensten overeenkomstig deze licentie worden omschreven. Indien deze verplichtingen worden aanvaard, kunt u echter alleen in eigen naam en onder eigen verantwoordelijkheid handelen, en dus niet in naam van de oorspronkelijke licentiegever of een bewerker, en kunt u voorts alleen handelen indien u ermee instemt alle bewerkers schadeloos te stellen, te verdedigen of te vrijwaren met betrekking tot de aansprakelijkheid van of vorderingen tegen deze bewerkers op grond van het feit dat u een garantie of aanvullende aansprakelijkheid hebt aanvaard.
diff --git a/SECURITY.rst b/SECURITY.rst
index ff9d1feea9..1666abfe71 100644
--- a/SECURITY.rst
+++ b/SECURITY.rst
@@ -3,61 +3,61 @@
Security policy
===============
-The development team is strongly committed to responsible reporting and
-disclosure of security-related issues. As such, we’ve adopted and follow a set
-of policies which conform to that ideal and are geared toward allowing us to
+The development team is strongly committed to responsible reporting and
+disclosure of security-related issues. As such, we’ve adopted and follow a set
+of policies which conform to that ideal and are geared toward allowing us to
deliver timely security updates to the official distribution of Open Inwoner.
Reporting security issues
-------------------------
-**Short version: please report security issues by emailing
+**Short version: please report security issues by emailing
security@maykinmedia.nl.**
-If you discover security issues in Open Inwoner or related projects under the
-same organization, we request you to disclose these in a *responsible* way by
+If you discover security issues in Open Inwoner or related projects under the
+same organization, we request you to disclose these in a *responsible* way by
mailing to security@maykinmedia.nl.
-It is extremely useful if you have a reproducible test case and/or clear steps
+It is extremely useful if you have a reproducible test case and/or clear steps
on how to reproduce the vulnerability.
-Please do not report security issues on the public Github issue tracker, as
-this makes it visible which exploits exist before a fix is available,
+Please do not report security issues on the public Github issue tracker, as
+this makes it visible which exploits exist before a fix is available,
potentially comprising a lot of unprotected instances.
-Once you’ve submitted an issue via email, you should receive an acknowledgment
-from a member of the security team as soon as possible, and depending on the
+Once you’ve submitted an issue via email, you should receive an acknowledgment
+from a member of the security team as soon as possible, and depending on the
action to be taken, you may receive further followup emails.
Timeline of the process
-----------------------
-Open Inwoner community support is provided by `Maykin Media`_. The community
+Open Inwoner community support is provided by `Maykin Media`_. The community
support team is responsible for the handling of security issues.
-1. The recipients of the report first validate if there is indeed a (possible)
+1. The recipients of the report first validate if there is indeed a (possible)
issue.
2. After validation, we confirm that we received the report and if it is indeed
a valid issue.
-3. We have a private Github repository accessible only to the community support
- team. In this repository, an issue is created for the vulnerability where
+3. We have a private Github repository accessible only to the community support
+ team. In this repository, an issue is created for the vulnerability where
the impact and possible solutions are discussed.
-4. The next step is to create a (draft) Github security advisory, which is only
- visible to the repository administrators and community support team.
+4. The next step is to create a (draft) Github security advisory, which is only
+ visible to the repository administrators and community support team.
Severity and impact will be established here.
5. If appropriate, we request a `CVE identifier`_ from Github.
6. A patch is implemented, reviewed and tested in a private fork.
-7. When the fix is tested and release coordination is done, the fix is merged
- into the primary repository. The security advisory and release are
+7. When the fix is tested and release coordination is done, the fix is merged
+ into the primary repository. The security advisory and release are
published. All managed instances should be updated.
-8. The release and security vulnerability are communicated to the community.
+8. The release and security vulnerability are communicated to the community.
This includes an announcement on `commonground.nl`_.
diff --git a/bin/check_celery_worker_liveness.py b/bin/check_celery_worker_liveness.py
index 711fd5f859..ee23be4375 100644
--- a/bin/check_celery_worker_liveness.py
+++ b/bin/check_celery_worker_liveness.py
@@ -59,4 +59,4 @@
sys.exit(1)
print("Celery worker heartbeat found: OK.")
-sys.exit(0)
\ No newline at end of file
+sys.exit(0)
diff --git a/bin/generate_cms_fixture.sh b/bin/generate_cms_fixture.sh
index 8f7d6f0440..3f3675f6d9 100755
--- a/bin/generate_cms_fixture.sh
+++ b/bin/generate_cms_fixture.sh
@@ -11,5 +11,3 @@
# Note: you will likely need to restart uwsgi/supervisor/docker afterwards for apphooks to be registered properly
src/manage.py dumpdata --indent=4 --natural-primary cms.treenode cms.placeholder cms.page cms.title cms.cmsplugin extensions.commonextension > src/open_inwoner/conf/fixtures/cms-page.json
-
-
diff --git a/bootstrap.py b/bootstrap.py
index 019b97c78d..20dbffd378 100755
--- a/bootstrap.py
+++ b/bootstrap.py
@@ -13,26 +13,36 @@
Set up my development environment for me!
"""
-project_name = 'open_inwoner'
+project_name = "open_inwoner"
parser = argparse.ArgumentParser(description=description)
-parser.add_argument('target', choices=['production', 'staging', 'test', 'jenkins', 'dev'],
- help='production/staging/test/jenkins/dev')
-parser.add_argument('--project', default=project_name,
- help='Name of the project in your src directory, "%s" by default' % project_name)
-parser.add_argument('--init', action='store_true',
- help='Initialize a fresh "startproject" by pinning the requirements using pip-tools compile. '
- 'Automatically done if requirements/base.txt does not yet exist.')
-parser.add_argument('--env', default='env',
- help='Directory name for virtualenv, "env" by default')
+parser.add_argument(
+ "target",
+ choices=["production", "staging", "test", "jenkins", "dev"],
+ help="production/staging/test/jenkins/dev",
+)
+parser.add_argument(
+ "--project",
+ default=project_name,
+ help='Name of the project in your src directory, "%s" by default' % project_name,
+)
+parser.add_argument(
+ "--init",
+ action="store_true",
+ help='Initialize a fresh "startproject" by pinning the requirements using pip-tools compile. '
+ "Automatically done if requirements/base.txt does not yet exist.",
+)
+parser.add_argument(
+ "--env", default="env", help='Directory name for virtualenv, "env" by default'
+)
args = parser.parse_args()
def replace_or_append(file_path, search_val, replace_val):
file_handle, abs_path = mkstemp()
- new_file = open(abs_path, 'w')
- old_file = open(file_path, 'r')
+ new_file = open(abs_path, "w")
+ old_file = open(file_path)
found = False
for line in old_file:
if line.startswith(search_val):
@@ -51,89 +61,107 @@ def replace_or_append(file_path, search_val, replace_val):
def replace_wsgi_settings(target):
- path = os.path.join('src', project_name, 'wsgi.py')
+ path = os.path.join("src", project_name, "wsgi.py")
replace_or_append(
- path, 'os.environ.setdefault',
- 'os.environ.setdefault("DJANGO_SETTINGS_MODULE", "%s.conf.%s")\n' % (project_name, target)
+ path,
+ "os.environ.setdefault",
+ 'os.environ.setdefault("DJANGO_SETTINGS_MODULE", "%s.conf.%s")\n'
+ % (project_name, target),
)
def replace_manage_settings(target):
- path = os.path.join('src', project_name, 'manage.py')
+ path = os.path.join("src", project_name, "manage.py")
replace_or_append(
- path, ' os.environ.setdefault',
- ' os.environ.setdefault("DJANGO_SETTINGS_MODULE", "%s.conf.%s")\n' % (project_name, target)
+ path,
+ " os.environ.setdefault",
+ ' os.environ.setdefault("DJANGO_SETTINGS_MODULE", "%s.conf.%s")\n'
+ % (project_name, target),
)
def append_settings_activate(project, target, env):
- if os.name == 'posix':
- path = '%s/bin/activate' % env
- replace_or_append(path, 'export DJANGO_SETTINGS_MODULE=',
- 'export DJANGO_SETTINGS_MODULE=\'%s.conf.%s\'\n' %
- (project, target))
- elif os.name == 'nt':
- path = '%s\\Scripts\\activate.bat' % env
- replace_or_append(path, 'set DJANGO_SETTINGS_MODULE=',
- 'set DJANGO_SETTINGS_MODULE=%s.conf.%s\n' %
- (project, target))
- path = '%s\\Scripts\\deactivate.bat' % env
- replace_or_append(path, 'set DJANGO_SETTINGS_MODULE=',
- 'set DJANGO_SETTINGS_MODULE=\n')
+ if os.name == "posix":
+ path = "%s/bin/activate" % env
+ replace_or_append(
+ path,
+ "export DJANGO_SETTINGS_MODULE=",
+ "export DJANGO_SETTINGS_MODULE='%s.conf.%s'\n" % (project, target),
+ )
+ elif os.name == "nt":
+ path = "%s\\Scripts\\activate.bat" % env
+ replace_or_append(
+ path,
+ "set DJANGO_SETTINGS_MODULE=",
+ "set DJANGO_SETTINGS_MODULE=%s.conf.%s\n" % (project, target),
+ )
+ path = "%s\\Scripts\\deactivate.bat" % env
+ replace_or_append(
+ path, "set DJANGO_SETTINGS_MODULE=", "set DJANGO_SETTINGS_MODULE=\n"
+ )
def pip_compile_pin_requirements(virtualenv):
- print('\n== Compiling base requirements ==\n')
- if os.name == 'posix':
- pip_path = os.path.join(virtualenv, 'bin', 'pip')
- elif os.name == 'nt':
- pip_path = os.path.join(virtualenv, 'Scripts', 'pip')
- cmd_tpl = '{pip} install pip-tools'.format(pip=pip_path)
+ print("\n== Compiling base requirements ==\n")
+ if os.name == "posix":
+ pip_path = os.path.join(virtualenv, "bin", "pip")
+ elif os.name == "nt":
+ pip_path = os.path.join(virtualenv, "Scripts", "pip")
+ cmd_tpl = f"{pip_path} install pip-tools"
call(cmd_tpl, shell=True)
- print('Error: Run `. env/bin/activate && ./bin/compile_dependencies.sh` to ensure you have requirements/base.txt and requirements/dev.txt')
- print('After that rerun bootstrap.py')
+ print(
+ "Error: Run `. env/bin/activate && ./bin/compile_dependencies.sh` to ensure you have requirements/base.txt and requirements/dev.txt"
+ )
+ print("After that rerun bootstrap.py")
sys.exit(1)
+
def main():
virtualenv = args.env
- if not hasattr(sys, 'real_prefix'):
- print('\n== Creating virtual environment ==\n')
- call('virtualenv {0} --python=python3 --prompt="({1}-{2}) "'.format(
- virtualenv, args.project, args.target
- ), shell=True)
- print('\n== Set "%s.conf.%s" as default settings ==\n' % (args.project, args.target))
+ if not hasattr(sys, "real_prefix"):
+ print("\n== Creating virtual environment ==\n")
+ call(
+ f'virtualenv {virtualenv} --python=python3 --prompt="({args.project}-{args.target}) "',
+ shell=True,
+ )
+ print(
+ '\n== Set "%s.conf.%s" as default settings ==\n' % (args.project, args.target)
+ )
append_settings_activate(args.project, args.target, args.env)
- if os.name == 'posix':
+ if os.name == "posix":
# Make manage.py executable
- st = os.stat('src/manage.py')
- os.chmod('src/manage.py', st.st_mode | stat.S_IEXEC)
- django_admin_symlink = os.path.join(virtualenv, 'bin', 'django')
+ st = os.stat("src/manage.py")
+ os.chmod("src/manage.py", st.st_mode | stat.S_IEXEC)
+ django_admin_symlink = os.path.join(virtualenv, "bin", "django")
if not os.path.exists(django_admin_symlink):
- os.symlink('../../src/manage.py', django_admin_symlink)
-
- print('\n== Upgrading Pip ==\n')
- if os.name == 'posix':
- pip_path = os.path.join(virtualenv, 'bin', 'pip')
- elif os.name == 'nt':
- pip_path = os.path.join(virtualenv, 'Scripts', 'pip')
- cmd_tpl = '{pip} install --upgrade pip'.format(pip=pip_path)
+ os.symlink("../../src/manage.py", django_admin_symlink)
+
+ print("\n== Upgrading Pip ==\n")
+ if os.name == "posix":
+ pip_path = os.path.join(virtualenv, "bin", "pip")
+ elif os.name == "nt":
+ pip_path = os.path.join(virtualenv, "Scripts", "pip")
+ cmd_tpl = f"{pip_path} install --upgrade pip"
call(cmd_tpl, shell=True)
- if args.init \
- or not os.path.exists(os.path.join('requirements', 'base.txt')) \
- or not os.path.exists(os.path.join('requirements', 'dev.txt')):
+ if (
+ args.init
+ or not os.path.exists(os.path.join("requirements", "base.txt"))
+ or not os.path.exists(os.path.join("requirements", "dev.txt"))
+ ):
pip_compile_pin_requirements(virtualenv)
- print('\n== Installing %s requirements ==\n' % args.target)
- if os.name == 'posix':
- os.environ['TMPDIR'] = '/var/tmp/'
- pip_path = os.path.join(virtualenv, 'bin', 'pip')
- cmd_tpl = '{pip} install -r requirements/{target}.txt'
- elif os.name == 'nt':
- pip_path = os.path.join(virtualenv, 'Scripts', 'pip')
- cmd_tpl = '{pip} install -r requirements\\{target}.txt'
+ print("\n== Installing %s requirements ==\n" % args.target)
+ if os.name == "posix":
+ os.environ["TMPDIR"] = "/var/tmp/"
+ pip_path = os.path.join(virtualenv, "bin", "pip")
+ cmd_tpl = "{pip} install -r requirements/{target}.txt"
+ elif os.name == "nt":
+ pip_path = os.path.join(virtualenv, "Scripts", "pip")
+ cmd_tpl = "{pip} install -r requirements\\{target}.txt"
return call(cmd_tpl.format(pip=pip_path, target=args.target), shell=True)
-if __name__ == '__main__':
+
+if __name__ == "__main__":
sys.exit(main())
diff --git a/docker-nginx-default.conf b/docker-nginx-default.conf
index 187d4fb77c..15ca9b57ef 100644
--- a/docker-nginx-default.conf
+++ b/docker-nginx-default.conf
@@ -11,4 +11,4 @@ server {
client_max_body_size 100M;
proxy_pass http://web:8000;
}
-}
\ No newline at end of file
+}
diff --git a/docker/openklant/fixtures/db.json b/docker/openklant/fixtures/db.json
index 08ac035a9a..c3ed9b67da 100644
--- a/docker/openklant/fixtures/db.json
+++ b/docker/openklant/fixtures/db.json
@@ -215,4 +215,4 @@
"object_type": "zaak"
}
}
-]
\ No newline at end of file
+]
diff --git a/docs/architecture/accounts.dot b/docs/architecture/accounts.dot
index ccfec95ec1..d3f007acd9 100644
--- a/docs/architecture/accounts.dot
+++ b/docs/architecture/accounts.dot
@@ -28,15 +28,15 @@ digraph model_graph {
PermissionsMixin
-
-
+
+
-
-
+
+
>]
diff --git a/docs/beheerhandleiding/07_zoeken.rst b/docs/beheerhandleiding/07_zoeken.rst
index 32f3a565f1..d14d3a4ff4 100644
--- a/docs/beheerhandleiding/07_zoeken.rst
+++ b/docs/beheerhandleiding/07_zoeken.rst
@@ -167,4 +167,3 @@ Door op een specifiek veld in het overzicht te klikken kunt u de
zoekveldgewicht aanpassen. Er wordt een nieuw scherm geopend (zie 7.3.1)
waar u de zoekveldgewicht en eventueel het veld kunt wijzigen. Om
wijzigingen op te slaan klikt u op de knop [opslaan].
-
diff --git a/docs/beheerhandleiding/09_datakoppelingen.rst b/docs/beheerhandleiding/09_datakoppelingen.rst
index 6ed2f3b0e5..01582a5d59 100644
--- a/docs/beheerhandleiding/09_datakoppelingen.rst
+++ b/docs/beheerhandleiding/09_datakoppelingen.rst
@@ -30,8 +30,8 @@ gebruikers. Dit is overzichtelijk weergegeven in de tabel op deze pagina.
9.1 Catalogus Configs
=====================
-Catalogus configs worden automatisch geïmporteerd vanuit Open Zaak of eSuite via de
-ZGW-koppeling. Aan deze catalogi zijn zaaktypes gekoppeld, zoals geconfigureerd in
+Catalogus configs worden automatisch geïmporteerd vanuit Open Zaak of eSuite via de
+ZGW-koppeling. Aan deze catalogi zijn zaaktypes gekoppeld, zoals geconfigureerd in
het onderdeel Zaaktypeconfiguratie.
.. _CatalogusImportExport:
@@ -43,12 +43,12 @@ Catalogi en Zaaktype Configuraties kunnen worden geëxporteerd en geïmporteerd
verschillende OIP-installaties (bijvoorbeeld tussen acceptatie- en testomgevingen).
.. note::
- De import/export-functionaliteit vereist dat de gekoppelde zaaksystemen
- materieel gelijk zijn. Dit betekent dat de catalogi en onderliggende zaaktypes
+ De import/export-functionaliteit vereist dat de gekoppelde zaaksystemen
+ materieel gelijk zijn. Dit betekent dat de catalogi en onderliggende zaaktypes
in beide ZGW API's aanwezig moeten zijn (hoewel de URLs en UUIDs mogen verschillen).
Voer daarom de ``Importeer ZGW data`` periodieke taak eerst handmatig uit op zowel de
bron als bestemming zodat de ZGW objecten volledig in sync zijn.
-
+
.. note::
Het onderstaande proces spitst zich toe op het importeren van hele Catalogus
@@ -62,8 +62,8 @@ verschillende OIP-installaties (bijvoorbeeld tussen acceptatie- en testomgevinge
Importproces
^^^^^^^^^^^^
-Tijdens de import zoekt de ontvangende installatie catalogi en zaaktypes op basis van
-specifieke kenmerken. Deze matching bepaalt hoe bijbehorende data (beschrijvingen,
+Tijdens de import zoekt de ontvangende installatie catalogi en zaaktypes op basis van
+specifieke kenmerken. Deze matching bepaalt hoe bijbehorende data (beschrijvingen,
instellingen en metadata) worden gekoppeld.
Matching-attributen
@@ -89,7 +89,7 @@ Stappen voor exporteren:
Exporteren van catalogus configuraties
-De export omvat alle catalogi, zaaktypes en onderliggende objecten (resultaattypen,
+De export omvat alle catalogi, zaaktypes en onderliggende objecten (resultaattypen,
informatie-objecttypen, etc.) van de geselecteerde catalogi.
Importeren
@@ -653,7 +653,7 @@ Klik allereerst op ‘tonen’ om alle gegevens uit te vouwen.
---------------------------------------------------
Het is mogelijk om individuele Zaaktype Configuratie objecten te importeren, op
-analoge wijze zoals beschreven voor de Catalogus Configuraties (zie
+analoge wijze zoals beschreven voor de Catalogus Configuraties (zie
:ref:`CatalogusImportExport`).
Voor meer details verwijzen we u naar deze sectie. In hoofdlijnen: via het totaaloverzicht
@@ -673,5 +673,5 @@ via de knop "Importeer bestand":
.. note::
Zaaktype Configuraties die via deze wijze worden gexporteerd, kunnen ook worden
- geimporteerd via het Catalogus Configuratie scherm, en omgekeerd.
- Zie verder :ref:`CatalogusImportExport`.
\ No newline at end of file
+ geimporteerd via het Catalogus Configuratie scherm, en omgekeerd.
+ Zie verder :ref:`CatalogusImportExport`.
diff --git a/docs/configuration/admin_oidc.rst b/docs/configuration/admin_oidc.rst
index 3bcba25589..d54ba16108 100644
--- a/docs/configuration/admin_oidc.rst
+++ b/docs/configuration/admin_oidc.rst
@@ -68,121 +68,121 @@ Detailed Information
Description Mapping from user-model fields to OIDC claims
Possible values Mapping: {'some_key': 'Some value'}
Default value {'email': ['email'], 'first_name': ['given_name'], 'last_name': ['family_name']}
-
+
Variable ADMIN_OIDC_GROUPS_CLAIM
Setting groups claim
Description The name of the OIDC claim that holds the values to map to local user groups.
Possible values No information available
Default value roles
-
+
Variable ADMIN_OIDC_MAKE_USERS_STAFF
Setting make users staff
Description Users will be flagged as being a staff user automatically. This allows users to login to the admin interface. By default they have no permissions, even if they are staff.
Possible values True, False
Default value False
-
+
Variable ADMIN_OIDC_OIDC_NONCE_SIZE
Setting Nonce size
Description Sets the length of the random string used for OpenID Connect nonce verification
Possible values string representing a positive integer
Default value 32
-
+
Variable ADMIN_OIDC_OIDC_OP_AUTHORIZATION_ENDPOINT
Setting Authorization endpoint
Description URL of your OpenID Connect provider authorization endpoint
Possible values string (URL)
Default value No default
-
+
Variable ADMIN_OIDC_OIDC_OP_DISCOVERY_ENDPOINT
Setting Discovery endpoint
Description URL of your OpenID Connect provider discovery endpoint ending with a slash (`.well-known/...` will be added automatically). If this is provided, the remaining endpoints can be omitted, as they will be derived from this endpoint.
Possible values string (URL)
Default value No default
-
+
Variable ADMIN_OIDC_OIDC_OP_JWKS_ENDPOINT
Setting JSON Web Key Set endpoint
Description URL of your OpenID Connect provider JSON Web Key Set endpoint. Required if `RS256` is used as signing algorithm.
Possible values string (URL)
Default value No default
-
+
Variable ADMIN_OIDC_OIDC_OP_TOKEN_ENDPOINT
Setting Token endpoint
Description URL of your OpenID Connect provider token endpoint
Possible values string (URL)
Default value No default
-
+
Variable ADMIN_OIDC_OIDC_OP_USER_ENDPOINT
Setting User endpoint
Description URL of your OpenID Connect provider userinfo endpoint
Possible values string (URL)
Default value No default
-
+
Variable ADMIN_OIDC_OIDC_RP_CLIENT_ID
Setting OpenID Connect client ID
Description OpenID Connect client ID provided by the OIDC Provider
Possible values string
Default value No default
-
+
Variable ADMIN_OIDC_OIDC_RP_CLIENT_SECRET
Setting OpenID Connect secret
Description OpenID Connect secret provided by the OIDC Provider
Possible values string
Default value No default
-
+
Variable ADMIN_OIDC_OIDC_RP_IDP_SIGN_KEY
Setting Sign key
Description Key the Identity Provider uses to sign ID tokens in the case of an RSA sign algorithm. Should be the signing key in PEM or DER format.
Possible values string
Default value No default
-
+
Variable ADMIN_OIDC_OIDC_RP_SCOPES_LIST
Setting OpenID Connect scopes
Description OpenID Connect scopes that are requested during login
Possible values string, comma-delimited ('foo,bar,baz')
Default value openid, email, profile
-
+
Variable ADMIN_OIDC_OIDC_RP_SIGN_ALGO
Setting OpenID sign algorithm
Description Algorithm the Identity Provider uses to sign ID tokens
Possible values string
Default value HS256
-
+
Variable ADMIN_OIDC_OIDC_STATE_SIZE
Setting State size
Description Sets the length of the random string used for OpenID Connect state verification
Possible values string representing a positive integer
Default value 32
-
+
Variable ADMIN_OIDC_OIDC_USE_NONCE
Setting Use nonce
Description Controls whether the OpenID Connect client uses nonce verification
Possible values True, False
Default value True
-
+
Variable ADMIN_OIDC_SUPERUSER_GROUP_NAMES
Setting Superuser group names
Description If any of these group names are present in the claims upon login, the user will be marked as a superuser. If none of these groups are present the user will lose superuser permissions.
Possible values string, comma-delimited ('foo,bar,baz')
- Default value
-
+ Default value
+
Variable ADMIN_OIDC_SYNC_GROUPS
Setting Create local user groups if they do not exist yet
Description If checked, local user groups will be created for group names present in the groups claim, if they do not exist yet locally.
Possible values True, False
Default value True
-
+
Variable ADMIN_OIDC_SYNC_GROUPS_GLOB_PATTERN
Setting groups glob pattern
Description The glob pattern that groups must match to be synchronized to the local database.
Possible values string
Default value *
-
+
Variable ADMIN_OIDC_USERINFO_CLAIMS_SOURCE
Setting user information claims extracted from
Description Indicates the source from which the user information claims should be extracted.
Possible values userinfo_endpoint, id_token
Default value userinfo_endpoint
-
+
Variable ADMIN_OIDC_USERNAME_CLAIM
Setting username claim
Description The name of the OIDC claim that is used as the username
diff --git a/docs/configuration/cms_cases.rst b/docs/configuration/cms_cases.rst
index e2afa09c8a..df4e13c3fe 100644
--- a/docs/configuration/cms_cases.rst
+++ b/docs/configuration/cms_cases.rst
@@ -37,17 +37,17 @@ Detailed Information
Description Icon in the menu
Possible values String
Default value No default
-
+
Variable CMS_CASES_MENU_INDICATOR
Description Menu indicator for the app
Possible values String
Default value No default
-
+
Variable CMS_CASES_REQUIRES_AUTH
Description Whether the access to the page is restricted
Possible values True, False
Default value No default
-
+
Variable CMS_CASES_REQUIRES_AUTH_BSN_OR_KVK
Description Access to the page requires BSN or KVK
Possible values True, False
diff --git a/docs/configuration/cms_collaborate.rst b/docs/configuration/cms_collaborate.rst
index 93b78dcb9c..d0c2d9a105 100644
--- a/docs/configuration/cms_collaborate.rst
+++ b/docs/configuration/cms_collaborate.rst
@@ -37,17 +37,17 @@ Detailed Information
Description Icon in the menu
Possible values String
Default value No default
-
+
Variable CMS_COLLABORATE_MENU_INDICATOR
Description Menu indicator for the app
Possible values String
Default value No default
-
+
Variable CMS_COLLABORATE_REQUIRES_AUTH
Description Whether the access to the page is restricted
Possible values True, False
Default value No default
-
+
Variable CMS_COLLABORATE_REQUIRES_AUTH_BSN_OR_KVK
Description Access to the page requires BSN or KVK
Possible values True, False
diff --git a/docs/configuration/cms_inbox.rst b/docs/configuration/cms_inbox.rst
index a8851fac27..adce40e2fc 100644
--- a/docs/configuration/cms_inbox.rst
+++ b/docs/configuration/cms_inbox.rst
@@ -37,17 +37,17 @@ Detailed Information
Description Icon in the menu
Possible values String
Default value No default
-
+
Variable CMS_INBOX_MENU_INDICATOR
Description Menu indicator for the app
Possible values String
Default value No default
-
+
Variable CMS_INBOX_REQUIRES_AUTH
Description Whether the access to the page is restricted
Possible values True, False
Default value No default
-
+
Variable CMS_INBOX_REQUIRES_AUTH_BSN_OR_KVK
Description Access to the page requires BSN or KVK
Possible values True, False
diff --git a/docs/configuration/cms_products.rst b/docs/configuration/cms_products.rst
index dbbc5c3b78..87c1bff808 100644
--- a/docs/configuration/cms_products.rst
+++ b/docs/configuration/cms_products.rst
@@ -37,17 +37,17 @@ Detailed Information
Description Icon in the menu
Possible values String
Default value No default
-
+
Variable CMS_PRODUCTS_MENU_INDICATOR
Description Menu indicator for the app
Possible values String
Default value No default
-
+
Variable CMS_PRODUCTS_REQUIRES_AUTH
Description Whether the access to the page is restricted
Possible values True, False
Default value No default
-
+
Variable CMS_PRODUCTS_REQUIRES_AUTH_BSN_OR_KVK
Description Access to the page requires BSN or KVK
Possible values True, False
diff --git a/docs/configuration/cms_profile.rst b/docs/configuration/cms_profile.rst
index 0430ad8c95..13d0312dd3 100644
--- a/docs/configuration/cms_profile.rst
+++ b/docs/configuration/cms_profile.rst
@@ -48,17 +48,17 @@ Detailed Information
Description Icon in the menu
Possible values String
Default value No default
-
+
Variable CMS_PROFILE_MENU_INDICATOR
Description Menu indicator for the app
Possible values String
Default value No default
-
+
Variable CMS_PROFILE_REQUIRES_AUTH
Description Whether the access to the page is restricted
Possible values True, False
Default value No default
-
+
Variable CMS_PROFILE_REQUIRES_AUTH_BSN_OR_KVK
Description Access to the page requires BSN or KVK
Possible values True, False
diff --git a/docs/configuration/cms_ssd.rst b/docs/configuration/cms_ssd.rst
index 1781987e92..ef11b5b2ac 100644
--- a/docs/configuration/cms_ssd.rst
+++ b/docs/configuration/cms_ssd.rst
@@ -37,17 +37,17 @@ Detailed Information
Description Icon in the menu
Possible values String
Default value No default
-
+
Variable CMS_SSD_MENU_INDICATOR
Description Menu indicator for the app
Possible values String
Default value No default
-
+
Variable CMS_SSD_REQUIRES_AUTH
Description Whether the access to the page is restricted
Possible values True, False
Default value No default
-
+
Variable CMS_SSD_REQUIRES_AUTH_BSN_OR_KVK
Description Access to the page requires BSN or KVK
Possible values True, False
diff --git a/docs/configuration/digid_oidc.rst b/docs/configuration/digid_oidc.rst
index c4cff0317e..e8dee45d99 100644
--- a/docs/configuration/digid_oidc.rst
+++ b/docs/configuration/digid_oidc.rst
@@ -60,103 +60,103 @@ Detailed Information
Description Naam van de claim die het BSN bevat van de ingelogde gebruiker.
Possible values No information available
Default value bsn
-
+
Variable DIGID_OIDC_ENABLED
Setting enable
Description Indicates whether OpenID Connect for authentication/authorization is enabled
Possible values True, False
Default value False
-
+
Variable DIGID_OIDC_OIDC_KEYCLOAK_IDP_HINT
Setting Keycloak Identity Provider hint
Description Specific for Keycloak: parameter that indicates which identity provider should be used (therefore skipping the Keycloak login screen).
Possible values string
Default value No default
-
+
Variable DIGID_OIDC_OIDC_NONCE_SIZE
Setting Nonce size
Description Sets the length of the random string used for OpenID Connect nonce verification
Possible values string representing a positive integer
Default value 32
-
+
Variable DIGID_OIDC_OIDC_OP_AUTHORIZATION_ENDPOINT
Setting Authorization endpoint
Description URL of your OpenID Connect provider authorization endpoint
Possible values string (URL)
Default value No default
-
+
Variable DIGID_OIDC_OIDC_OP_DISCOVERY_ENDPOINT
Setting Discovery endpoint
Description URL of your OpenID Connect provider discovery endpoint ending with a slash (`.well-known/...` will be added automatically). If this is provided, the remaining endpoints can be omitted, as they will be derived from this endpoint.
Possible values string (URL)
Default value No default
-
+
Variable DIGID_OIDC_OIDC_OP_JWKS_ENDPOINT
Setting JSON Web Key Set endpoint
Description URL of your OpenID Connect provider JSON Web Key Set endpoint. Required if `RS256` is used as signing algorithm.
Possible values string (URL)
Default value No default
-
+
Variable DIGID_OIDC_OIDC_OP_LOGOUT_ENDPOINT
Setting Logout endpoint
Description URL of your OpenID Connect provider logout endpoint
Possible values string (URL)
Default value No default
-
+
Variable DIGID_OIDC_OIDC_OP_TOKEN_ENDPOINT
Setting Token endpoint
Description URL of your OpenID Connect provider token endpoint
Possible values string (URL)
Default value No default
-
+
Variable DIGID_OIDC_OIDC_OP_USER_ENDPOINT
Setting User endpoint
Description URL of your OpenID Connect provider userinfo endpoint
Possible values string (URL)
Default value No default
-
+
Variable DIGID_OIDC_OIDC_RP_CLIENT_ID
Setting OpenID Connect client ID
Description OpenID Connect client ID provided by the OIDC Provider
Possible values string
Default value No default
-
+
Variable DIGID_OIDC_OIDC_RP_CLIENT_SECRET
Setting OpenID Connect secret
Description OpenID Connect secret provided by the OIDC Provider
Possible values string
Default value No default
-
+
Variable DIGID_OIDC_OIDC_RP_IDP_SIGN_KEY
Setting Sign key
Description Key the Identity Provider uses to sign ID tokens in the case of an RSA sign algorithm. Should be the signing key in PEM or DER format.
Possible values string
Default value No default
-
+
Variable DIGID_OIDC_OIDC_RP_SCOPES_LIST
Setting OpenID Connect scopes
Description OpenID Connect scopes that are requested during login. These scopes are hardcoded and must be supported by the identity provider.
Possible values No information available
Default value openid, bsn
-
+
Variable DIGID_OIDC_OIDC_RP_SIGN_ALGO
Setting OpenID sign algorithm
Description Algorithm the Identity Provider uses to sign ID tokens
Possible values string
Default value HS256
-
+
Variable DIGID_OIDC_OIDC_STATE_SIZE
Setting State size
Description Sets the length of the random string used for OpenID Connect state verification
Possible values string representing a positive integer
Default value 32
-
+
Variable DIGID_OIDC_OIDC_USE_NONCE
Setting Use nonce
Description Controls whether the OpenID Connect client uses nonce verification
Possible values True, False
Default value True
-
+
Variable DIGID_OIDC_USERINFO_CLAIMS_SOURCE
Setting user information claims extracted from
Description Indicates the source from which the user information claims should be extracted.
diff --git a/docs/configuration/digid_saml.rst b/docs/configuration/digid_saml.rst
index b9313f2c4b..5912d3111b 100644
--- a/docs/configuration/digid_saml.rst
+++ b/docs/configuration/digid_saml.rst
@@ -70,127 +70,127 @@ Detailed Information
Description 'application/soap+xml' wordt als 'legacy' beschouwd. Moderne brokers verwachten typisch 'text/xml'.
Possible values application/soap+xml, text/xml
Default value application/soap+xml
-
+
Variable DIGID_SAML_ATTRIBUTE_CONSUMING_SERVICE_INDEX
Setting Attribute consuming service index
Description Attribute consuming service index
Possible values string
Default value 1
-
+
Variable DIGID_SAML_BASE_URL
Setting Basis-URL
Description De basis-URL van de applicatie, zonder slash op het eind.
Possible values string (URL)
Default value No default
-
+
Variable DIGID_SAML_CERTIFICATE_LABEL
Setting label
Description Recognisable label for the certificate
Possible values string
Default value No default
-
+
Variable DIGID_SAML_CERTIFICATE_PRIVATE_KEY
Setting private key
Description The content of the private key
Possible values string representing the (absolute) path to a file, including file extension
Default value No default
-
+
Variable DIGID_SAML_CERTIFICATE_PUBLIC_CERTIFICATE
Setting public certificate
Description The content of the certificate
Possible values string representing the (absolute) path to a file, including file extension
Default value No default
-
+
Variable DIGID_SAML_CERTIFICATE_TYPE
Setting type
Description Is this only a certificate or is there an associated private key?
Possible values key_pair, cert_only
Default value No default
-
+
Variable DIGID_SAML_DIGEST_ALGORITHM
Setting digest algorithm
Description Digest algorithm. Note that SHA1 is deprecated, but still the default value in the SAMLv2 standard. Warning: there are known issues with single-logout functionality if using anything other than SHA1 due to some hardcoded algorithm.
Possible values http://www.w3.org/2000/09/xmldsig#sha1, http://www.w3.org/2001/04/xmlenc#sha256, http://www.w3.org/2001/04/xmldsig-more#sha384, http://www.w3.org/2001/04/xmlenc#sha512
Default value http://www.w3.org/2000/09/xmldsig#sha1
-
+
Variable DIGID_SAML_ENTITY_ID
Setting entity ID
Description Service provider entity ID.
Possible values string
Default value No default
-
+
Variable DIGID_SAML_KEY_PASSPHRASE
Setting wachtwoordzin private-key
Description Wachtwoord voor de private-key voor de authenticatie-flow.
Possible values string
Default value No default
-
+
Variable DIGID_SAML_METADATA_FILE_SOURCE
Setting (XML) metadata-URL
Description De URL waar het XML metadata-bestand kan gedownload worden.
Possible values string (URL)
- Default value
-
+ Default value
+
Variable DIGID_SAML_ORGANIZATION_NAME
Setting organisatienaam
Description Naam van de organisatie die de service aanbiedt waarvoor DigiD/eHerkenning/eIDAS-authenticatie ingericht is. Je moet ook de URL opgeven voor dit in de metadata beschikbaar is.
Possible values string
Default value No default
-
+
Variable DIGID_SAML_ORGANIZATION_URL
Setting organisatie-URL
Description URL van de organisatie die de service aanbiedt waarvoor DigiD/eHerkenning/eIDAS-authenticatie ingericht is. Je moet ook de organisatienaam opgeven voor dit in de metadata beschikbaar is.
Possible values string (URL)
Default value No default
-
+
Variable DIGID_SAML_REQUESTED_ATTRIBUTES
Setting gewenste attributen
Description Een lijst van strings (of objecten) met de gewenste attributen, bijvoorbeeld '["bsn"]'
Possible values Mapping: {'some_key': 'Some value'}
Default value {'name': 'bsn', 'required': True}
-
+
Variable DIGID_SAML_SERVICE_DESCRIPTION
Setting Service-omschrijving
Description Een beschrijving van de service die je aanbiedt.
Possible values string
Default value No default
-
+
Variable DIGID_SAML_SERVICE_NAME
Setting servicenaam
Description Naam van de service die je aanbiedt.
Possible values string
Default value No default
-
+
Variable DIGID_SAML_SIGNATURE_ALGORITHM
Setting signature algorithm
Description Ondertekenalgoritme. Merk op dat DSA_SHA1 en RSA_SHA1 deprecated zijn, maar RSA_SHA1 is nog steeds de default-waarde ind e SAMLv2-standaard. Opgelet: er zijn bekende problemen met de single-logoutfunctionaliteit indien je een ander algoritme dan SHA1 gebruikt (door hardcoded algoritmes).
Possible values http://www.w3.org/2000/09/xmldsig#dsa-sha1, http://www.w3.org/2000/09/xmldsig#rsa-sha1, http://www.w3.org/2001/04/xmldsig-more#rsa-sha256, http://www.w3.org/2001/04/xmldsig-more#rsa-sha384, http://www.w3.org/2001/04/xmldsig-more#rsa-sha512
Default value http://www.w3.org/2000/09/xmldsig#rsa-sha1
-
+
Variable DIGID_SAML_SLO
Setting Single logout
Description Single Logout is beschikbaar indien ingeschakeld
Possible values True, False
Default value True
-
+
Variable DIGID_SAML_TECHNICAL_CONTACT_PERSON_EMAIL
Setting technisch contactpersoon: e-mailadres
Description E-mailadres van de technische contactpersoon voor deze DigiD/eHerkenning/eIDAS-installatie. Je moet ook het telefoonnummer opgeven voor dit in de metadata beschikbaar is.
Possible values string
Default value No default
-
+
Variable DIGID_SAML_TECHNICAL_CONTACT_PERSON_TELEPHONE
Setting technisch contactpersoon: telefoonnummer
Description Telefoonnummer van de technische contactpersoon voor deze DigiD/eHerkenning/eIDAS-installatie. Je moet ook het e-mailadres opgeven voor dit in de metadata beschikbaar is.
Possible values string
Default value No default
-
+
Variable DIGID_SAML_WANT_ASSERTIONS_ENCRYPTED
Setting versleutel assertions
Description Indien aangevinkt, dan moeten de XML-assertions versleuteld zijn.
Possible values True, False
Default value False
-
+
Variable DIGID_SAML_WANT_ASSERTIONS_SIGNED
Setting onderteken assertions
Description Indien aangevinkt, dan moeten de XML-assertions ondertekend zijn. In het andere geval moet de hele response ondertekend zijn.
diff --git a/docs/configuration/eherkenning_oidc.rst b/docs/configuration/eherkenning_oidc.rst
index 0d30d9fa63..900a866ac2 100644
--- a/docs/configuration/eherkenning_oidc.rst
+++ b/docs/configuration/eherkenning_oidc.rst
@@ -60,103 +60,103 @@ Detailed Information
Description Indicates whether OpenID Connect for authentication/authorization is enabled
Possible values True, False
Default value False
-
+
Variable EHERKENNING_OIDC_LEGAL_SUBJECT_CLAIM
Setting bedrijfsidenticatie-claim
Description Naam van de claim die de identificatie van het ingelogde/vertegenwoordigde bedrijf bevat.
Possible values No information available
Default value urn:etoegang:core:LegalSubjectID
-
+
Variable EHERKENNING_OIDC_OIDC_KEYCLOAK_IDP_HINT
Setting Keycloak Identity Provider hint
Description Specific for Keycloak: parameter that indicates which identity provider should be used (therefore skipping the Keycloak login screen).
Possible values string
Default value No default
-
+
Variable EHERKENNING_OIDC_OIDC_NONCE_SIZE
Setting Nonce size
Description Sets the length of the random string used for OpenID Connect nonce verification
Possible values string representing a positive integer
Default value 32
-
+
Variable EHERKENNING_OIDC_OIDC_OP_AUTHORIZATION_ENDPOINT
Setting Authorization endpoint
Description URL of your OpenID Connect provider authorization endpoint
Possible values string (URL)
Default value No default
-
+
Variable EHERKENNING_OIDC_OIDC_OP_DISCOVERY_ENDPOINT
Setting Discovery endpoint
Description URL of your OpenID Connect provider discovery endpoint ending with a slash (`.well-known/...` will be added automatically). If this is provided, the remaining endpoints can be omitted, as they will be derived from this endpoint.
Possible values string (URL)
Default value No default
-
+
Variable EHERKENNING_OIDC_OIDC_OP_JWKS_ENDPOINT
Setting JSON Web Key Set endpoint
Description URL of your OpenID Connect provider JSON Web Key Set endpoint. Required if `RS256` is used as signing algorithm.
Possible values string (URL)
Default value No default
-
+
Variable EHERKENNING_OIDC_OIDC_OP_LOGOUT_ENDPOINT
Setting Logout endpoint
Description URL of your OpenID Connect provider logout endpoint
Possible values string (URL)
Default value No default
-
+
Variable EHERKENNING_OIDC_OIDC_OP_TOKEN_ENDPOINT
Setting Token endpoint
Description URL of your OpenID Connect provider token endpoint
Possible values string (URL)
Default value No default
-
+
Variable EHERKENNING_OIDC_OIDC_OP_USER_ENDPOINT
Setting User endpoint
Description URL of your OpenID Connect provider userinfo endpoint
Possible values string (URL)
Default value No default
-
+
Variable EHERKENNING_OIDC_OIDC_RP_CLIENT_ID
Setting OpenID Connect client ID
Description OpenID Connect client ID provided by the OIDC Provider
Possible values string
Default value No default
-
+
Variable EHERKENNING_OIDC_OIDC_RP_CLIENT_SECRET
Setting OpenID Connect secret
Description OpenID Connect secret provided by the OIDC Provider
Possible values string
Default value No default
-
+
Variable EHERKENNING_OIDC_OIDC_RP_IDP_SIGN_KEY
Setting Sign key
Description Key the Identity Provider uses to sign ID tokens in the case of an RSA sign algorithm. Should be the signing key in PEM or DER format.
Possible values string
Default value No default
-
+
Variable EHERKENNING_OIDC_OIDC_RP_SCOPES_LIST
Setting OpenID Connect scopes
Description OpenID Connect scopes that are requested during login. These scopes are hardcoded and must be supported by the identity provider.
Possible values string, comma-delimited ('foo,bar,baz')
Default value openid, kvk
-
+
Variable EHERKENNING_OIDC_OIDC_RP_SIGN_ALGO
Setting OpenID sign algorithm
Description Algorithm the Identity Provider uses to sign ID tokens
Possible values string
Default value HS256
-
+
Variable EHERKENNING_OIDC_OIDC_STATE_SIZE
Setting State size
Description Sets the length of the random string used for OpenID Connect state verification
Possible values string representing a positive integer
Default value 32
-
+
Variable EHERKENNING_OIDC_OIDC_USE_NONCE
Setting Use nonce
Description Controls whether the OpenID Connect client uses nonce verification
Possible values True, False
Default value True
-
+
Variable EHERKENNING_OIDC_USERINFO_CLAIMS_SOURCE
Setting user information claims extracted from
Description Indicates the source from which the user information claims should be extracted.
diff --git a/docs/configuration/eherkenning_saml.rst b/docs/configuration/eherkenning_saml.rst
index 80ed4d896f..8ede62de4a 100644
--- a/docs/configuration/eherkenning_saml.rst
+++ b/docs/configuration/eherkenning_saml.rst
@@ -89,199 +89,199 @@ Detailed Information
Description 'application/soap+xml' wordt als 'legacy' beschouwd. Moderne brokers verwachten typisch 'text/xml'.
Possible values application/soap+xml, text/xml
Default value application/soap+xml
-
+
Variable EHERKENNING_SAML_BASE_URL
Setting Basis-URL
Description De basis-URL van de applicatie, zonder slash op het eind.
Possible values string (URL)
Default value No default
-
+
Variable EHERKENNING_SAML_CERTIFICATE_LABEL
Setting label
Description Recognisable label for the certificate
Possible values string
Default value No default
-
+
Variable EHERKENNING_SAML_CERTIFICATE_PRIVATE_KEY
Setting private key
Description The content of the private key
Possible values string representing the (absolute) path to a file, including file extension
Default value No default
-
+
Variable EHERKENNING_SAML_CERTIFICATE_PUBLIC_CERTIFICATE
Setting public certificate
Description The content of the certificate
Possible values string representing the (absolute) path to a file, including file extension
Default value No default
-
+
Variable EHERKENNING_SAML_CERTIFICATE_TYPE
Setting type
Description Is this only a certificate or is there an associated private key?
Possible values key_pair, cert_only
Default value No default
-
+
Variable EHERKENNING_SAML_DIGEST_ALGORITHM
Setting digest algorithm
Description Digest algorithm. Note that SHA1 is deprecated, but still the default value in the SAMLv2 standard. Warning: there are known issues with single-logout functionality if using anything other than SHA1 due to some hardcoded algorithm.
Possible values http://www.w3.org/2000/09/xmldsig#sha1, http://www.w3.org/2001/04/xmlenc#sha256, http://www.w3.org/2001/04/xmldsig-more#sha384, http://www.w3.org/2001/04/xmlenc#sha512
Default value http://www.w3.org/2000/09/xmldsig#sha1
-
+
Variable EHERKENNING_SAML_EH_ATTRIBUTE_CONSUMING_SERVICE_INDEX
Setting eHerkenning attribute consuming service index
Description Attribute consuming service index voor de eHerkenningservice
Possible values string
Default value 9052
-
+
Variable EHERKENNING_SAML_EH_LOA
Setting eHerkenning LoA
Description Betrouwbaarheidsniveau (LoA) voor de eHerkenningservice.
Possible values urn:etoegang:core:assurance-class:loa1, urn:etoegang:core:assurance-class:loa2, urn:etoegang:core:assurance-class:loa2plus, urn:etoegang:core:assurance-class:loa3, urn:etoegang:core:assurance-class:loa4
Default value urn:etoegang:core:assurance-class:loa3
-
+
Variable EHERKENNING_SAML_EH_REQUESTED_ATTRIBUTES
Setting gewenste attributen
Description Een lijst van extra gewenste attributen. Eén enkel gewenst attribuut kan een string (de naam van het attribuut) zijn of een object met de sleutels 'name' en 'required', waarbij 'name' een string is en 'required' een boolean.
Possible values Mapping: {'some_key': 'Some value'}
Default value {'name': 'urn:etoegang:1.11:attribute-represented:CompanyName', 'required': True, 'purpose_statements': {'en': 'For testing purposes.', 'nl': 'Voor testdoeleinden.'}}
-
+
Variable EHERKENNING_SAML_EH_SERVICE_INSTANCE_UUID
Setting UUID eHerkenningservice instance
Description UUID van de eHerkenningservice-instantie. Eenmaal dit in catalogi opgenomen is kan de waarde enkel via een handmatig proces gewijzigd worden.
Possible values UUID string (e.g. f6b45142-0c60-4ec7-b43d-28ceacdc0b34)
Default value random UUID string
-
+
Variable EHERKENNING_SAML_EH_SERVICE_UUID
Setting UUID eHerkenningservice
Description UUID van de eHerkenningservice. Eenmaal dit in catalogi opgenomen is kan de waarde enkel via een handmatig proces gewijzigd worden.
Possible values UUID string (e.g. f6b45142-0c60-4ec7-b43d-28ceacdc0b34)
Default value random UUID string
-
+
Variable EHERKENNING_SAML_EIDAS_ATTRIBUTE_CONSUMING_SERVICE_INDEX
Setting eIDAS attribute consuming service index
Description Attribute consuming service index voor de eIDAS-service
Possible values string
Default value 9053
-
+
Variable EHERKENNING_SAML_EIDAS_LOA
Setting eIDAS LoA
Description Betrouwbaarheidsniveau (LoA) voor de eIDAS-service.
Possible values urn:etoegang:core:assurance-class:loa1, urn:etoegang:core:assurance-class:loa2, urn:etoegang:core:assurance-class:loa2plus, urn:etoegang:core:assurance-class:loa3, urn:etoegang:core:assurance-class:loa4
Default value urn:etoegang:core:assurance-class:loa3
-
+
Variable EHERKENNING_SAML_EIDAS_REQUESTED_ATTRIBUTES
Setting gewenste attributen
Description Een lijst van extra gewenste attributen. Eén enkel gewenst attribuut kan een string (de naam van het attribuut) zijn of een object met de sleutels 'name' en 'required', waarbij 'name' een string is en 'required' een boolean.
Possible values Mapping: {'some_key': 'Some value'}
Default value {'name': 'urn:etoegang:1.9:attribute:FirstName', 'required': True, 'purpose_statements': {'en': 'For testing purposes.', 'nl': 'Voor testdoeleinden.'}}, {'name': 'urn:etoegang:1.9:attribute:FamilyName', 'required': True, 'purpose_statements': {'en': 'For testing purposes.', 'nl': 'Voor testdoeleinden.'}}, {'name': 'urn:etoegang:1.9:attribute:DateOfBirth', 'required': True, 'purpose_statements': {'en': 'For testing purposes.', 'nl': 'Voor testdoeleinden.'}}, {'name': 'urn:etoegang:1.11:attribute-represented:CompanyName', 'required': True, 'purpose_statements': {'en': 'For testing purposes.', 'nl': 'Voor testdoeleinden.'}}
-
+
Variable EHERKENNING_SAML_EIDAS_SERVICE_INSTANCE_UUID
Setting UUID eIDAS-service instance
Description UUID van de eIDAS-service-instantie. Eenmaal dit in catalogi opgenomen is kan de waarde enkel via een handmatig proces gewijzigd worden.
Possible values UUID string (e.g. f6b45142-0c60-4ec7-b43d-28ceacdc0b34)
Default value random UUID string
-
+
Variable EHERKENNING_SAML_EIDAS_SERVICE_UUID
Setting UUID eIDAS-service
Description UUID van de eIDAS-service. Eenmaal dit in catalogi opgenomen is kan de waarde enkel via een handmatig proces gewijzigd worden.
Possible values UUID string (e.g. f6b45142-0c60-4ec7-b43d-28ceacdc0b34)
Default value random UUID string
-
+
Variable EHERKENNING_SAML_ENTITY_ID
Setting entity ID
Description Service provider entity ID.
Possible values string
Default value No default
-
+
Variable EHERKENNING_SAML_KEY_PASSPHRASE
Setting wachtwoordzin private-key
Description Wachtwoord voor de private-key voor de authenticatie-flow.
Possible values string
Default value No default
-
+
Variable EHERKENNING_SAML_MAKELAAR_ID
Setting makelaar-ID
Description OIN van de makelaar waarmee eHerkenning/eIDAS ingericht is.
Possible values string
Default value No default
-
+
Variable EHERKENNING_SAML_METADATA_FILE_SOURCE
Setting (XML) metadata-URL
Description De URL waar het XML metadata-bestand kan gedownload worden.
Possible values string (URL)
- Default value
-
+ Default value
+
Variable EHERKENNING_SAML_NO_EIDAS
Setting zonder eIDAS
Description Indien aangevinkt, dan zal de dienstcatalogus enkel de eHerkenningservice bevatten.
Possible values True, False
Default value False
-
+
Variable EHERKENNING_SAML_OIN
Setting OIN
Description De OIN van het bedrijf dat de service aanbiedt.
Possible values string
Default value No default
-
+
Variable EHERKENNING_SAML_ORGANIZATION_NAME
Setting organisatienaam
Description Naam van de organisatie die de service aanbiedt waarvoor DigiD/eHerkenning/eIDAS-authenticatie ingericht is. Je moet ook de URL opgeven voor dit in de metadata beschikbaar is.
Possible values string
Default value No default
-
+
Variable EHERKENNING_SAML_ORGANIZATION_URL
Setting organisatie-URL
Description URL van de organisatie die de service aanbiedt waarvoor DigiD/eHerkenning/eIDAS-authenticatie ingericht is. Je moet ook de organisatienaam opgeven voor dit in de metadata beschikbaar is.
Possible values string (URL)
Default value No default
-
+
Variable EHERKENNING_SAML_PRIVACY_POLICY
Setting privacybeleid
Description De URL waar het privacybeleid van de service-aanbieder (organisatie) beschreven staat.
Possible values string (URL)
Default value No default
-
+
Variable EHERKENNING_SAML_SERVICE_DESCRIPTION
Setting Service-omschrijving
Description Een beschrijving van de service die je aanbiedt.
Possible values string
Default value No default
-
+
Variable EHERKENNING_SAML_SERVICE_LANGUAGE
Setting servicetaal
Description eHerkenning/eIDAS-metadata zal deze taal bevatten
Possible values string
Default value nl
-
+
Variable EHERKENNING_SAML_SERVICE_NAME
Setting servicenaam
Description Naam van de service die je aanbiedt.
Possible values string
Default value No default
-
+
Variable EHERKENNING_SAML_SIGNATURE_ALGORITHM
Setting signature algorithm
Description Ondertekenalgoritme. Merk op dat DSA_SHA1 en RSA_SHA1 deprecated zijn, maar RSA_SHA1 is nog steeds de default-waarde ind e SAMLv2-standaard. Opgelet: er zijn bekende problemen met de single-logoutfunctionaliteit indien je een ander algoritme dan SHA1 gebruikt (door hardcoded algoritmes).
Possible values http://www.w3.org/2000/09/xmldsig#dsa-sha1, http://www.w3.org/2000/09/xmldsig#rsa-sha1, http://www.w3.org/2001/04/xmldsig-more#rsa-sha256, http://www.w3.org/2001/04/xmldsig-more#rsa-sha384, http://www.w3.org/2001/04/xmldsig-more#rsa-sha512
Default value http://www.w3.org/2000/09/xmldsig#rsa-sha1
-
+
Variable EHERKENNING_SAML_TECHNICAL_CONTACT_PERSON_EMAIL
Setting technisch contactpersoon: e-mailadres
Description E-mailadres van de technische contactpersoon voor deze DigiD/eHerkenning/eIDAS-installatie. Je moet ook het telefoonnummer opgeven voor dit in de metadata beschikbaar is.
Possible values string
Default value No default
-
+
Variable EHERKENNING_SAML_TECHNICAL_CONTACT_PERSON_TELEPHONE
Setting technisch contactpersoon: telefoonnummer
Description Telefoonnummer van de technische contactpersoon voor deze DigiD/eHerkenning/eIDAS-installatie. Je moet ook het e-mailadres opgeven voor dit in de metadata beschikbaar is.
Possible values string
Default value No default
-
+
Variable EHERKENNING_SAML_WANT_ASSERTIONS_ENCRYPTED
Setting versleutel assertions
Description Indien aangevinkt, dan moeten de XML-assertions versleuteld zijn.
Possible values True, False
Default value False
-
+
Variable EHERKENNING_SAML_WANT_ASSERTIONS_SIGNED
Setting onderteken assertions
Description Indien aangevinkt, dan moeten de XML-assertions ondertekend zijn. In het andere geval moet de hele response ondertekend zijn.
diff --git a/docs/configuration/kic.rst b/docs/configuration/kic.rst
index b823b48064..fb112c8636 100644
--- a/docs/configuration/kic.rst
+++ b/docs/configuration/kic.rst
@@ -63,68 +63,68 @@ Detailed Information
Description The client ID of the klant contactmomenten service
Possible values string (URL)
Default value No default
-
+
Variable KIC_CONTACTMOMENTEN_SERVICE_API_ROOT
Description The API root of the klant contactmomenten service
Possible values string (URL)
Default value No default
-
+
Variable KIC_CONTACTMOMENTEN_SERVICE_SECRET
Description The secret of the klant contactmomenten service
Possible values string (URL)
Default value No default
-
+
Variable KIC_KLANTEN_SERVICE_API_CLIENT_ID
Description The API root of the klanten service
Possible values string (URL)
Default value No default
-
+
Variable KIC_KLANTEN_SERVICE_API_ROOT
Description The API root of the klanten service
Possible values string (URL)
Default value No default
-
+
Variable KIC_KLANTEN_SERVICE_SECRET
Description The secret of the klanten service
Possible values string (URL)
Default value No default
-
+
Variable KIC_REGISTER_BRONORGANISATIE_RSIN
Setting Organisatie RSIN
Description No description
Possible values string
- Default value
-
+ Default value
+
Variable KIC_REGISTER_CHANNEL
Setting Contactmoment kanaal
Description De kanaal waarop nieuwe contactmomenten worden aangemaakt
Possible values string
Default value contactformulier
-
+
Variable KIC_REGISTER_CONTACT_MOMENT
Setting Registreer in Contactmomenten API
Description No description
Possible values True, False
Default value False
-
+
Variable KIC_REGISTER_EMAIL
Setting Registreer op email adres
Description No description
Possible values string representing an Email address (foo@bar.com)
Default value No default
-
+
Variable KIC_REGISTER_EMPLOYEE_ID
Setting Medewerker identificatie
Description Gebruikersnaam van actieve medewerker uit e-Suite
Possible values string
- Default value
-
+ Default value
+
Variable KIC_REGISTER_TYPE
Setting Contactmoment type
Description Naam van 'contacttype' uit e-Suite
Possible values string
Default value Melding
-
+
Variable KIC_USE_RSIN_FOR_INNNNPID_QUERY_PARAMETER
Setting Haal bronnen op uit de Klanten- en Contactmomenten-API's voor gebruikers die zijn geauthenticeerd met eHerkenning via RSIN
Description Indien ingeschakeld, worden bronnen uit de Klanten- en Contactmomenten-API's voor eHerkenning-gebruikers opgehaald via RSIN (Open Klant). Indien niet ingeschakeld, worden deze bronnen via het KVK-nummer.
diff --git a/docs/configuration/siteconfig.rst b/docs/configuration/siteconfig.rst
index 7645579488..424d57c165 100644
--- a/docs/configuration/siteconfig.rst
+++ b/docs/configuration/siteconfig.rst
@@ -114,427 +114,427 @@ Detailed Information
Description Accentkleur van de gemeentesite/huisstijl
Possible values No information available
Default value #FF0000
-
+
Variable SITE_ACCENT_FONT_COLOR
Setting Accent tekstkleur
Description De tekstkleur voor wanneer de achtergrond de accentkleur is
Possible values #FFFFFF, #4B4B4B
Default value #4B4B4B
-
+
Variable SITE_ACCOUNT_HELP_TEXT
Setting Helptekst mijn profiel
Description De helptekst in de popup van de profielpagina's
Possible values text (string)
Default value Op dit scherm ziet u uw persoonlijke profielgegevens en gerelateerde gegevens.
-
+
Variable SITE_ALLOW_MESSAGES_FILE_SHARING
Setting Sta het delen van bestanden via Mijn Berichten toe
Description Of het delen van bestanden via Mijn Berichten mogelijk is of niet. Indien uitgeschakeld dan kunnen alleen tekstberichten worden verzonden
Possible values True, False
Default value True
-
+
Variable SITE_CONTACTMOMENT_CONTACT_FORM_ENABLED
Setting Contactmoment contact formulier
Description Display contact form on the questions list page so that users can create new questions
Possible values True, False
Default value True
-
+
Variable SITE_CONTACT_PAGE
Setting URL
Description URL van de contactpagina van de organisatie
Possible values string (URL)
Default value No default
-
+
Variable SITE_CONTACT_PHONENUMBER
Setting Telefoonnummer
Description Telefoonnummer van de organisatie
Possible values string
Default value No default
-
+
Variable SITE_COOKIE_INFO_TEXT
Setting Tekst cookiebanner informatie
Description De tekstinhoud van de cookiebanner. Wanneer deze wordt ingevuld dan wordt de cookiebanner zichtbaar.
Possible values string
Default value Wij gebruiken cookies om onze website en dienstverlening te verbeteren.
-
+
Variable SITE_COOKIE_LINK_TEXT
Setting Tekst cookiebanner link
Description De tekst die wordt gebruikt als link naar de privacypagina.
Possible values string
Default value Lees meer over ons cookiebeleid.
-
+
Variable SITE_COOKIE_LINK_URL
Setting URL van de privacypagina
Description De link naar de pagina met het privacybeleid.
Possible values string
Default value /pages/privacyverklaring/
-
+
Variable SITE_DISPLAY_SOCIAL
Setting Toon sociale media knoppen bij elk product
Description Maak het delen mogelijk van producten op sociale media (Facebook, LinkedIn...)
Possible values True, False
Default value True
-
+
Variable SITE_EHERKENNING_ENABLED
Setting eHerkenning authentication ingeschakeld
Description Of gebruikers in kunnen loggen met eHerkenning of niet. Standaard wordt de SAML integratie hiervoor gebruikt (van toepassing bij een rechtstreekse aansluiting op een eHerkenning makelaar). Voor het gebruiken van een OpenID Connect (OIDC) koppeling, navigeer naar `OpenID Connect configuratie voor eHerkenning` om deze te activeren.
Possible values True, False
Default value False
-
+
Variable SITE_EMAIL_VERIFICATION_REQUIRED
Setting E-mailverificatie vereist
Description Of gebruikers verplicht zijn om na het inloggen hun e-mailadres te verifieren
Possible values True, False
Default value False
-
+
Variable SITE_FOOTER_LOGO_TITLE
Setting Footer logo title
Description The title - help text of the footer logo.
Possible values string
- Default value
-
+ Default value
+
Variable SITE_FOOTER_LOGO_URL
Setting Footer logo link
Description The external link for the footer logo.
Possible values string (URL)
- Default value
-
+ Default value
+
Variable SITE_GA_CODE
Setting Google Analytics code
Description Normaalgesproken is dit een code van het formaat 'G-XXXX'. Door dit in te stellen wordt Google Analytics gebruikt.
Possible values string
Default value No default
-
+
Variable SITE_GTM_CODE
Setting Google Tag Manager code
Description Normaalgesproken is dit een code van het formaat 'GTM-XXXX'. Door dit in te stellen wordt Google Tag Manager gebruikt.
Possible values string
Default value No default
-
+
Variable SITE_HIDE_CATEGORIES_FROM_ANONYMOUS_USERS
Setting Blokkeer toegang tot Onderwerpen voor niet-ingelogde gebruikers
Description Indien geselecteerd: alleen ingelogde gebruikers hebben toegang tot Onderwerpen.
Possible values True, False
Default value False
-
+
Variable SITE_HIDE_SEARCH_FROM_ANONYMOUS_USERS
Setting Verberg zoekbalk voor anonieme gebruiker
Description Indien geselecteerd: alleen ingelogde gebruikers zien de zoekfunctie.
Possible values True, False
Default value False
-
+
Variable SITE_HOME_HELP_TEXT
Setting Helptekst homepage
Description Helptekst in de popup op de voorpagina
Possible values text (string)
Default value Welkom! Op dit scherm vindt u een overzicht van de verschillende onderwerpen en producten & diensten.
-
+
Variable SITE_HOME_MAP_INTRO
Setting Introductietekst kaart
Description Introductietekst van de kaart op de homepage
Possible values text (string)
Default value No default
-
+
Variable SITE_HOME_MAP_TITLE
Setting Koptekst van de kaart op de homepage
Description Koptekst van de kaart op de homepage
Possible values string
Default value In de buurt
-
+
Variable SITE_HOME_PRODUCT_FINDER_INTRO
Setting Introductietekst productzoeker homepage
Description Introductietekst van de productzoeker op de homepage.
Possible values text (string)
Default value Met een paar simpele vragen ziet u welke producten passen bij uw situatie
-
+
Variable SITE_HOME_PRODUCT_FINDER_TITLE
Setting Productzoeker titel
Description Titel van de productzoeker op de homepage.
Possible values string
Default value Productzoeker
-
+
Variable SITE_HOME_QUESTIONNAIRE_INTRO
Setting Introductietekst vragenlijst homepage
Description Vragenlijst introductietekst op de homepage.
Possible values text (string)
Default value Test met een paar simpele vragen of u recht heeft op een product
-
+
Variable SITE_HOME_QUESTIONNAIRE_TITLE
Setting Titel vragenlijst homepage
Description Vragenlijst titel op de homepage.
Possible values string
Default value Waar bent u naar op zoek?
-
+
Variable SITE_HOME_THEME_INTRO
Setting Onderwerpen introductietekst op de homepage
Description Introductietekst 'Onderwerpen' op de homepage
Possible values text (string)
Default value No default
-
+
Variable SITE_HOME_THEME_TITLE
- Setting Titel 'Onderwerpen' op de homepage
+ Setting Titel 'Onderwerpen' op de homepage
Description Koptekst van de Onderwerpen op de homepage
Possible values string
Default value Onderwerpen
-
+
Variable SITE_HOME_WELCOME_INTRO
Setting Introductietekst homepage
Description Introductietekst op de homepage
Possible values text (string)
Default value No default
-
+
Variable SITE_HOME_WELCOME_TITLE
Setting Koptekst homepage
Description Koptekst op de homepage
Possible values string
Default value Welkom
-
+
Variable SITE_KCM_SURVEY_LINK_TEXT
Setting Feedbackknop label
Description De label van de knop wat wordt gebruikt om gebruikersfeedback te verzamelen
Possible values string
Default value No default
-
+
Variable SITE_KCM_SURVEY_LINK_URL
Setting Feedbackknop URL
Description De externe link achter de feedbackknop feedback.
Possible values string (URL)
Default value No default
-
+
Variable SITE_LOGIN_2FA_SMS
Setting Log in met 2FA-met-SMS
Description Bepaalt of gebruikers die met gebruikersnaam+wachtwoord inloggen verplicht een SMS verificatiecode dienen in te vullen
Possible values True, False
Default value False
-
+
Variable SITE_LOGIN_ALLOW_REGISTRATION
Setting Sta lokale registratie toe
Description Wanneer deze optie uit staat is het enkel toegestaan om met DigiD in te loggen. Zet deze instelling aan om ook het inloggen met gebruikersnaam/wachtwoord en het aanmelden zonder DigiD toe te staan.
Possible values True, False
Default value False
-
+
Variable SITE_LOGIN_SHOW
Setting Toon inlogknop rechts bovenin
Description Wanneer deze optie uit staat dan kan nog wel worden ingelogd via /accounts/login/ , echter het inloggen is verborgen
Possible values True, False
Default value True
-
+
Variable SITE_LOGIN_TEXT
Setting Login tekst
Description Deze tekst wordt getoond op de login pagina.
Possible values text (string)
Default value No default
-
+
Variable SITE_MATOMO_SITE_ID
Setting Matamo site ID
Description De 'idsite' van de website in Matamo die getrackt dient te worden.
Possible values string representing a positive integer
Default value No default
-
+
Variable SITE_MATOMO_URL
Setting Matamo server URL
Description De domeinnaam / URL van de Matamo server, bijvoorbeeld 'matamo.example.com'.
Possible values string
Default value No default
-
+
Variable SITE_NAME
Setting Naam
Description Naam van de gemeente
Possible values string
Default value No default
-
+
Variable SITE_NOTIFICATIONS_ACTIONS_ENABLED
Setting Gebruikersnotificaties voor verlopende acties
Description Notificaties voor verlopende acties (indien ingesteld, kunnen individuele gebruikers zich nog afmelden door de notificaties in het kader van aflopende samenwerkingen uit te schakelen)
Possible values True, False
Default value True
-
+
Variable SITE_NOTIFICATIONS_CASES_ENABLED
Setting Gebruikersnotificaties voor aanvragen
Description Activeer notificaties voor aanvragen (indien ingeschakeld kunnen gebruikers zich nog steeds zelf afmelden voor meldingen over aanvraag-updates, maar niet voor meldingen betreffende verplichte acties)
Possible values True, False
Default value True
-
+
Variable SITE_NOTIFICATIONS_MESSAGES_ENABLED
Setting Gebruikersnotificaties voor berichten
Description Activeer notificaties voor nieuwe berichten (indien actief kunnen gebruikers ervoor kiezen zichzelf alsnog af te melden)
Possible values True, False
Default value True
-
+
Variable SITE_NOTIFICATIONS_PLANS_ENABLED
Setting Gebruikersnotificaties voor verlopende samenwerkingen
Description Notificaties voor verlopende samenwerkingen (indien ingesteld, kunnen individuele gebruikers ervoor kiezen zichzelf alsnog af te melden)
Possible values True, False
Default value True
-
+
Variable SITE_OPENID_CONNECT_LOGIN_TEXT
Setting OpenID Connect login tekst
Description De tekst die getoond wordt wanneer OpenID Connect (OIDC/Azure AD) als loginmethode is ingesteld
Possible values string
Default value Login with Azure AD
-
+
Variable SITE_OPENID_DISPLAY
Setting Toon optie om in te loggen via OpenID Connect
Description Alleen geselecteerde groepen zullen de optie zien om met OpenID Connect in te loggen.
Possible values admin, regular
Default value admin
-
+
Variable SITE_PLANS_EDIT_MESSAGE
Setting Standaardtekst 'doel wijzigen'
Description Het bericht wanneer een gebruiker een doel wijzigt.
Possible values string
Default value Hier kunt u uw doel aanpassen
-
+
Variable SITE_PLANS_INTRO
Setting Introductietekst Samenwerken
Description Subtitel voor de planpagina.
Possible values text (string)
- Default value Hier werkt u aan uw doelen. Dit doet u samen met uw contactpersoon bij de gemeente.
-
+ Default value Hier werkt u aan uw doelen. Dit doet u samen met uw contactpersoon bij de gemeente.
+
Variable SITE_PLANS_NO_PLANS_MESSAGE
Setting Standaardtekst geen samenwerkingen
Description Het bericht als een gebruiker nog geen plannen heeft.
Possible values string
Default value U heeft nog geen plan gemaakt.
-
+
Variable SITE_PLAN_HELP_TEXT
Setting Helptekst samenwerken
Description De helptekst in de popup van de samenwerken-pagina's
Possible values text (string)
Default value Met het onderdeel Samenwerken kunt u samen met uw contactpersonen of begeleider van de gemeente aan de slag om met een samenwerkingsplan uw persoonlijke situatie te verbeteren. Door samen aan uw doelen te werken en acties te omschrijven kunnen we elkaar helpen.
-
+
Variable SITE_PRIMARY_COLOR
Setting Primaire kleur
Description Hoofdkleur van de gemeentesite/huisstijl
Possible values No information available
Default value #FFFFFF
-
+
Variable SITE_PRIMARY_FONT_COLOR
Setting Primaire tekstkleur
Description De tekstkleur voor wanneer de achtergrond de hoofdkleur is
Possible values #FFFFFF, #4B4B4B
Default value #FFFFFF
-
+
Variable SITE_PRODUCT_HELP_TEXT
Setting Helptekst producten
Description Helptekst in de popup van de productenpagina's
Possible values text (string)
Default value Op dit scherm kunt u de details vinden over het gekozen product of dienst. Afhankelijk van het product kunt u deze direct aanvragen of meer informatie opvragen.
-
+
Variable SITE_QUESTIONNAIRE_HELP_TEXT
Setting Helptekst vragenlijst/zelftest
Description De helptekst in de popup op de vragenlijst/zelftestpagina's
Possible values text (string)
Default value Het onderdeel Zelftest stelt u in staat om met het beantwoorden van enkele vragen een advies te krijgen van de gemeente, met concrete vervolgstappen en producten en diensten. U kunt tevens uw antwoorden en het advies bewaren om met een begeleider van de gemeente te bespreken.
-
+
Variable SITE_RECIPIENTS_EMAIL_DIGEST
Setting ontvangers e-mailsamenvatting
Description De e-mailadressen van beheerders die een dagelijkse samenvatting dienen te krijgen van punten van orde.
Possible values No information available
- Default value
-
+ Default value
+
Variable SITE_REDIRECT_TO
Setting Stuur niet-ingelogde gebruiker door naar
Description Geef een URL of pad op waar de niet-ingelogde gebruiker naar toe doorgestuurd moet worden vanuit de niet-ingelogde homepage. Pad voorbeeld: '/accounts/login', URL voorbeeld: 'https://gemeente.groningen.nl'
Possible values string
Default value No default
-
+
Variable SITE_REGISTRATION_TEXT
Setting Registratie tekst
Description Deze tekst wordt getoond op de registratie pagina.
Possible values text (string)
Default value No default
-
+
Variable SITE_SEARCH_FILTER_CATEGORIES
Setting Onderwerpenfilter toevoegen aan zoekresultaten
Description Of er categorie-selectievakjes moeten worden weergegeven om het zoekresultaat te filteren.
Possible values True, False
Default value True
-
+
Variable SITE_SEARCH_FILTER_ORGANIZATIONS
Setting Organisaties-filter toevoegen aan zoekresultaten
Description Of er organisatie-selectievakjes moeten worden weergegeven om het zoekresultaat te filteren.
Possible values True, False
Default value True
-
+
Variable SITE_SEARCH_FILTER_TAGS
Setting Tagfilter toevoegen aan zoekresultaten
Description Of er tag-selectievakjes moeten worden weergegeven om het zoekresultaat te filteren.
Possible values True, False
Default value True
-
+
Variable SITE_SEARCH_HELP_TEXT
Setting Helptekst zoeken
Description De helptekst in de popup op de zoekpagina's
Possible values text (string)
Default value Op dit scherm kunt u zoeken naar de producten en diensten.
-
+
Variable SITE_SECONDARY_COLOR
Setting Secundaire kleur
Description Secundaire kleur van de gemeentesite/huisstijl
Possible values No information available
Default value #0000FF
-
+
Variable SITE_SECONDARY_FONT_COLOR
Setting Secundaire tekstkleur
Description De tekstkleur voor wanneer de achtergrond de secundaire kleur is
Possible values #FFFFFF, #4B4B4B
Default value #FFFFFF
-
+
Variable SITE_SELECT_QUESTIONNAIRE_INTRO
Setting Introductietekst vragenlijst widget
Description Vragenlijst introductietekst op de onderwerpen en profielpagina's.
Possible values text (string)
Default value Kies hieronder één van de volgende vragenlijsten om de zelftest te starten.
-
+
Variable SITE_SELECT_QUESTIONNAIRE_TITLE
Setting Titel vragenlijst widget
Description Vragenlijst keuzetitel op de onderwerpen en profielpagina's.
Possible values string
Default value Keuze zelftest?
-
+
Variable SITE_SITEIMPROVE_ID
Setting SiteImprove ID
Description SiteImprove ID - Dit nummer kan gevonden worden in de SiteImprove snippet, dit is onderdeel van een URL zoals '//siteimproveanalytics.com/js/siteanalyze_xxxxx.js' waarbij het xxxxx-deel de SiteImprove ID is die hier ingevuld moet worden.
Possible values string
- Default value
-
+ Default value
+
Variable SITE_THEME_HELP_TEXT
Setting Onderwerpen help
Description Helptekst in de popup op de onderwerpenpagina
Possible values text (string)
Default value Op dit scherm vindt u de verschillende onderwerpen waarvoor wij producten en diensten aanbieden.
-
+
Variable SITE_THEME_INTRO
Setting Onderwerpen introductie
Description Introductietekst op de onderwerpenpagina
Possible values text (string)
Default value No default
-
+
Variable SITE_THEME_TITLE
Setting Onderwerpen titel
Description Titel op de Onderwerpenpagina
Possible values string
Default value Onderwerpen
-
+
Variable SITE_WARNING_BANNER_BACKGROUND_COLOR
Setting Waarschuwingsbanner achtergrond
Description Waarschuwingsbanner achtergrondkleur
Possible values No information available
Default value #FFDBAD
-
+
Variable SITE_WARNING_BANNER_ENABLED
Setting Toon waarschuwingsbanner
Description Of de waarschuwingsbanner zichtbaar moet zijn of niet.
Possible values True, False
Default value False
-
+
Variable SITE_WARNING_BANNER_FONT_COLOR
Setting Waarschuwingsbanner tekst
Description De tekstkleur voor de waarschuwingsbanner
Possible values No information available
Default value #000000
-
+
Variable SITE_WARNING_BANNER_TEXT
Setting Tekstinhoud waarschuwingsbanner
Description De tekst die zichtbaar is in de waarschuwingsbanner
diff --git a/docs/configuration/zgw.rst b/docs/configuration/zgw.rst
index 203c69f44f..7bc1874b0c 100644
--- a/docs/configuration/zgw.rst
+++ b/docs/configuration/zgw.rst
@@ -78,116 +78,116 @@ Detailed Information
Description Aantal dagen voor gebruiker om actie te ondernemen.
Possible values string representing an integer
Default value 15
-
+
Variable ZGW_ALLOWED_FILE_EXTENSIONS
Setting allowed file extensions
Description Een lijst van toegestande bestandsextensies, alleen documentuploads met een van deze extensies worden toegelaten.
Possible values No information available
Default value bmp, doc, docx, gif, jpeg, jpg, msg, pdf, png, ppt, pptx, rtf, tiff, txt, vsd, xls, xlsx
-
+
Variable ZGW_CATALOGI_SERVICE_API_ROOT
Description The API root of the catalogi service
Possible values string (URL)
Default value No default
-
+
Variable ZGW_CATALOGI_SERVICE_CLIENT_ID
Description The API root of the catalogi service
Possible values string (URL)
Default value No default
-
+
Variable ZGW_CATALOGI_SERVICE_SECRET
Description The secret of the catalogi service
Possible values string (URL)
Default value No default
-
+
Variable ZGW_DOCUMENTEN_SERVICE_CLIENT_ID
Description The API root of the documenten service
Possible values string (URL)
Default value No default
-
+
Variable ZGW_DOCUMENTEN_SERVICE_SECRET
Description The secret of the documenten service
Possible values string (URL)
Default value No default
-
+
Variable ZGW_DOCUMENT_MAX_CONFIDENTIALITY
Setting Documenten vertrouwelijkheid
Description Selecteer de maximale vertrouwelijkheid van de getoonde documenten van zaken
Possible values openbaar, beperkt_openbaar, intern, zaakvertrouwelijk, vertrouwelijk, confidentieel, geheim, zeer_geheim
Default value openbaar
-
+
Variable ZGW_DOCUMENT_SERVICE_API_ROOT
Description The API root of the documenten service
Possible values string (URL)
Default value No default
-
+
Variable ZGW_ENABLE_CATEGORIES_FILTERING_WITH_ZAKEN
Setting Inschakelen gepersonaliseerde Onderwerpen op basis van zaken
Description Indien ingeschakeld dan worden (indien ingelogd met DigiD/eHerkenning) de getoonde onderwerpen op de Homepage bepaald op basis van de zaken van de gebruiker
Possible values True, False
Default value False
-
+
Variable ZGW_FETCH_EHERKENNING_ZAKEN_WITH_RSIN
Setting Maak gebruik van het RSIN voor ophalen eHerkenning zaken
Description Indien ingeschakeld dan wordt het RSIN van eHerkenning gebruikers gebruikt om de zaken op te halen. Indien uitgeschakeld dan wordt het KVK nummer gebruikt om de zaken op te halen. Open Zaak hanteert conform de ZGW API specificatie de RSIN, de eSuite maakt gebruik van het KVK nummer.
Possible values True, False
Default value False
-
+
Variable ZGW_FORMULIEREN_SERVICE_CLIENT_ID
Description The API root of the formulieren service
Possible values string (URL)
Default value No default
-
+
Variable ZGW_FORMULIEREN_SERVICE_SECRET
Description The secret of the formulieren service
Possible values string (URL)
Default value No default
-
+
Variable ZGW_FROMULIEREN_SERVICE_API_ROOT
Description The API root of the formulieren service
Possible values string (URL)
Default value No default
-
+
Variable ZGW_MAX_UPLOAD_SIZE
Setting Maximale upload grootte (in MB)
Description Documentuploads mogen maximaal dit aantal MB groot zijn, anders worden ze geweigerd.
Possible values string representing a positive integer
Default value 50
-
+
Variable ZGW_REFORMAT_ESUITE_ZAAK_IDENTIFICATIE
Setting Converteer eSuite zaaknummers
Description Schakel dit in om de zaaknummers van het interne eSuite format (ex: '0014ESUITE66392022') om te zetten naar een toegankelijkere notatie ('6639-2022').
Possible values True, False
Default value False
-
+
Variable ZGW_SKIP_NOTIFICATION_STATUSTYPE_INFORMEREN
Setting Maak gebruik van StatusType.informeren workaround (eSuite)
Description Schakel dit in wanneer StatusType.informeren niet wordt ondersteund door de ZGW API waar deze omgeving aan is gekoppeld (zoals de eSuite ZGW API)Hierdoor is het verplicht om per zaaktype aan te geven wanneer een inwoner hier een notificatie van dient te krijgen.
Possible values True, False
Default value False
-
+
Variable ZGW_TITLE_TEXT
Setting Titel tekst
Description De titel/introductietekst getoond op de lijstweergave van 'Mijn aanvragen'.
Possible values text (string)
Default value Hier vindt u een overzicht van al uw lopende en afgeronde aanvragen.
-
+
Variable ZGW_ZAAK_MAX_CONFIDENTIALITY
Setting Zaak vertrouwelijkheid
Description Selecteer de maximale vertrouwelijkheid van de getoonde zaken
Possible values openbaar, beperkt_openbaar, intern, zaakvertrouwelijk, vertrouwelijk, confidentieel, geheim, zeer_geheim
Default value openbaar
-
+
Variable ZGW_ZAAK_SERVICE_API_ROOT
Description The API root of the zaak service
Possible values string (URL)
Default value No default
-
+
Variable ZGW_ZAAK_SERVICE_CLIENT_ID
Description The API root of the zaak service
Possible values string (URL)
Default value No default
-
+
Variable ZGW_ZAAK_SERVICE_SECRET
Description The secret of the zaak service
Possible values string (URL)
diff --git a/docs/openssl.conf b/docs/openssl.conf
index 9a6b314f47..e9a4029ad2 100644
--- a/docs/openssl.conf
+++ b/docs/openssl.conf
@@ -8,4 +8,3 @@ system_default = system_default_sect
[system_default_sect]
Options = UnsafeLegacyRenegotiation
-
diff --git a/docs/testing.rst b/docs/testing.rst
index 035021495e..3461107e8b 100644
--- a/docs/testing.rst
+++ b/docs/testing.rst
@@ -51,5 +51,3 @@ Coverage reports can be found in ``build/reports/coverage``.
To trigger a test run on file change (source file or test file), run::
$ karma start karma.conf.js --single-run=false --browsers=PhantomJS
-
-
diff --git a/performance-tests/README.md b/performance-tests/README.md
index dd71bbb7b2..130205ffdb 100644
--- a/performance-tests/README.md
+++ b/performance-tests/README.md
@@ -10,4 +10,4 @@ cd performance-tests
./tests.sh
```
-The results will be stored in `performance-tests/results/`
\ No newline at end of file
+The results will be stored in `performance-tests/results/`
diff --git a/requirements/dev.in b/requirements/dev.in
index aa757d1dda..8fb2cf03bf 100644
--- a/requirements/dev.in
+++ b/requirements/dev.in
@@ -16,3 +16,5 @@ django-silk
# VCR
pytest-recording
vcrpy
+
+pre-commit
diff --git a/requirements/dev.txt b/requirements/dev.txt
index ad01732463..37c58145dd 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -126,6 +126,8 @@ cffi==1.15.0
# -r requirements/ci.txt
# cryptography
# weasyprint
+cfgv==3.4.0
+ # via pre-commit
charset-normalizer==2.0.6
# via
# -c requirements/ci.txt
@@ -220,6 +222,8 @@ dill==0.3.7
# -c requirements/ci.txt
# -r requirements/ci.txt
# pylint
+distlib==0.3.9
+ # via virtualenv
django==4.2.16
# via
# -c requirements/ci.txt
@@ -651,6 +655,8 @@ faker==27.0.0
# factory-boy
# polyfactory
# zgw-consumers-oas
+filelock==3.16.1
+ # via virtualenv
flake8==7.0.0
# via
# -c requirements/ci.txt
@@ -731,6 +737,8 @@ humanfriendly==10.0
# via
# -c requirements/ci.txt
# -r requirements/ci.txt
+identify==2.6.5
+ # via pre-commit
idna==3.7
# via
# -c requirements/ci.txt
@@ -870,6 +878,8 @@ mypy-extensions==1.0.0
# -c requirements/ci.txt
# -r requirements/ci.txt
# black
+nodeenv==1.9.1
+ # via pre-commit
notifications-api-common==0.2.2
# via
# -c requirements/ci.txt
@@ -939,6 +949,7 @@ platformdirs==2.4.0
# -r requirements/ci.txt
# black
# pylint
+ # virtualenv
playwright==1.47.0
# via
# -c requirements/ci.txt
@@ -952,6 +963,8 @@ polyfactory==2.13.0
# via
# -c requirements/ci.txt
# -r requirements/ci.txt
+pre-commit==4.0.1
+ # via -r requirements/dev.in
prompt-toolkit==3.0.36
# via
# -c requirements/ci.txt
@@ -1099,6 +1112,7 @@ pyyaml==6.0.2
# bandit
# drf-spectacular
# gemma-zds-client
+ # pre-commit
# pydantic-settings
# tablib
# vcrpy
@@ -1327,6 +1341,8 @@ vine==5.1.0
# amqp
# celery
# kombu
+virtualenv==20.21.1
+ # via pre-commit
waitress==2.1.2
# via
# -c requirements/ci.txt
diff --git a/requirements/test.txt b/requirements/test.txt
index a70ae6a48a..3dbf758015 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -1,2 +1 @@
-r base.txt
-
diff --git a/ruff.toml b/ruff.toml
new file mode 100644
index 0000000000..0e61dce5bb
--- /dev/null
+++ b/ruff.toml
@@ -0,0 +1,75 @@
+# Exclude a variety of commonly ignored directories.
+exclude = [
+ ".bzr",
+ ".direnv",
+ ".eggs",
+ ".git",
+ ".git-rewrite",
+ ".hg",
+ ".ipynb_checkpoints",
+ ".mypy_cache",
+ ".nox",
+ ".pants.d",
+ ".pyenv",
+ ".pytest_cache",
+ ".pytype",
+ ".ruff_cache",
+ ".svn",
+ ".tox",
+ ".venv",
+ ".vscode",
+ "__pypackages__",
+ "_build",
+ "buck-out",
+ "build",
+ "dist",
+ "node_modules",
+ "site-packages",
+ "venv",
+ "env",
+]
+
+# Same as Black.
+line-length = 88
+indent-width = 4
+
+# Assume Python 3.11
+target-version = "py311"
+
+[lint]
+select = [
+ # https://docs.astral.sh/ruff/rules/#error-e
+ "E",
+ # https://docs.astral.sh/ruff/rules/#pyflakes-f
+ "F",
+ # Bugbear
+ "B",
+]
+ignore = [
+ # Whitespace before ':' (conflicts with Black)
+ "E203",
+ # Two spaces before inline comment
+ "E261",
+ # Line too long
+ "E501",
+ # Do not assign a lambda expression
+ "E731",
+ # Name may be undefined from '*' import
+ "F405",
+ # Blank line contains whitespace
+ "W293",
+ # Trailing whitespace
+ "W291",
+ # Local variable is assigned but never used
+ "F841",
+ # Ambiguous variable name
+ "E741",
+]
+
+
+# Allow fix for all enabled rules (when `--fix`) is provided.
+fixable = ["ALL"]
+unfixable = []
+
+# Allow unused variables when underscore-prefixed.
+dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
diff --git a/src/custom_migrations/migrations/0001_delete_old_celery_tasks.py b/src/custom_migrations/migrations/0001_delete_old_celery_tasks.py
index c9f8ce6eb6..e5ae9ebfc5 100644
--- a/src/custom_migrations/migrations/0001_delete_old_celery_tasks.py
+++ b/src/custom_migrations/migrations/0001_delete_old_celery_tasks.py
@@ -21,7 +21,6 @@ def delete_old_celery_tasks(apps, _):
class Migration(migrations.Migration):
-
dependencies = [("django_celery_beat", "0018_improve_crontab_helptext")]
operations = [
diff --git a/src/eherkenning/backends.py b/src/eherkenning/backends.py
index 4af05c57be..89db447a45 100644
--- a/src/eherkenning/backends.py
+++ b/src/eherkenning/backends.py
@@ -1,8 +1,7 @@
-from django.contrib.auth import get_user_model
-
from digid_eherkenning.backends import eHerkenningBackend as _eHerkenningBackend
from digid_eherkenning.exceptions import eHerkenningError
from digid_eherkenning.utils import get_client_ip
+from django.contrib.auth import get_user_model
from open_inwoner.kvk.branches import KVK_BRANCH_SESSION_VARIABLE
diff --git a/src/eherkenning/mock/backends.py b/src/eherkenning/mock/backends.py
index ad7a3b3866..7e6b2f2e42 100644
--- a/src/eherkenning/mock/backends.py
+++ b/src/eherkenning/mock/backends.py
@@ -1,10 +1,9 @@
import logging
import re
-from django.contrib.auth import get_user_model
-
from digid_eherkenning.backends import BaseBackend
from digid_eherkenning.utils import get_client_ip
+from django.contrib.auth import get_user_model
logger = logging.getLogger(__name__)
@@ -19,7 +18,7 @@ class eHerkenningBackend(BaseBackend):
"eherkenning_no_kvk": "Login failed due to no KvK being returned by eHerkenning.",
"eherkenning_len_kvk": "Login failed due to no KvK having more then 8 digits.",
"eherkenning_num_kvk": "Login failed due to no KvK not being numerical.",
- }
+ },
)
def get_or_create_user(self, request, kvk):
diff --git a/src/eherkenning/mock/idp/views/eherkenning.py b/src/eherkenning/mock/idp/views/eherkenning.py
index 82916d6106..139126dbf9 100644
--- a/src/eherkenning/mock/idp/views/eherkenning.py
+++ b/src/eherkenning/mock/idp/views/eherkenning.py
@@ -4,7 +4,6 @@
from django.http import HttpResponseBadRequest
from django.urls import reverse
from django.views.generic import FormView, TemplateView
-
from furl import furl
from eherkenning.mock import eherkenning_conf as conf
diff --git a/src/eherkenning/mock/views/eherkenning.py b/src/eherkenning/mock/views/eherkenning.py
index b2e2060a96..bbcff78ac0 100644
--- a/src/eherkenning/mock/views/eherkenning.py
+++ b/src/eherkenning/mock/views/eherkenning.py
@@ -1,6 +1,7 @@
import logging
from urllib.parse import urlencode
+from digid_eherkenning.views.base import get_redirect_url
from django.conf import settings
from django.contrib import auth, messages
from django.http import HttpResponseBadRequest, HttpResponseRedirect
@@ -10,8 +11,6 @@
from django.views import View
from django.views.generic import RedirectView
-from digid_eherkenning.views.base import get_redirect_url
-
from eherkenning.mock import eherkenning_conf as conf
logger = logging.getLogger(__name__)
diff --git a/src/eherkenning/static/eherkenning/error.svg b/src/eherkenning/static/eherkenning/error.svg
index 6cc63eb31f..d467ed63f6 100644
--- a/src/eherkenning/static/eherkenning/error.svg
+++ b/src/eherkenning/static/eherkenning/error.svg
@@ -13,4 +13,4 @@
-
\ No newline at end of file
+
diff --git a/src/eherkenning/static/eherkenning/extra.css b/src/eherkenning/static/eherkenning/extra.css
index 811c3f0816..499cec12a4 100644
--- a/src/eherkenning/static/eherkenning/extra.css
+++ b/src/eherkenning/static/eherkenning/extra.css
@@ -91,4 +91,4 @@ h2 {
#section-header {
padding-bottom: 0px;
-}
\ No newline at end of file
+}
diff --git a/src/eherkenning/tests/test_mock_views.py b/src/eherkenning/tests/test_mock_views.py
index 00778fc6dc..deff9ec321 100644
--- a/src/eherkenning/tests/test_mock_views.py
+++ b/src/eherkenning/tests/test_mock_views.py
@@ -4,7 +4,6 @@
from django.contrib.auth import get_user_model
from django.test import TestCase, modify_settings, override_settings
from django.urls import reverse
-
from furl import furl
from open_inwoner.kvk.branches import get_kvk_branch_number
diff --git a/src/eherkenning/validators.py b/src/eherkenning/validators.py
index 18f5c75a8f..44fbe4394f 100644
--- a/src/eherkenning/validators.py
+++ b/src/eherkenning/validators.py
@@ -1,9 +1,8 @@
+from digid_eherkenning.validators import validate_digits
from django.core.exceptions import ValidationError
from django.utils.deconstruct import deconstructible
from django.utils.translation import gettext_lazy as _
-from digid_eherkenning.validators import validate_digits
-
@deconstructible
class KVKValidator:
diff --git a/src/notifications/admin.py b/src/notifications/admin.py
index e95801c396..6cc6a752c2 100644
--- a/src/notifications/admin.py
+++ b/src/notifications/admin.py
@@ -1,6 +1,5 @@
from django.contrib import admin, messages
from django.utils.translation import gettext_lazy as _
-
from requests.exceptions import RequestException
from .models import NotificationsAPIConfig, Subscription
diff --git a/src/notifications/api/serializers.py b/src/notifications/api/serializers.py
index a90ef34c17..5f4c298dca 100644
--- a/src/notifications/api/serializers.py
+++ b/src/notifications/api/serializers.py
@@ -1,5 +1,4 @@
from django.utils.translation import gettext_lazy as _
-
from rest_framework import serializers
from ..validators import UntilNowValidator
diff --git a/src/notifications/migrations/0001_initial.py b/src/notifications/migrations/0001_initial.py
index ae155a5693..5fadae0490 100644
--- a/src/notifications/migrations/0001_initial.py
+++ b/src/notifications/migrations/0001_initial.py
@@ -6,7 +6,6 @@
class Migration(migrations.Migration):
-
initial = True
dependencies = [
diff --git a/src/notifications/models.py b/src/notifications/models.py
index 1200c48eba..92220ecccc 100644
--- a/src/notifications/models.py
+++ b/src/notifications/models.py
@@ -1,8 +1,7 @@
+from ape_pie import APIClient
from django.contrib.postgres.fields import ArrayField
from django.db import models
from django.utils.translation import gettext_lazy as _
-
-from ape_pie import APIClient
from zds_client import ClientAuth
from zgw_consumers.client import build_client
from zgw_consumers.constants import APITypes
diff --git a/src/notifications/tests/test_migrations.py b/src/notifications/tests/test_migrations.py
index c2f0253cc0..ef8678a0ac 100644
--- a/src/notifications/tests/test_migrations.py
+++ b/src/notifications/tests/test_migrations.py
@@ -12,6 +12,8 @@ class NotificationsAPILibraryMigrationTest(TestSuccessfulMigrations):
def setUpBeforeMigration(self, apps):
from notifications_api_common.models import (
NotificationsConfig as LegacyNotificationsConfig,
+ )
+ from notifications_api_common.models import (
Subscription as LegacySubscription,
)
diff --git a/src/notifications/tests/test_webhook.py b/src/notifications/tests/test_webhook.py
index 1707ba8f03..ad34821b2e 100644
--- a/src/notifications/tests/test_webhook.py
+++ b/src/notifications/tests/test_webhook.py
@@ -1,9 +1,8 @@
from unittest.mock import patch
+import requests_mock
from django.contrib.messages import get_messages
from django.test import TestCase
-
-import requests_mock
from requests.exceptions import RequestException
from zgw_consumers.constants import APITypes
from zgw_consumers.models.services import Service
diff --git a/src/open_inwoner/accounts/admin.py b/src/open_inwoner/accounts/admin.py
index f291d1b21e..d8ee2d3b66 100644
--- a/src/open_inwoner/accounts/admin.py
+++ b/src/open_inwoner/accounts/admin.py
@@ -5,8 +5,8 @@
from django.forms import ValidationError
from django.urls import reverse
from django.utils.html import format_html
-from django.utils.translation import gettext_lazy as _, ngettext
-
+from django.utils.translation import gettext_lazy as _
+from django.utils.translation import ngettext
from image_cropping import ImageCroppingMixin
from privates.admin import PrivateMediaMixin
@@ -60,7 +60,6 @@ def clean(self, *args, **kwargs):
raise ValidationError(_("Only a 'begeleider' user can add an image."))
if cleaned_data.get("email"):
-
if (
User.objects.filter(email__iexact=cleaned_data["email"])
and self.instance.email != cleaned_data["email"]
diff --git a/src/open_inwoner/accounts/apps.py b/src/open_inwoner/accounts/apps.py
index 8cd088cefa..b37823902c 100644
--- a/src/open_inwoner/accounts/apps.py
+++ b/src/open_inwoner/accounts/apps.py
@@ -65,11 +65,6 @@ class AccountsConfig(AppConfig):
_has_run = False
def ready(self):
- from .signals import ( # noqa:register the signals
- log_user_login,
- log_user_logout,
- )
-
if self._has_run:
return
self._has_run = True
diff --git a/src/open_inwoner/accounts/backends.py b/src/open_inwoner/accounts/backends.py
index 7fdca450af..de570d88d9 100644
--- a/src/open_inwoner/accounts/backends.py
+++ b/src/open_inwoner/accounts/backends.py
@@ -1,15 +1,14 @@
import logging
from typing import Literal
+from axes.backends import AxesBackend
+from digid_eherkenning.oidc.backends import BaseBackend
from django.conf import settings
from django.contrib.auth import get_user_model
from django.contrib.auth.backends import ModelBackend
from django.contrib.auth.hashers import check_password
from django.contrib.auth.models import AbstractUser
from django.urls import reverse, reverse_lazy
-
-from axes.backends import AxesBackend
-from digid_eherkenning.oidc.backends import BaseBackend
from mozilla_django_oidc_db.backends import OIDCAuthenticationBackend
from mozilla_django_oidc_db.config import dynamic_setting
from mozilla_django_oidc_db.typing import JSONObject
diff --git a/src/open_inwoner/accounts/digid_urls.py b/src/open_inwoner/accounts/digid_urls.py
index 96d79f0626..d151730406 100644
--- a/src/open_inwoner/accounts/digid_urls.py
+++ b/src/open_inwoner/accounts/digid_urls.py
@@ -1,5 +1,4 @@
from django.urls import path
-
from mozilla_django_oidc.urls import urlpatterns
from mozilla_django_oidc_db.views import OIDCCallbackView
diff --git a/src/open_inwoner/accounts/eherkenning_urls.py b/src/open_inwoner/accounts/eherkenning_urls.py
index 069826c467..9e7701efb6 100644
--- a/src/open_inwoner/accounts/eherkenning_urls.py
+++ b/src/open_inwoner/accounts/eherkenning_urls.py
@@ -1,5 +1,4 @@
from django.urls import path
-
from mozilla_django_oidc.urls import urlpatterns
from mozilla_django_oidc_db.views import OIDCCallbackView
diff --git a/src/open_inwoner/accounts/forms.py b/src/open_inwoner/accounts/forms.py
index 954889c6b5..5063e8bde3 100644
--- a/src/open_inwoner/accounts/forms.py
+++ b/src/open_inwoner/accounts/forms.py
@@ -8,7 +8,6 @@
from django.core.mail import EmailMultiAlternatives
from django.template import loader
from django.utils.translation import gettext_lazy as _
-
from django_registration.forms import RegistrationForm
from open_inwoner.cms.utils.page_display import (
diff --git a/src/open_inwoner/accounts/gateways.py b/src/open_inwoner/accounts/gateways.py
index 2301f6411b..0aa9f03918 100644
--- a/src/open_inwoner/accounts/gateways.py
+++ b/src/open_inwoner/accounts/gateways.py
@@ -1,11 +1,10 @@
import logging
+import messagebird
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from django.utils.module_loading import import_string
-import messagebird
-
logger = logging.getLogger(__name__)
diff --git a/src/open_inwoner/accounts/managers.py b/src/open_inwoner/accounts/managers.py
index bf4d3db227..c34eea1965 100644
--- a/src/open_inwoner/accounts/managers.py
+++ b/src/open_inwoner/accounts/managers.py
@@ -1,8 +1,7 @@
+from digid_eherkenning.managers import BaseDigidManager, BaseeHerkenningManager
from django.contrib.auth.models import BaseUserManager
from django.db.models import Q, QuerySet
-from digid_eherkenning.managers import BaseDigidManager, BaseeHerkenningManager
-
from open_inwoner.utils.hash import generate_email_from_string
from .choices import LoginTypeChoices
diff --git a/src/open_inwoner/accounts/migrations/0001_initial.py b/src/open_inwoner/accounts/migrations/0001_initial.py
index 19db31f18d..295d3d7409 100644
--- a/src/open_inwoner/accounts/migrations/0001_initial.py
+++ b/src/open_inwoner/accounts/migrations/0001_initial.py
@@ -1,13 +1,13 @@
# Generated by Django 2.2.23 on 2021-05-20 12:29
import django.contrib.auth.validators
-from django.db import migrations, models
import django.utils.timezone
+from django.db import migrations, models
+
import open_inwoner.accounts.managers
class Migration(migrations.Migration):
-
initial = True
dependencies = [
diff --git a/src/open_inwoner/accounts/migrations/0002_auto_20211004_1708.py b/src/open_inwoner/accounts/migrations/0002_auto_20211004_1708.py
index 95d983830f..a010444c6c 100644
--- a/src/open_inwoner/accounts/migrations/0002_auto_20211004_1708.py
+++ b/src/open_inwoner/accounts/migrations/0002_auto_20211004_1708.py
@@ -1,12 +1,10 @@
# Generated by Django 3.2.7 on 2021-10-04 15:08
-from django.db import migrations, models
-
import localflavor.nl.models
+from django.db import migrations, models
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0001_initial"),
]
diff --git a/src/open_inwoner/accounts/migrations/0003_auto_20211007_1244.py b/src/open_inwoner/accounts/migrations/0003_auto_20211007_1244.py
index 8467f9c55c..962e54b089 100644
--- a/src/open_inwoner/accounts/migrations/0003_auto_20211007_1244.py
+++ b/src/open_inwoner/accounts/migrations/0003_auto_20211007_1244.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0002_auto_20211004_1708"),
]
diff --git a/src/open_inwoner/accounts/migrations/0003_auto_20211008_1100.py b/src/open_inwoner/accounts/migrations/0003_auto_20211008_1100.py
index a68236ab60..4db1bb230a 100644
--- a/src/open_inwoner/accounts/migrations/0003_auto_20211008_1100.py
+++ b/src/open_inwoner/accounts/migrations/0003_auto_20211008_1100.py
@@ -1,15 +1,13 @@
# Generated by Django 3.2.7 on 2021-10-08 09:00
import django.db.models.deletion
-from django.db import migrations, models
-
import privates.storages
+from django.db import migrations, models
import open_inwoner.utils.validators
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0002_auto_20211004_1708"),
]
diff --git a/src/open_inwoner/accounts/migrations/0004_auto_20211008_1311.py b/src/open_inwoner/accounts/migrations/0004_auto_20211008_1311.py
index 72164ae964..21df2269b5 100644
--- a/src/open_inwoner/accounts/migrations/0004_auto_20211008_1311.py
+++ b/src/open_inwoner/accounts/migrations/0004_auto_20211008_1311.py
@@ -1,16 +1,14 @@
# Generated by Django 3.2.7 on 2021-10-08 11:11
import django.db.models.deletion
+import privates.storages
from django.conf import settings
from django.db import migrations, models
-import privates.storages
-
import open_inwoner.utils.validators
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0003_auto_20211008_1100"),
]
diff --git a/src/open_inwoner/accounts/migrations/0005_auto_20211013_1129.py b/src/open_inwoner/accounts/migrations/0005_auto_20211013_1129.py
index 1d0e194578..02dc2576cc 100644
--- a/src/open_inwoner/accounts/migrations/0005_auto_20211013_1129.py
+++ b/src/open_inwoner/accounts/migrations/0005_auto_20211013_1129.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0004_auto_20211008_1311"),
]
diff --git a/src/open_inwoner/accounts/migrations/0005_merge_0003_auto_20211007_1244_0004_auto_20211008_1311.py b/src/open_inwoner/accounts/migrations/0005_merge_0003_auto_20211007_1244_0004_auto_20211008_1311.py
index bd6986a0c5..182d7b1428 100644
--- a/src/open_inwoner/accounts/migrations/0005_merge_0003_auto_20211007_1244_0004_auto_20211008_1311.py
+++ b/src/open_inwoner/accounts/migrations/0005_merge_0003_auto_20211007_1244_0004_auto_20211008_1311.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0003_auto_20211007_1244"),
("accounts", "0004_auto_20211008_1311"),
diff --git a/src/open_inwoner/accounts/migrations/0006_auto_20211013_1415.py b/src/open_inwoner/accounts/migrations/0006_auto_20211013_1415.py
index 55b7ef169c..5d7d54d87b 100644
--- a/src/open_inwoner/accounts/migrations/0006_auto_20211013_1415.py
+++ b/src/open_inwoner/accounts/migrations/0006_auto_20211013_1415.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0005_merge_0003_auto_20211007_1244_0004_auto_20211008_1311"),
]
diff --git a/src/open_inwoner/accounts/migrations/0007_contact_uuid.py b/src/open_inwoner/accounts/migrations/0007_contact_uuid.py
index a758c3b633..07b7e71ce4 100644
--- a/src/open_inwoner/accounts/migrations/0007_contact_uuid.py
+++ b/src/open_inwoner/accounts/migrations/0007_contact_uuid.py
@@ -6,7 +6,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0006_auto_20211013_1415"),
]
diff --git a/src/open_inwoner/accounts/migrations/0007_merge_0005_auto_20211013_1129_0006_auto_20211013_1415.py b/src/open_inwoner/accounts/migrations/0007_merge_0005_auto_20211013_1129_0006_auto_20211013_1415.py
index c7e9ef8627..4775206c8d 100644
--- a/src/open_inwoner/accounts/migrations/0007_merge_0005_auto_20211013_1129_0006_auto_20211013_1415.py
+++ b/src/open_inwoner/accounts/migrations/0007_merge_0005_auto_20211013_1129_0006_auto_20211013_1415.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0005_auto_20211013_1129"),
("accounts", "0006_auto_20211013_1415"),
diff --git a/src/open_inwoner/accounts/migrations/0008_auto_20211101_1129.py b/src/open_inwoner/accounts/migrations/0008_auto_20211101_1129.py
index cad0a07725..374ce0f117 100644
--- a/src/open_inwoner/accounts/migrations/0008_auto_20211101_1129.py
+++ b/src/open_inwoner/accounts/migrations/0008_auto_20211101_1129.py
@@ -2,13 +2,11 @@
import uuid
-from django.db import migrations, models
-
import privates.storages
+from django.db import migrations, models
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0007_contact_uuid"),
]
diff --git a/src/open_inwoner/accounts/migrations/0008_merge_20211020_1415.py b/src/open_inwoner/accounts/migrations/0008_merge_20211020_1415.py
index 7380e039b9..9b9e3b88fa 100644
--- a/src/open_inwoner/accounts/migrations/0008_merge_20211020_1415.py
+++ b/src/open_inwoner/accounts/migrations/0008_merge_20211020_1415.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0007_contact_uuid"),
("accounts", "0007_merge_0005_auto_20211013_1129_0006_auto_20211013_1415"),
diff --git a/src/open_inwoner/accounts/migrations/0009_auto_20211101_1137.py b/src/open_inwoner/accounts/migrations/0009_auto_20211101_1137.py
index 287d510146..2d86c782ff 100644
--- a/src/open_inwoner/accounts/migrations/0009_auto_20211101_1137.py
+++ b/src/open_inwoner/accounts/migrations/0009_auto_20211101_1137.py
@@ -27,7 +27,6 @@ def gen_uuid_document(apps, schema_editor):
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0008_auto_20211101_1129"),
]
diff --git a/src/open_inwoner/accounts/migrations/0010_auto_20211101_1137.py b/src/open_inwoner/accounts/migrations/0010_auto_20211101_1137.py
index 5da00a10cd..0019022c07 100644
--- a/src/open_inwoner/accounts/migrations/0010_auto_20211101_1137.py
+++ b/src/open_inwoner/accounts/migrations/0010_auto_20211101_1137.py
@@ -6,7 +6,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0009_auto_20211101_1137"),
]
diff --git a/src/open_inwoner/accounts/migrations/0011_merge_20211104_1428.py b/src/open_inwoner/accounts/migrations/0011_merge_20211104_1428.py
index 39a9b78a10..1f08d621d1 100644
--- a/src/open_inwoner/accounts/migrations/0011_merge_20211104_1428.py
+++ b/src/open_inwoner/accounts/migrations/0011_merge_20211104_1428.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0008_merge_20211020_1415"),
("accounts", "0010_auto_20211101_1137"),
diff --git a/src/open_inwoner/accounts/migrations/0012_user_deactivated_on.py b/src/open_inwoner/accounts/migrations/0012_user_deactivated_on.py
index 050c9fff17..b02518544f 100644
--- a/src/open_inwoner/accounts/migrations/0012_user_deactivated_on.py
+++ b/src/open_inwoner/accounts/migrations/0012_user_deactivated_on.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0011_merge_20211104_1428"),
]
diff --git a/src/open_inwoner/accounts/migrations/0013_alter_user_deactivated_on.py b/src/open_inwoner/accounts/migrations/0013_alter_user_deactivated_on.py
index e32372ac13..faadc5f9de 100644
--- a/src/open_inwoner/accounts/migrations/0013_alter_user_deactivated_on.py
+++ b/src/open_inwoner/accounts/migrations/0013_alter_user_deactivated_on.py
@@ -5,7 +5,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0012_user_deactivated_on"),
]
diff --git a/src/open_inwoner/accounts/migrations/0014_user_is_prepopulated.py b/src/open_inwoner/accounts/migrations/0014_user_is_prepopulated.py
index 4cbd30bf40..656ddfcaa7 100644
--- a/src/open_inwoner/accounts/migrations/0014_user_is_prepopulated.py
+++ b/src/open_inwoner/accounts/migrations/0014_user_is_prepopulated.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0013_alter_user_deactivated_on"),
]
diff --git a/src/open_inwoner/accounts/migrations/0015_auto_20211214_1136.py b/src/open_inwoner/accounts/migrations/0015_auto_20211214_1136.py
index 22b1c2f425..ea05bf4ab9 100644
--- a/src/open_inwoner/accounts/migrations/0015_auto_20211214_1136.py
+++ b/src/open_inwoner/accounts/migrations/0015_auto_20211214_1136.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0014_user_is_prepopulated"),
]
diff --git a/src/open_inwoner/accounts/migrations/0015_message.py b/src/open_inwoner/accounts/migrations/0015_message.py
index 7820f1c203..7aa68ca04e 100644
--- a/src/open_inwoner/accounts/migrations/0015_message.py
+++ b/src/open_inwoner/accounts/migrations/0015_message.py
@@ -1,12 +1,11 @@
# Generated by Django 3.2.7 on 2021-12-16 08:45
+import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
-import django.db.models.deletion
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0014_user_is_prepopulated"),
]
diff --git a/src/open_inwoner/accounts/migrations/0016_auto_20211214_1652.py b/src/open_inwoner/accounts/migrations/0016_auto_20211214_1652.py
index 2031a87c26..6d7a45414d 100644
--- a/src/open_inwoner/accounts/migrations/0016_auto_20211214_1652.py
+++ b/src/open_inwoner/accounts/migrations/0016_auto_20211214_1652.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("pdc", "0016_merge_20211206_1627"),
("accounts", "0015_auto_20211214_1136"),
diff --git a/src/open_inwoner/accounts/migrations/0017_action_end_date.py b/src/open_inwoner/accounts/migrations/0017_action_end_date.py
index e2cfbd11ee..c565c0e0ca 100644
--- a/src/open_inwoner/accounts/migrations/0017_action_end_date.py
+++ b/src/open_inwoner/accounts/migrations/0017_action_end_date.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0016_auto_20211214_1652"),
]
diff --git a/src/open_inwoner/accounts/migrations/0017_merge_0015_message_0016_auto_20211214_1652.py b/src/open_inwoner/accounts/migrations/0017_merge_0015_message_0016_auto_20211214_1652.py
index 44af76de01..6ab94b6268 100644
--- a/src/open_inwoner/accounts/migrations/0017_merge_0015_message_0016_auto_20211214_1652.py
+++ b/src/open_inwoner/accounts/migrations/0017_merge_0015_message_0016_auto_20211214_1652.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0015_message"),
("accounts", "0016_auto_20211214_1652"),
diff --git a/src/open_inwoner/accounts/migrations/0018_merge_20211222_1030.py b/src/open_inwoner/accounts/migrations/0018_merge_20211222_1030.py
index b4dafb5d69..c9dc7b08ce 100644
--- a/src/open_inwoner/accounts/migrations/0018_merge_20211222_1030.py
+++ b/src/open_inwoner/accounts/migrations/0018_merge_20211222_1030.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0017_action_end_date"),
("accounts", "0017_merge_0015_message_0016_auto_20211214_1652"),
diff --git a/src/open_inwoner/accounts/migrations/0019_auto_20211227_1218.py b/src/open_inwoner/accounts/migrations/0019_auto_20211227_1218.py
index 09baeb51b9..8f42444543 100644
--- a/src/open_inwoner/accounts/migrations/0019_auto_20211227_1218.py
+++ b/src/open_inwoner/accounts/migrations/0019_auto_20211227_1218.py
@@ -1,12 +1,11 @@
# Generated by Django 3.2.7 on 2021-12-27 11:18
+import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
-import django.db.models.deletion
class Migration(migrations.Migration):
-
dependencies = [
("pdc", "0018_alter_product_keywords"),
("accounts", "0018_merge_20211222_1030"),
diff --git a/src/open_inwoner/accounts/migrations/0020_invite.py b/src/open_inwoner/accounts/migrations/0020_invite.py
index d7b98d34a7..47b5e2dc4f 100644
--- a/src/open_inwoner/accounts/migrations/0020_invite.py
+++ b/src/open_inwoner/accounts/migrations/0020_invite.py
@@ -1,12 +1,11 @@
# Generated by Django 3.2.7 on 2021-12-29 13:48
+import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
-import django.db.models.deletion
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0019_auto_20211227_1218"),
]
diff --git a/src/open_inwoner/accounts/migrations/0021_alter_contact_type.py b/src/open_inwoner/accounts/migrations/0021_alter_contact_type.py
index 435cc9a4c1..fba4e0ed61 100644
--- a/src/open_inwoner/accounts/migrations/0021_alter_contact_type.py
+++ b/src/open_inwoner/accounts/migrations/0021_alter_contact_type.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0020_invite"),
]
diff --git a/src/open_inwoner/accounts/migrations/0021_auto_20220202_0949.py b/src/open_inwoner/accounts/migrations/0021_auto_20220202_0949.py
index 55749152dc..54fc4ed1fd 100644
--- a/src/open_inwoner/accounts/migrations/0021_auto_20220202_0949.py
+++ b/src/open_inwoner/accounts/migrations/0021_auto_20220202_0949.py
@@ -1,14 +1,12 @@
# Generated by Django 3.2.7 on 2022-02-02 08:49
import django.db.models.deletion
+import privates.storages
from django.conf import settings
from django.db import migrations, models
-import privates.storages
-
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0020_invite"),
]
diff --git a/src/open_inwoner/accounts/migrations/0022_auto_20220202_0949.py b/src/open_inwoner/accounts/migrations/0022_auto_20220202_0949.py
index 4d40ff94fd..db0b3f5c01 100644
--- a/src/open_inwoner/accounts/migrations/0022_auto_20220202_0949.py
+++ b/src/open_inwoner/accounts/migrations/0022_auto_20220202_0949.py
@@ -6,7 +6,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("plans", "0001_initial"),
("accounts", "0021_auto_20220202_0949"),
diff --git a/src/open_inwoner/accounts/migrations/0023_auto_20220202_0951.py b/src/open_inwoner/accounts/migrations/0023_auto_20220202_0951.py
index af049c64a4..557f44cb8d 100644
--- a/src/open_inwoner/accounts/migrations/0023_auto_20220202_0951.py
+++ b/src/open_inwoner/accounts/migrations/0023_auto_20220202_0951.py
@@ -12,7 +12,6 @@ def creator_is_for(apps, schemas):
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0022_auto_20220202_0949"),
]
diff --git a/src/open_inwoner/accounts/migrations/0024_merge_0021_alter_contact_type_0023_auto_20220202_0951.py b/src/open_inwoner/accounts/migrations/0024_merge_0021_alter_contact_type_0023_auto_20220202_0951.py
index ff178db577..08c1199247 100644
--- a/src/open_inwoner/accounts/migrations/0024_merge_0021_alter_contact_type_0023_auto_20220202_0951.py
+++ b/src/open_inwoner/accounts/migrations/0024_merge_0021_alter_contact_type_0023_auto_20220202_0951.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0021_alter_contact_type"),
("accounts", "0023_auto_20220202_0951"),
diff --git a/src/open_inwoner/accounts/migrations/0025_migrate_message_seen.py b/src/open_inwoner/accounts/migrations/0025_migrate_message_seen.py
index 6055889dd0..00debd7454 100644
--- a/src/open_inwoner/accounts/migrations/0025_migrate_message_seen.py
+++ b/src/open_inwoner/accounts/migrations/0025_migrate_message_seen.py
@@ -9,7 +9,6 @@ def migrate_seen(apps, _):
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0024_merge_0021_alter_contact_type_0023_auto_20220202_0951")
]
diff --git a/src/open_inwoner/accounts/migrations/0026_message_sent.py b/src/open_inwoner/accounts/migrations/0026_message_sent.py
index b3fdcc71e9..2e32ab5134 100644
--- a/src/open_inwoner/accounts/migrations/0026_message_sent.py
+++ b/src/open_inwoner/accounts/migrations/0026_message_sent.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0025_migrate_message_seen"),
]
diff --git a/src/open_inwoner/accounts/migrations/0027_auto_20220214_1440.py b/src/open_inwoner/accounts/migrations/0027_auto_20220214_1440.py
index c4ec045dd3..2985e84636 100644
--- a/src/open_inwoner/accounts/migrations/0027_auto_20220214_1440.py
+++ b/src/open_inwoner/accounts/migrations/0027_auto_20220214_1440.py
@@ -1,12 +1,10 @@
# Generated by Django 3.2.12 on 2022-02-14 13:40
-from django.db import migrations, models
-
import privates.storages
+from django.db import migrations, models
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0026_message_sent"),
]
diff --git a/src/open_inwoner/accounts/migrations/0028_auto_20220214_1538.py b/src/open_inwoner/accounts/migrations/0028_auto_20220214_1538.py
index 556839614b..3fcb095060 100644
--- a/src/open_inwoner/accounts/migrations/0028_auto_20220214_1538.py
+++ b/src/open_inwoner/accounts/migrations/0028_auto_20220214_1538.py
@@ -1,13 +1,11 @@
# Generated by Django 3.2.12 on 2022-02-14 14:38
import django.utils.timezone
-from django.db import migrations, models
-
import localflavor.nl.models
+from django.db import migrations, models
class Migration(migrations.Migration):
-
dependencies = [
("pdc", "0022_question"),
("accounts", "0027_auto_20220214_1440"),
diff --git a/src/open_inwoner/accounts/migrations/0029_auto_20220218_1359.py b/src/open_inwoner/accounts/migrations/0029_auto_20220218_1359.py
index 46d40b7c2f..7187e08174 100644
--- a/src/open_inwoner/accounts/migrations/0029_auto_20220218_1359.py
+++ b/src/open_inwoner/accounts/migrations/0029_auto_20220218_1359.py
@@ -6,7 +6,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("plans", "0002_auto_20220214_1440"),
("accounts", "0028_auto_20220214_1538"),
diff --git a/src/open_inwoner/accounts/migrations/0030_message_file.py b/src/open_inwoner/accounts/migrations/0030_message_file.py
index e8d9d2b965..d6ed43e28b 100644
--- a/src/open_inwoner/accounts/migrations/0030_message_file.py
+++ b/src/open_inwoner/accounts/migrations/0030_message_file.py
@@ -1,12 +1,10 @@
# Generated by Django 3.2.12 on 2022-03-07 15:33
-from django.db import migrations, models
-
import privates.storages
+from django.db import migrations, models
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0029_auto_20220218_1359"),
]
diff --git a/src/open_inwoner/accounts/migrations/0031_message_uuid.py b/src/open_inwoner/accounts/migrations/0031_message_uuid.py
index e9fecd3a4f..d3ebea1396 100644
--- a/src/open_inwoner/accounts/migrations/0031_message_uuid.py
+++ b/src/open_inwoner/accounts/migrations/0031_message_uuid.py
@@ -6,7 +6,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0030_message_file"),
]
diff --git a/src/open_inwoner/accounts/migrations/0032_gen_message_uuid.py b/src/open_inwoner/accounts/migrations/0032_gen_message_uuid.py
index 3f16a43509..241718ce4c 100644
--- a/src/open_inwoner/accounts/migrations/0032_gen_message_uuid.py
+++ b/src/open_inwoner/accounts/migrations/0032_gen_message_uuid.py
@@ -13,7 +13,6 @@ def gen_uuid_message(apps, schema_editor):
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0031_message_uuid"),
]
diff --git a/src/open_inwoner/accounts/migrations/0033_alter_message_uuid.py b/src/open_inwoner/accounts/migrations/0033_alter_message_uuid.py
index c91031766c..c82dd0cc6a 100644
--- a/src/open_inwoner/accounts/migrations/0033_alter_message_uuid.py
+++ b/src/open_inwoner/accounts/migrations/0033_alter_message_uuid.py
@@ -6,7 +6,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0032_gen_message_uuid"),
]
diff --git a/src/open_inwoner/accounts/migrations/0034_alter_message_content.py b/src/open_inwoner/accounts/migrations/0034_alter_message_content.py
index 50d8aa2eff..938d7a2f01 100644
--- a/src/open_inwoner/accounts/migrations/0034_alter_message_content.py
+++ b/src/open_inwoner/accounts/migrations/0034_alter_message_content.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0033_alter_message_uuid"),
]
diff --git a/src/open_inwoner/accounts/migrations/0035_alter_contact_phonenumber.py b/src/open_inwoner/accounts/migrations/0035_alter_contact_phonenumber.py
index f10bb7d2dc..515db4e6ee 100644
--- a/src/open_inwoner/accounts/migrations/0035_alter_contact_phonenumber.py
+++ b/src/open_inwoner/accounts/migrations/0035_alter_contact_phonenumber.py
@@ -6,7 +6,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0034_alter_message_content"),
]
diff --git a/src/open_inwoner/accounts/migrations/0036_alter_user_login_type.py b/src/open_inwoner/accounts/migrations/0036_alter_user_login_type.py
index f320a82d66..22815f671b 100644
--- a/src/open_inwoner/accounts/migrations/0036_alter_user_login_type.py
+++ b/src/open_inwoner/accounts/migrations/0036_alter_user_login_type.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0035_alter_contact_phonenumber"),
]
diff --git a/src/open_inwoner/accounts/migrations/0037_user_contact_type.py b/src/open_inwoner/accounts/migrations/0037_user_contact_type.py
index 95e1d0b5c3..d373c152a9 100644
--- a/src/open_inwoner/accounts/migrations/0037_user_contact_type.py
+++ b/src/open_inwoner/accounts/migrations/0037_user_contact_type.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0036_alter_user_login_type"),
]
diff --git a/src/open_inwoner/accounts/migrations/0038_auto_20220504_1352.py b/src/open_inwoner/accounts/migrations/0038_auto_20220504_1352.py
index 2d758b5e75..23abd55f5f 100644
--- a/src/open_inwoner/accounts/migrations/0038_auto_20220504_1352.py
+++ b/src/open_inwoner/accounts/migrations/0038_auto_20220504_1352.py
@@ -12,7 +12,6 @@ def copy_contact_type_from_contacts_to_user(apps, schema_editor):
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0037_user_contact_type"),
]
diff --git a/src/open_inwoner/accounts/migrations/0039_remove_contact_type.py b/src/open_inwoner/accounts/migrations/0039_remove_contact_type.py
index aaefb2ff9e..a9f66ef10f 100644
--- a/src/open_inwoner/accounts/migrations/0039_remove_contact_type.py
+++ b/src/open_inwoner/accounts/migrations/0039_remove_contact_type.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0038_auto_20220504_1352"),
]
diff --git a/src/open_inwoner/accounts/migrations/0040_auto_20220518_1456.py b/src/open_inwoner/accounts/migrations/0040_auto_20220518_1456.py
index 9387f8b04d..c3efd49631 100644
--- a/src/open_inwoner/accounts/migrations/0040_auto_20220518_1456.py
+++ b/src/open_inwoner/accounts/migrations/0040_auto_20220518_1456.py
@@ -1,12 +1,11 @@
# Generated by Django 3.2.13 on 2022-05-18 12:56
+import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
-import django.db.models.deletion
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0039_remove_contact_type"),
]
diff --git a/src/open_inwoner/accounts/migrations/0041_migrate_invite_email.py b/src/open_inwoner/accounts/migrations/0041_migrate_invite_email.py
index 582047fa78..703278bee8 100644
--- a/src/open_inwoner/accounts/migrations/0041_migrate_invite_email.py
+++ b/src/open_inwoner/accounts/migrations/0041_migrate_invite_email.py
@@ -10,7 +10,6 @@ def migrate_invite_email(apps, _):
class Migration(migrations.Migration):
-
dependencies = [("accounts", "0040_auto_20220518_1456")]
operations = [migrations.RunPython(migrate_invite_email, migrations.RunPython.noop)]
diff --git a/src/open_inwoner/accounts/migrations/0042_alter_invite_invitee_email.py b/src/open_inwoner/accounts/migrations/0042_alter_invite_invitee_email.py
index bb327b4730..888bb86b21 100644
--- a/src/open_inwoner/accounts/migrations/0042_alter_invite_invitee_email.py
+++ b/src/open_inwoner/accounts/migrations/0042_alter_invite_invitee_email.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0041_migrate_invite_email"),
]
diff --git a/src/open_inwoner/accounts/migrations/0043_change_digid_email.py b/src/open_inwoner/accounts/migrations/0043_change_digid_email.py
index 9c4f01ee8b..6150b46daa 100644
--- a/src/open_inwoner/accounts/migrations/0043_change_digid_email.py
+++ b/src/open_inwoner/accounts/migrations/0043_change_digid_email.py
@@ -1,5 +1,7 @@
from django.db import migrations
+
from open_inwoner.utils.hash import generate_email_from_string
+
from ..choices import LoginTypeChoices
@@ -22,7 +24,6 @@ def change_hash_email_to_bsn(apps, _):
class Migration(migrations.Migration):
-
dependencies = [("accounts", "0042_alter_invite_invitee_email")]
operations = [
diff --git a/src/open_inwoner/accounts/migrations/0044_user_oidc_id.py b/src/open_inwoner/accounts/migrations/0044_user_oidc_id.py
index 7a860c225a..c077f81096 100644
--- a/src/open_inwoner/accounts/migrations/0044_user_oidc_id.py
+++ b/src/open_inwoner/accounts/migrations/0044_user_oidc_id.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0043_change_digid_email"),
]
diff --git a/src/open_inwoner/accounts/migrations/0045_alter_user_login_type.py b/src/open_inwoner/accounts/migrations/0045_alter_user_login_type.py
index ef67cd955e..ce7ab690f3 100644
--- a/src/open_inwoner/accounts/migrations/0045_alter_user_login_type.py
+++ b/src/open_inwoner/accounts/migrations/0045_alter_user_login_type.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0044_user_oidc_id"),
]
diff --git a/src/open_inwoner/accounts/migrations/0046_alter_user_oidc_id.py b/src/open_inwoner/accounts/migrations/0046_alter_user_oidc_id.py
index 245043af59..98fbecd6a0 100644
--- a/src/open_inwoner/accounts/migrations/0046_alter_user_oidc_id.py
+++ b/src/open_inwoner/accounts/migrations/0046_alter_user_oidc_id.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0045_alter_user_login_type"),
]
diff --git a/src/open_inwoner/accounts/migrations/0047_action_is_deleted.py b/src/open_inwoner/accounts/migrations/0047_action_is_deleted.py
index bc36aebea5..8d849ba048 100644
--- a/src/open_inwoner/accounts/migrations/0047_action_is_deleted.py
+++ b/src/open_inwoner/accounts/migrations/0047_action_is_deleted.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0046_alter_user_oidc_id"),
]
diff --git a/src/open_inwoner/accounts/migrations/0048_alter_action_status.py b/src/open_inwoner/accounts/migrations/0048_alter_action_status.py
index 50d6d83dfc..c1984d85d9 100644
--- a/src/open_inwoner/accounts/migrations/0048_alter_action_status.py
+++ b/src/open_inwoner/accounts/migrations/0048_alter_action_status.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0047_action_is_deleted"),
]
diff --git a/src/open_inwoner/accounts/migrations/0048_auto_20221205_0921.py b/src/open_inwoner/accounts/migrations/0048_auto_20221205_0921.py
index 08101e487c..5fbdae87c6 100644
--- a/src/open_inwoner/accounts/migrations/0048_auto_20221205_0921.py
+++ b/src/open_inwoner/accounts/migrations/0048_auto_20221205_0921.py
@@ -2,11 +2,11 @@
from django.conf import settings
from django.db import migrations, models
+
import open_inwoner.utils.validators
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0047_action_is_deleted"),
]
diff --git a/src/open_inwoner/accounts/migrations/0049_auto_20221205_0921.py b/src/open_inwoner/accounts/migrations/0049_auto_20221205_0921.py
index ff6964ff69..9d105ac583 100644
--- a/src/open_inwoner/accounts/migrations/0049_auto_20221205_0921.py
+++ b/src/open_inwoner/accounts/migrations/0049_auto_20221205_0921.py
@@ -30,7 +30,6 @@ def populate_invite_names(apps, schema_editor):
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0048_auto_20221205_0921"),
]
diff --git a/src/open_inwoner/accounts/migrations/0050_auto_20221205_0924.py b/src/open_inwoner/accounts/migrations/0050_auto_20221205_0924.py
index 72bba610b8..b859ad8735 100644
--- a/src/open_inwoner/accounts/migrations/0050_auto_20221205_0924.py
+++ b/src/open_inwoner/accounts/migrations/0050_auto_20221205_0924.py
@@ -1,11 +1,11 @@
# Generated by Django 3.2.15 on 2022-12-05 08:24
-from django.db import migrations, models
import uuid
+from django.db import migrations, models
+
class Migration(migrations.Migration):
-
dependencies = [
("plans", "0011_remove_plan_contacts"),
("accounts", "0049_auto_20221205_0921"),
diff --git a/src/open_inwoner/accounts/migrations/0051_merge_20221207_0918.py b/src/open_inwoner/accounts/migrations/0051_merge_20221207_0918.py
index a42b972928..348840fd4b 100644
--- a/src/open_inwoner/accounts/migrations/0051_merge_20221207_0918.py
+++ b/src/open_inwoner/accounts/migrations/0051_merge_20221207_0918.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0048_alter_action_status"),
("accounts", "0050_auto_20221205_0924"),
diff --git a/src/open_inwoner/accounts/migrations/0052_auto_20221213_0758.py b/src/open_inwoner/accounts/migrations/0052_auto_20221213_0758.py
index a2c4926e3b..231cf4af82 100644
--- a/src/open_inwoner/accounts/migrations/0052_auto_20221213_0758.py
+++ b/src/open_inwoner/accounts/migrations/0052_auto_20221213_0758.py
@@ -1,11 +1,11 @@
# Generated by Django 3.2.15 on 2022-12-13 06:58
from django.db import migrations, models
+
import open_inwoner.utils.validators
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0051_merge_20221207_0918"),
]
diff --git a/src/open_inwoner/accounts/migrations/0053_user_display_name.py b/src/open_inwoner/accounts/migrations/0053_user_display_name.py
index 25635dd9fd..a5764e515b 100644
--- a/src/open_inwoner/accounts/migrations/0053_user_display_name.py
+++ b/src/open_inwoner/accounts/migrations/0053_user_display_name.py
@@ -1,11 +1,11 @@
# Generated by Django 3.2.15 on 2023-01-17 14:21
from django.db import migrations, models
+
import open_inwoner.utils.validators
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0052_auto_20221213_0758"),
]
diff --git a/src/open_inwoner/accounts/migrations/0054_remove_action_goal.py b/src/open_inwoner/accounts/migrations/0054_remove_action_goal.py
index d48abf0ea4..06e796a065 100644
--- a/src/open_inwoner/accounts/migrations/0054_remove_action_goal.py
+++ b/src/open_inwoner/accounts/migrations/0054_remove_action_goal.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0053_user_display_name"),
]
diff --git a/src/open_inwoner/accounts/migrations/0055_user_image.py b/src/open_inwoner/accounts/migrations/0055_user_image.py
index c796589d91..e3b8c1da71 100644
--- a/src/open_inwoner/accounts/migrations/0055_user_image.py
+++ b/src/open_inwoner/accounts/migrations/0055_user_image.py
@@ -1,11 +1,11 @@
# Generated by Django 3.2.15 on 2023-02-28 08:45
from django.db import migrations, models
+
import open_inwoner.accounts.models
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0054_remove_action_goal"),
]
diff --git a/src/open_inwoner/accounts/migrations/0056_auto_20230307_0852.py b/src/open_inwoner/accounts/migrations/0056_auto_20230307_0852.py
index b4a1be80c2..7366bd01a8 100644
--- a/src/open_inwoner/accounts/migrations/0056_auto_20230307_0852.py
+++ b/src/open_inwoner/accounts/migrations/0056_auto_20230307_0852.py
@@ -1,12 +1,12 @@
# Generated by Django 3.2.15 on 2023-03-07 07:52
-from django.db import migrations
import image_cropping.fields
+from django.db import migrations
+
import open_inwoner.accounts.models
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0055_user_image"),
]
diff --git a/src/open_inwoner/accounts/migrations/0057_rename_selected_themes_user_selected_categories.py b/src/open_inwoner/accounts/migrations/0057_rename_selected_themes_user_selected_categories.py
index 35d64dcc99..c61d90cc28 100644
--- a/src/open_inwoner/accounts/migrations/0057_rename_selected_themes_user_selected_categories.py
+++ b/src/open_inwoner/accounts/migrations/0057_rename_selected_themes_user_selected_categories.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0056_auto_20230307_0852"),
]
diff --git a/src/open_inwoner/accounts/migrations/0058_alter_user_selected_categories.py b/src/open_inwoner/accounts/migrations/0058_alter_user_selected_categories.py
index b5b0c0ca36..e45d496b50 100644
--- a/src/open_inwoner/accounts/migrations/0058_alter_user_selected_categories.py
+++ b/src/open_inwoner/accounts/migrations/0058_alter_user_selected_categories.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("pdc", "0055_alter_product_content"),
("accounts", "0057_rename_selected_themes_user_selected_categories"),
diff --git a/src/open_inwoner/accounts/migrations/0059_auto_20230412_1637.py b/src/open_inwoner/accounts/migrations/0059_auto_20230412_1637.py
index c1253b0179..ae88a492af 100644
--- a/src/open_inwoner/accounts/migrations/0059_auto_20230412_1637.py
+++ b/src/open_inwoner/accounts/migrations/0059_auto_20230412_1637.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0058_alter_user_selected_categories"),
]
diff --git a/src/open_inwoner/accounts/migrations/0060_user_infix.py b/src/open_inwoner/accounts/migrations/0060_user_infix.py
index 7ff905363a..3777ac4757 100644
--- a/src/open_inwoner/accounts/migrations/0060_user_infix.py
+++ b/src/open_inwoner/accounts/migrations/0060_user_infix.py
@@ -6,7 +6,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0059_auto_20230412_1637"),
]
diff --git a/src/open_inwoner/accounts/migrations/0061_auto_20230612_1428.py b/src/open_inwoner/accounts/migrations/0061_auto_20230612_1428.py
index bdb1328d79..8ab372fd38 100644
--- a/src/open_inwoner/accounts/migrations/0061_auto_20230612_1428.py
+++ b/src/open_inwoner/accounts/migrations/0061_auto_20230612_1428.py
@@ -1,11 +1,11 @@
# Generated by Django 3.2.15 on 2023-06-12 12:28
from django.db import migrations, models
+
import open_inwoner.utils.validators
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0060_user_infix"),
]
diff --git a/src/open_inwoner/accounts/migrations/0062_alter_user_deactivated_on.py b/src/open_inwoner/accounts/migrations/0062_alter_user_deactivated_on.py
index 39ea9c1c51..8b2fa413a9 100644
--- a/src/open_inwoner/accounts/migrations/0062_alter_user_deactivated_on.py
+++ b/src/open_inwoner/accounts/migrations/0062_alter_user_deactivated_on.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0061_auto_20230612_1428"),
]
diff --git a/src/open_inwoner/accounts/migrations/0063_alter_user_phonenumber.py b/src/open_inwoner/accounts/migrations/0063_alter_user_phonenumber.py
index fd1010190a..e2cf0c6d01 100644
--- a/src/open_inwoner/accounts/migrations/0063_alter_user_phonenumber.py
+++ b/src/open_inwoner/accounts/migrations/0063_alter_user_phonenumber.py
@@ -6,7 +6,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0062_alter_user_deactivated_on"),
]
diff --git a/src/open_inwoner/accounts/migrations/0064_alter_user_email.py b/src/open_inwoner/accounts/migrations/0064_alter_user_email.py
index 851352721f..a6af646764 100644
--- a/src/open_inwoner/accounts/migrations/0064_alter_user_email.py
+++ b/src/open_inwoner/accounts/migrations/0064_alter_user_email.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0063_alter_user_phonenumber"),
]
diff --git a/src/open_inwoner/accounts/migrations/0065_user_unique_email_when_not_digid.py b/src/open_inwoner/accounts/migrations/0065_user_unique_email_when_not_digid.py
index 96bd9b04f1..92054ac1e0 100644
--- a/src/open_inwoner/accounts/migrations/0065_user_unique_email_when_not_digid.py
+++ b/src/open_inwoner/accounts/migrations/0065_user_unique_email_when_not_digid.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0064_alter_user_email"),
]
diff --git a/src/open_inwoner/accounts/migrations/0066_remove_user_selected_categories.py b/src/open_inwoner/accounts/migrations/0066_remove_user_selected_categories.py
index c05cee1b6e..11dd71ea08 100644
--- a/src/open_inwoner/accounts/migrations/0066_remove_user_selected_categories.py
+++ b/src/open_inwoner/accounts/migrations/0066_remove_user_selected_categories.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0065_user_unique_email_when_not_digid"),
]
diff --git a/src/open_inwoner/accounts/migrations/0067_auto_20231121_1131.py b/src/open_inwoner/accounts/migrations/0067_auto_20231121_1131.py
index 5b59da2ab5..7800630751 100644
--- a/src/open_inwoner/accounts/migrations/0067_auto_20231121_1131.py
+++ b/src/open_inwoner/accounts/migrations/0067_auto_20231121_1131.py
@@ -1,11 +1,11 @@
# Generated by Django 3.2.20 on 2023-11-21 10:31
from django.db import migrations, models
+
import open_inwoner.utils.validators
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0066_remove_user_selected_categories"),
]
diff --git a/src/open_inwoner/accounts/migrations/0068_relax_email_constraint_for_eherkenning.py b/src/open_inwoner/accounts/migrations/0068_relax_email_constraint_for_eherkenning.py
index 829c3779a2..2161327bef 100644
--- a/src/open_inwoner/accounts/migrations/0068_relax_email_constraint_for_eherkenning.py
+++ b/src/open_inwoner/accounts/migrations/0068_relax_email_constraint_for_eherkenning.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0067_auto_20231121_1131"),
]
diff --git a/src/open_inwoner/accounts/migrations/0069_alter_user_postcode.py b/src/open_inwoner/accounts/migrations/0069_alter_user_postcode.py
index 2249cd6b51..63e3e29603 100644
--- a/src/open_inwoner/accounts/migrations/0069_alter_user_postcode.py
+++ b/src/open_inwoner/accounts/migrations/0069_alter_user_postcode.py
@@ -1,12 +1,10 @@
# Generated by Django 3.2.20 on 2023-12-04 09:07
-from django.db import migrations
-
import localflavor.nl.models
+from django.db import migrations
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0068_relax_email_constraint_for_eherkenning"),
]
diff --git a/src/open_inwoner/accounts/migrations/0070_auto_20231205_1657.py b/src/open_inwoner/accounts/migrations/0070_auto_20231205_1657.py
index ff1fdfd198..f39329a9e5 100644
--- a/src/open_inwoner/accounts/migrations/0070_auto_20231205_1657.py
+++ b/src/open_inwoner/accounts/migrations/0070_auto_20231205_1657.py
@@ -1,12 +1,12 @@
# Generated by Django 3.2.20 on 2023-12-05 15:57
-from django.db import migrations, models
import localflavor.nl.models
+from django.db import migrations, models
+
import open_inwoner.utils.validators
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0069_alter_user_postcode"),
]
diff --git a/src/open_inwoner/accounts/migrations/0071_delete_appointment.py b/src/open_inwoner/accounts/migrations/0071_delete_appointment.py
index 2822166294..ed3a402df4 100644
--- a/src/open_inwoner/accounts/migrations/0071_delete_appointment.py
+++ b/src/open_inwoner/accounts/migrations/0071_delete_appointment.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0070_auto_20231205_1657"),
]
diff --git a/src/open_inwoner/accounts/migrations/0071_remove_user_birthday.py b/src/open_inwoner/accounts/migrations/0071_remove_user_birthday.py
index 74884d880a..b324fa9caa 100644
--- a/src/open_inwoner/accounts/migrations/0071_remove_user_birthday.py
+++ b/src/open_inwoner/accounts/migrations/0071_remove_user_birthday.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0070_auto_20231205_1657"),
]
diff --git a/src/open_inwoner/accounts/migrations/0072_merge_20240129_1610.py b/src/open_inwoner/accounts/migrations/0072_merge_20240129_1610.py
index 67d457b753..4fbb5fc9be 100644
--- a/src/open_inwoner/accounts/migrations/0072_merge_20240129_1610.py
+++ b/src/open_inwoner/accounts/migrations/0072_merge_20240129_1610.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0071_delete_appointment"),
("accounts", "0071_remove_user_birthday"),
diff --git a/src/open_inwoner/accounts/migrations/0073_alter_user_user_contacts.py b/src/open_inwoner/accounts/migrations/0073_alter_user_user_contacts.py
index 883472a74d..99194790f4 100644
--- a/src/open_inwoner/accounts/migrations/0073_alter_user_user_contacts.py
+++ b/src/open_inwoner/accounts/migrations/0073_alter_user_user_contacts.py
@@ -5,7 +5,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0072_merge_20240129_1610"),
]
diff --git a/src/open_inwoner/accounts/migrations/0073_user_selected_categories.py b/src/open_inwoner/accounts/migrations/0073_user_selected_categories.py
index 01147df7a8..c1991c8b25 100644
--- a/src/open_inwoner/accounts/migrations/0073_user_selected_categories.py
+++ b/src/open_inwoner/accounts/migrations/0073_user_selected_categories.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("pdc", "0066_category_access_groups"),
("accounts", "0072_merge_20240129_1610"),
diff --git a/src/open_inwoner/accounts/migrations/0074_merge_20240228_1544.py b/src/open_inwoner/accounts/migrations/0074_merge_20240228_1544.py
index b85729bd39..5eb1c21646 100644
--- a/src/open_inwoner/accounts/migrations/0074_merge_20240228_1544.py
+++ b/src/open_inwoner/accounts/migrations/0074_merge_20240228_1544.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0073_alter_user_user_contacts"),
("accounts", "0073_user_selected_categories"),
diff --git a/src/open_inwoner/accounts/migrations/0075_user_verified_email.py b/src/open_inwoner/accounts/migrations/0075_user_verified_email.py
index b296367fc8..d5a34b2a90 100644
--- a/src/open_inwoner/accounts/migrations/0075_user_verified_email.py
+++ b/src/open_inwoner/accounts/migrations/0075_user_verified_email.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0074_merge_20240228_1544"),
]
diff --git a/src/open_inwoner/accounts/migrations/0076_user_case_notification_channel.py b/src/open_inwoner/accounts/migrations/0076_user_case_notification_channel.py
index f5eb20b6a8..ffe7328dcb 100644
--- a/src/open_inwoner/accounts/migrations/0076_user_case_notification_channel.py
+++ b/src/open_inwoner/accounts/migrations/0076_user_case_notification_channel.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0075_user_verified_email"),
]
diff --git a/src/open_inwoner/accounts/migrations/0078_drop_digid_eh_oidc_generics_legacy_tables.py b/src/open_inwoner/accounts/migrations/0078_drop_digid_eh_oidc_generics_legacy_tables.py
index 1400834476..61fea8c417 100644
--- a/src/open_inwoner/accounts/migrations/0078_drop_digid_eh_oidc_generics_legacy_tables.py
+++ b/src/open_inwoner/accounts/migrations/0078_drop_digid_eh_oidc_generics_legacy_tables.py
@@ -7,7 +7,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("accounts", "0077_no_roepnaam"),
]
diff --git a/src/open_inwoner/accounts/migrations/0079_digid_eherkenning_configs.py b/src/open_inwoner/accounts/migrations/0079_digid_eherkenning_configs.py
index 1ec7e9d809..1b698e23a4 100644
--- a/src/open_inwoner/accounts/migrations/0079_digid_eherkenning_configs.py
+++ b/src/open_inwoner/accounts/migrations/0079_digid_eherkenning_configs.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
(
"digid_eherkenning_oidc_generics",
diff --git a/src/open_inwoner/accounts/models.py b/src/open_inwoner/accounts/models.py
index 25ffd147e5..2ba955132e 100644
--- a/src/open_inwoner/accounts/models.py
+++ b/src/open_inwoner/accounts/models.py
@@ -2,6 +2,12 @@
from datetime import timedelta
from uuid import uuid4
+from digid_eherkenning.oidc.models import (
+ DigiDConfig as _OIDCDigiDConfig,
+)
+from digid_eherkenning.oidc.models import (
+ EHerkenningConfig as _OIDCEHerkenningConfig,
+)
from django.conf import settings
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin
from django.contrib.contenttypes.fields import GenericRelation
@@ -13,11 +19,6 @@
from django.utils.crypto import get_random_string
from django.utils.functional import classproperty
from django.utils.translation import gettext_lazy as _
-
-from digid_eherkenning.oidc.models import (
- DigiDConfig as _OIDCDigiDConfig,
- EHerkenningConfig as _OIDCEHerkenningConfig,
-)
from image_cropping import ImageCropField, ImageRatioField
from localflavor.nl.models import NLBSNField, NLZipCodeField
from mail_editor.helpers import find_template
diff --git a/src/open_inwoner/accounts/notifications/actions/notify.py b/src/open_inwoner/accounts/notifications/actions/notify.py
index bcfc734f93..b7046030ca 100644
--- a/src/open_inwoner/accounts/notifications/actions/notify.py
+++ b/src/open_inwoner/accounts/notifications/actions/notify.py
@@ -2,7 +2,6 @@
from datetime import date
from django.urls import reverse
-
from mail_editor.helpers import find_template
from open_inwoner.accounts.choices import StatusChoices
diff --git a/src/open_inwoner/accounts/notifications/messages/notify.py b/src/open_inwoner/accounts/notifications/messages/notify.py
index 6f8ee7609d..86078f5faf 100644
--- a/src/open_inwoner/accounts/notifications/messages/notify.py
+++ b/src/open_inwoner/accounts/notifications/messages/notify.py
@@ -2,7 +2,6 @@
from django.db.models import Count
from django.urls import reverse
-
from mail_editor.helpers import find_template
from open_inwoner.accounts.models import Message, User
diff --git a/src/open_inwoner/accounts/notifications/plans/notify.py b/src/open_inwoner/accounts/notifications/plans/notify.py
index 420afca485..9efb6bccb2 100644
--- a/src/open_inwoner/accounts/notifications/plans/notify.py
+++ b/src/open_inwoner/accounts/notifications/plans/notify.py
@@ -3,7 +3,6 @@
from django.db.models.query import Q
from django.urls import reverse
-
from mail_editor.helpers import find_template
from open_inwoner.accounts.models import User
@@ -63,7 +62,6 @@ def collect_notifications_about_expiring_plans() -> list[dict]:
def notify_user_about_expiring_plans(
receiver_id: int, object_ids: list[int], channel: str
) -> None:
-
send = _channels[channel]
send(receiver_id=receiver_id, plan_ids=object_ids)
diff --git a/src/open_inwoner/accounts/templates/django_registration/registration_closed.html b/src/open_inwoner/accounts/templates/django_registration/registration_closed.html
index c3b5f0fe3b..3b973fec9d 100644
--- a/src/open_inwoner/accounts/templates/django_registration/registration_closed.html
+++ b/src/open_inwoner/accounts/templates/django_registration/registration_closed.html
@@ -1 +1 @@
-{% extends "master.html" %}
\ No newline at end of file
+{% extends "master.html" %}
diff --git a/src/open_inwoner/accounts/tests/factories.py b/src/open_inwoner/accounts/tests/factories.py
index 1506645d0b..ad4df4d1a7 100644
--- a/src/open_inwoner/accounts/tests/factories.py
+++ b/src/open_inwoner/accounts/tests/factories.py
@@ -1,11 +1,10 @@
import random
from uuid import uuid4
+import factory.fuzzy
from django.core.files.uploadedfile import SimpleUploadedFile
from django.db.models.signals import post_save, pre_save
-import factory.fuzzy
-
from open_inwoner.accounts.choices import LoginTypeChoices
diff --git a/src/open_inwoner/accounts/tests/test_action_views.py b/src/open_inwoner/accounts/tests/test_action_views.py
index b32c258158..93f4376b76 100644
--- a/src/open_inwoner/accounts/tests/test_action_views.py
+++ b/src/open_inwoner/accounts/tests/test_action_views.py
@@ -6,7 +6,6 @@
from django.test import override_settings, tag
from django.urls import reverse
from django.utils.translation import gettext as _
-
from django_webtest import WebTest
from playwright.sync_api import expect
from privates.test import temp_private_root
diff --git a/src/open_inwoner/accounts/tests/test_admin.py b/src/open_inwoner/accounts/tests/test_admin.py
index 88df024a31..9529454f74 100644
--- a/src/open_inwoner/accounts/tests/test_admin.py
+++ b/src/open_inwoner/accounts/tests/test_admin.py
@@ -1,6 +1,5 @@
from django.urls import reverse
from django.utils.translation import gettext as _
-
from django_webtest import WebTest
from maykin_2fa.test import disable_admin_mfa
from webtest import Upload
diff --git a/src/open_inwoner/accounts/tests/test_auth.py b/src/open_inwoner/accounts/tests/test_auth.py
index ff933c7ef7..ddaa9c711c 100644
--- a/src/open_inwoner/accounts/tests/test_auth.py
+++ b/src/open_inwoner/accounts/tests/test_auth.py
@@ -1,14 +1,13 @@
from unittest.mock import patch
from urllib.parse import urlencode
+import requests_mock
from django.contrib.auth.signals import user_logged_in
from django.contrib.sites.models import Site
from django.core import mail
from django.test import RequestFactory, TestCase, override_settings
from django.urls import reverse, reverse_lazy
from django.utils.translation import gettext as _
-
-import requests_mock
from django_webtest import WebTest
from furl import furl
from pyquery import PyQuery as PQ
diff --git a/src/open_inwoner/accounts/tests/test_auth_2fa_sms.py b/src/open_inwoner/accounts/tests/test_auth_2fa_sms.py
index 2fd7ec827b..5b8bf066eb 100644
--- a/src/open_inwoner/accounts/tests/test_auth_2fa_sms.py
+++ b/src/open_inwoner/accounts/tests/test_auth_2fa_sms.py
@@ -9,7 +9,6 @@
from django.urls import reverse
from django.utils import timezone
from django.utils.translation import gettext as _
-
from django_webtest import WebTest
from freezegun import freeze_time
from furl import furl
diff --git a/src/open_inwoner/accounts/tests/test_backends.py b/src/open_inwoner/accounts/tests/test_backends.py
index e72fab9660..21236b81d2 100644
--- a/src/open_inwoner/accounts/tests/test_backends.py
+++ b/src/open_inwoner/accounts/tests/test_backends.py
@@ -3,7 +3,6 @@
from django.contrib import auth
from django.test import RequestFactory, TestCase, override_settings
from django.urls import reverse
-
from furl import furl
from mozilla_django_oidc_db.config import store_config
diff --git a/src/open_inwoner/accounts/tests/test_commands.py b/src/open_inwoner/accounts/tests/test_commands.py
index ff01a3c612..fde46adb96 100644
--- a/src/open_inwoner/accounts/tests/test_commands.py
+++ b/src/open_inwoner/accounts/tests/test_commands.py
@@ -1,6 +1,5 @@
from django.core.management import call_command
from django.test import TestCase
-
from freezegun import freeze_time
from open_inwoner.utils.tests.helpers import AssertTimelineLogMixin
diff --git a/src/open_inwoner/accounts/tests/test_contact_views.py b/src/open_inwoner/accounts/tests/test_contact_views.py
index 8efc92627d..05fa0005c4 100644
--- a/src/open_inwoner/accounts/tests/test_contact_views.py
+++ b/src/open_inwoner/accounts/tests/test_contact_views.py
@@ -6,7 +6,6 @@
from django.test import override_settings
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
-
from django_webtest import WebTest
from open_inwoner.accounts.models import User
diff --git a/src/open_inwoner/accounts/tests/test_file_upload.py b/src/open_inwoner/accounts/tests/test_file_upload.py
index 5e0a52a0e0..a999d2645a 100644
--- a/src/open_inwoner/accounts/tests/test_file_upload.py
+++ b/src/open_inwoner/accounts/tests/test_file_upload.py
@@ -3,7 +3,6 @@
from django.test import override_settings
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
-
from django_webtest import WebTest
from privates.test import temp_private_root
from webtest import Upload
@@ -22,7 +21,6 @@ def setUp(self):
@temp_private_root()
def test_valid_type_of_file_is_uploaded(self):
-
self.form["file"] = Upload("readme.xlsx", b"data", "application/vnd.ms-excel")
self.form["name"] = "Action name"
upload_response = self.form.submit()
diff --git a/src/open_inwoner/accounts/tests/test_inbox_download_view.py b/src/open_inwoner/accounts/tests/test_inbox_download_view.py
index e16671efa1..c5436db4f5 100644
--- a/src/open_inwoner/accounts/tests/test_inbox_download_view.py
+++ b/src/open_inwoner/accounts/tests/test_inbox_download_view.py
@@ -1,7 +1,6 @@
from django.core.files.uploadedfile import SimpleUploadedFile
from django.test import override_settings
from django.urls import reverse
-
from django_webtest import WebTest
from privates.test import temp_private_root
diff --git a/src/open_inwoner/accounts/tests/test_inbox_page.py b/src/open_inwoner/accounts/tests/test_inbox_page.py
index fd2ab84840..a9e851de3f 100644
--- a/src/open_inwoner/accounts/tests/test_inbox_page.py
+++ b/src/open_inwoner/accounts/tests/test_inbox_page.py
@@ -3,7 +3,6 @@
from django.test import override_settings, tag
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
-
from django_webtest import WebTest
from playwright.sync_api import expect
from privates.test import temp_private_root
diff --git a/src/open_inwoner/accounts/tests/test_inbox_start_page.py b/src/open_inwoner/accounts/tests/test_inbox_start_page.py
index 43760ce0bd..3025713c2b 100644
--- a/src/open_inwoner/accounts/tests/test_inbox_start_page.py
+++ b/src/open_inwoner/accounts/tests/test_inbox_start_page.py
@@ -1,7 +1,6 @@
from django.test import override_settings
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
-
from django_webtest import WebTest
from furl import furl
from privates.test import temp_private_root
diff --git a/src/open_inwoner/accounts/tests/test_invite.py b/src/open_inwoner/accounts/tests/test_invite.py
index 967c75c67a..076d3055fd 100644
--- a/src/open_inwoner/accounts/tests/test_invite.py
+++ b/src/open_inwoner/accounts/tests/test_invite.py
@@ -3,7 +3,6 @@
from django.test import override_settings
from django.urls import reverse
from django.utils import timezone
-
from django_webtest import WebTest
from .factories import InviteFactory, UserFactory
diff --git a/src/open_inwoner/accounts/tests/test_logging.py b/src/open_inwoner/accounts/tests/test_logging.py
index a55d93fb1d..32e8b153ca 100644
--- a/src/open_inwoner/accounts/tests/test_logging.py
+++ b/src/open_inwoner/accounts/tests/test_logging.py
@@ -8,7 +8,6 @@
from django.urls import reverse
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
-
from django_webtest import WebTest
from freezegun import freeze_time
from maykin_2fa.test import disable_admin_mfa
diff --git a/src/open_inwoner/accounts/tests/test_message.py b/src/open_inwoner/accounts/tests/test_message.py
index d74dc0f8fc..57bf396994 100644
--- a/src/open_inwoner/accounts/tests/test_message.py
+++ b/src/open_inwoner/accounts/tests/test_message.py
@@ -1,5 +1,4 @@
from django.test import TestCase
-
from freezegun import freeze_time
from .factories import MessageFactory, UserFactory
diff --git a/src/open_inwoner/accounts/tests/test_notify_expiring_actions.py b/src/open_inwoner/accounts/tests/test_notify_expiring_actions.py
index af5a3dc1af..5e2709dfdb 100644
--- a/src/open_inwoner/accounts/tests/test_notify_expiring_actions.py
+++ b/src/open_inwoner/accounts/tests/test_notify_expiring_actions.py
@@ -30,7 +30,7 @@ def test_send_emails_about_expiring_actions(self):
email1, email2 = mail.outbox
- for email, recipient in zip([email1, email2], [joe, schmoe]):
+ for email, recipient in zip([email1, email2], [joe, schmoe], strict=False):
self.assertEqual(
email.subject, "Acties verlopen vandaag op Open Inwoner Platform"
)
diff --git a/src/open_inwoner/accounts/tests/test_oidc_views.py b/src/open_inwoner/accounts/tests/test_oidc_views.py
index ba4adfae22..91f6e0f3d4 100644
--- a/src/open_inwoner/accounts/tests/test_oidc_views.py
+++ b/src/open_inwoner/accounts/tests/test_oidc_views.py
@@ -3,15 +3,14 @@
from unittest.mock import patch
from urllib.parse import urlencode
+import requests
+import requests_mock
from django.conf import settings
from django.contrib.auth import get_user_model
from django.core.exceptions import ValidationError
from django.test import TestCase, modify_settings, override_settings
from django.urls import reverse
from django.utils.translation import gettext as _
-
-import requests
-import requests_mock
from django_webtest import DjangoTestApp, DjangoWebtestResponse, WebTest
from furl import furl
from mozilla_django_oidc_db.models import OpenIDConnectConfig
diff --git a/src/open_inwoner/accounts/tests/test_password_reset_view.py b/src/open_inwoner/accounts/tests/test_password_reset_view.py
index 7576211277..117f5fc513 100644
--- a/src/open_inwoner/accounts/tests/test_password_reset_view.py
+++ b/src/open_inwoner/accounts/tests/test_password_reset_view.py
@@ -1,5 +1,4 @@
from django.urls import reverse
-
from django_webtest import WebTest
from freezegun import freeze_time
diff --git a/src/open_inwoner/accounts/tests/test_profile_views.py b/src/open_inwoner/accounts/tests/test_profile_views.py
index 70edc94070..6814ca714c 100644
--- a/src/open_inwoner/accounts/tests/test_profile_views.py
+++ b/src/open_inwoner/accounts/tests/test_profile_views.py
@@ -2,14 +2,13 @@
from datetime import date
from unittest.mock import patch
+import requests_mock
from django import forms
from django.conf import settings
from django.template.defaultfilters import date as django_date
from django.test import TestCase, override_settings, tag
from django.urls import reverse, reverse_lazy
from django.utils.translation import gettext as _
-
-import requests_mock
from django_webtest import WebTest
from freezegun import freeze_time
from pyquery import PyQuery as PQ
diff --git a/src/open_inwoner/accounts/tests/test_user_manager.py b/src/open_inwoner/accounts/tests/test_user_manager.py
index 1ff629400b..2673cdd01e 100644
--- a/src/open_inwoner/accounts/tests/test_user_manager.py
+++ b/src/open_inwoner/accounts/tests/test_user_manager.py
@@ -30,7 +30,7 @@ def test_having_usable_email(self):
]
# bad
- UserFactory(first_name="placeholder", email="placeholder@example.org"),
+ (UserFactory(first_name="placeholder", email="placeholder@example.org"),)
UserFactory(first_name="empty", email="")
actual = User.objects.having_usable_email()
diff --git a/src/open_inwoner/accounts/views/actions.py b/src/open_inwoner/accounts/views/actions.py
index 87250cf879..a9cb54a371 100644
--- a/src/open_inwoner/accounts/views/actions.py
+++ b/src/open_inwoner/accounts/views/actions.py
@@ -1,5 +1,8 @@
from datetime import datetime
+from aldryn_apphooks_config.mixins import AppConfigMixin
+from aldryn_apphooks_config.utils import get_app_instance
+from cms.models import Page
from django.contrib import messages
from django.contrib.auth.mixins import LoginRequiredMixin
from django.db.models import Q
@@ -11,10 +14,6 @@
from django.views.generic import CreateView, DetailView, ListView
from django.views.generic.detail import SingleObjectMixin
from django.views.generic.edit import DeletionMixin, UpdateView
-
-from aldryn_apphooks_config.mixins import AppConfigMixin
-from aldryn_apphooks_config.utils import get_app_instance
-from cms.models import Page
from privates.views import PrivateMediaView
from view_breadcrumbs import BaseBreadcrumbMixin
diff --git a/src/open_inwoner/accounts/views/auth.py b/src/open_inwoner/accounts/views/auth.py
index c4c407046d..8834ae40ab 100644
--- a/src/open_inwoner/accounts/views/auth.py
+++ b/src/open_inwoner/accounts/views/auth.py
@@ -1,5 +1,10 @@
import logging
+from digid_eherkenning.mock import conf as digid_conf
+from digid_eherkenning.mock.views.digid import DigiDAssertionConsumerServiceMockView
+from digid_eherkenning.views.base import get_redirect_url
+from digid_eherkenning.views.digid import DigiDAssertionConsumerServiceView
+from digid_eherkenning.views.eherkenning import eHerkenningAssertionConsumerServiceView
from django.conf import settings
from django.contrib import auth, messages
from django.contrib.auth.mixins import UserPassesTestMixin
@@ -13,12 +18,6 @@
from django.urls import reverse
from django.utils.translation import gettext as _
-from digid_eherkenning.mock import conf as digid_conf
-from digid_eherkenning.mock.views.digid import DigiDAssertionConsumerServiceMockView
-from digid_eherkenning.views.base import get_redirect_url
-from digid_eherkenning.views.digid import DigiDAssertionConsumerServiceView
-from digid_eherkenning.views.eherkenning import eHerkenningAssertionConsumerServiceView
-
from eherkenning.mock import eherkenning_conf
from eherkenning.mock.views.eherkenning import (
eHerkenningAssertionConsumerServiceMockView,
diff --git a/src/open_inwoner/accounts/views/auth_oidc.py b/src/open_inwoner/accounts/views/auth_oidc.py
index 991eb2252a..7e55c7496b 100644
--- a/src/open_inwoner/accounts/views/auth_oidc.py
+++ b/src/open_inwoner/accounts/views/auth_oidc.py
@@ -1,6 +1,8 @@
import logging
from urllib.parse import urlencode
+from digid_eherkenning.oidc.models import BaseConfig
+from digid_eherkenning.oidc.views import OIDCAuthenticationCallbackView
from django.conf import settings
from django.contrib import auth, messages
from django.core.exceptions import ValidationError
@@ -10,9 +12,6 @@
from django.urls import reverse, reverse_lazy
from django.utils.translation import gettext_lazy as _
from django.views.generic import View
-
-from digid_eherkenning.oidc.models import BaseConfig
-from digid_eherkenning.oidc.views import OIDCAuthenticationCallbackView
from mozilla_django_oidc_db.views import _OIDC_ERROR_SESSION_KEY, OIDCInit
from ..models import OpenIDDigiDConfig, OpenIDEHerkenningConfig
diff --git a/src/open_inwoner/accounts/views/contactmoments.py b/src/open_inwoner/accounts/views/contactmoments.py
index f175dd432c..de47e522a9 100644
--- a/src/open_inwoner/accounts/views/contactmoments.py
+++ b/src/open_inwoner/accounts/views/contactmoments.py
@@ -10,7 +10,6 @@
from django.utils.translation import gettext_lazy as _
from django.views import View
from django.views.generic import TemplateView
-
from view_breadcrumbs import BaseBreadcrumbMixin
from open_inwoner.accounts.models import User
diff --git a/src/open_inwoner/accounts/views/contacts.py b/src/open_inwoner/accounts/views/contacts.py
index d637c94c48..9dae6fa2a1 100644
--- a/src/open_inwoner/accounts/views/contacts.py
+++ b/src/open_inwoner/accounts/views/contacts.py
@@ -7,7 +7,6 @@
from django.views.generic import ListView, View
from django.views.generic.detail import SingleObjectMixin
from django.views.generic.edit import FormView
-
from mail_editor.helpers import find_template
from view_breadcrumbs import BaseBreadcrumbMixin
diff --git a/src/open_inwoner/accounts/views/csrf.py b/src/open_inwoner/accounts/views/csrf.py
index 623c42ca8e..26e6606cef 100644
--- a/src/open_inwoner/accounts/views/csrf.py
+++ b/src/open_inwoner/accounts/views/csrf.py
@@ -3,6 +3,8 @@
from django.urls import reverse
from django.views.csrf import (
CSRF_FAILURE_TEMPLATE_NAME,
+)
+from django.views.csrf import (
csrf_failure as original_csrf_failure,
)
diff --git a/src/open_inwoner/accounts/views/document.py b/src/open_inwoner/accounts/views/document.py
index 316a376d6b..ab1e19fe9c 100644
--- a/src/open_inwoner/accounts/views/document.py
+++ b/src/open_inwoner/accounts/views/document.py
@@ -1,5 +1,4 @@
from django.utils.translation import gettext as _
-
from privates.views import PrivateMediaView
from open_inwoner.accounts.models import Document
diff --git a/src/open_inwoner/accounts/views/inbox.py b/src/open_inwoner/accounts/views/inbox.py
index 378bb4b186..528e9c983b 100644
--- a/src/open_inwoner/accounts/views/inbox.py
+++ b/src/open_inwoner/accounts/views/inbox.py
@@ -9,7 +9,6 @@
from django.utils import formats
from django.utils.translation import gettext as _
from django.views.generic import FormView
-
from privates.views import PrivateMediaView
from open_inwoner.configurations.models import SiteConfiguration
diff --git a/src/open_inwoner/accounts/views/invite.py b/src/open_inwoner/accounts/views/invite.py
index af5f5f2dbd..23d6ef94b7 100644
--- a/src/open_inwoner/accounts/views/invite.py
+++ b/src/open_inwoner/accounts/views/invite.py
@@ -3,7 +3,6 @@
from django.urls import reverse, reverse_lazy
from django.utils.translation import gettext as _
from django.views.generic import UpdateView
-
from furl import furl
from open_inwoner.utils.views import CommonPageMixin, LogMixin
diff --git a/src/open_inwoner/accounts/views/login.py b/src/open_inwoner/accounts/views/login.py
index f2e52eea93..b52a9bfeb7 100644
--- a/src/open_inwoner/accounts/views/login.py
+++ b/src/open_inwoner/accounts/views/login.py
@@ -2,7 +2,8 @@
from django.conf import settings
from django.contrib import messages
-from django.contrib.auth import REDIRECT_FIELD_NAME, get_user_model, login as auth_login
+from django.contrib.auth import REDIRECT_FIELD_NAME, get_user_model
+from django.contrib.auth import login as auth_login
from django.contrib.auth.views import LoginView
from django.core.signing import BadSignature, SignatureExpired, TimestampSigner
from django.shortcuts import redirect
@@ -12,7 +13,6 @@
from django.utils.translation import gettext as _
from django.views.decorators.cache import never_cache
from django.views.generic import FormView, View
-
from formtools.wizard.views import SessionWizardView
from furl import furl
from oath import totp
diff --git a/src/open_inwoner/accounts/views/profile.py b/src/open_inwoner/accounts/views/profile.py
index c6ff18478a..0214632644 100644
--- a/src/open_inwoner/accounts/views/profile.py
+++ b/src/open_inwoner/accounts/views/profile.py
@@ -3,6 +3,7 @@
from datetime import date
from typing import Any
+from aldryn_apphooks_config.mixins import AppConfigMixin
from django.contrib import messages
from django.contrib.auth.mixins import LoginRequiredMixin
from django.http import HttpResponseRedirect
@@ -11,8 +12,6 @@
from django.utils.functional import cached_property
from django.utils.translation import gettext as _
from django.views.generic import FormView, TemplateView, UpdateView
-
-from aldryn_apphooks_config.mixins import AppConfigMixin
from view_breadcrumbs import BaseBreadcrumbMixin
from open_inwoner.accounts.choices import (
diff --git a/src/open_inwoner/accounts/views/registration.py b/src/open_inwoner/accounts/views/registration.py
index b24f233244..246c9057cd 100644
--- a/src/open_inwoner/accounts/views/registration.py
+++ b/src/open_inwoner/accounts/views/registration.py
@@ -7,7 +7,6 @@
from django.urls import NoReverseMatch, reverse
from django.utils.translation import gettext as _
from django.views.generic import TemplateView, UpdateView
-
from django_registration.backends.one_step.views import RegistrationView
from furl import furl
diff --git a/src/open_inwoner/api/search/serializers.py b/src/open_inwoner/api/search/serializers.py
index 32efae8ec6..835f844763 100644
--- a/src/open_inwoner/api/search/serializers.py
+++ b/src/open_inwoner/api/search/serializers.py
@@ -1,5 +1,4 @@
from django.utils.translation import gettext_lazy as _
-
from rest_framework import serializers
diff --git a/src/open_inwoner/api/search/tests/test_autocomplete_api.py b/src/open_inwoner/api/search/tests/test_autocomplete_api.py
index d5182ff40e..113758f6e2 100644
--- a/src/open_inwoner/api/search/tests/test_autocomplete_api.py
+++ b/src/open_inwoner/api/search/tests/test_autocomplete_api.py
@@ -2,9 +2,9 @@
this file contains tests for the RESTful API
The logic of `autocomplete` is tested at `open_inwoner.search.tests` folder
"""
+
from django.test import tag
from django.urls import reverse_lazy
-
from rest_framework import status
from rest_framework.test import APITestCase
diff --git a/src/open_inwoner/api/tests/test_serializers.py b/src/open_inwoner/api/tests/test_serializers.py
index ece91f4d19..e25ef9a39d 100644
--- a/src/open_inwoner/api/tests/test_serializers.py
+++ b/src/open_inwoner/api/tests/test_serializers.py
@@ -1,5 +1,4 @@
from django.urls import reverse
-
from rest_framework import status
from rest_framework.test import APIClient, APITestCase
diff --git a/src/open_inwoner/api/tests/test_views.py b/src/open_inwoner/api/tests/test_views.py
index 3ea2b9f1ef..975803b637 100644
--- a/src/open_inwoner/api/tests/test_views.py
+++ b/src/open_inwoner/api/tests/test_views.py
@@ -1,5 +1,4 @@
from django.urls import reverse
-
from rest_framework import status
from rest_framework.test import APIClient, APITestCase
diff --git a/src/open_inwoner/api/urls.py b/src/open_inwoner/api/urls.py
index ac9b8d23fe..82bd03848a 100644
--- a/src/open_inwoner/api/urls.py
+++ b/src/open_inwoner/api/urls.py
@@ -1,5 +1,4 @@
from django.urls import include, path
-
from drf_spectacular.views import SpectacularJSONAPIView, SpectacularRedocView
from rest_framework import routers
diff --git a/src/open_inwoner/apimock/apis/qmatic/appointment/customers/identify;email=foo@bar.org.json b/src/open_inwoner/apimock/apis/qmatic/appointment/customers/identify;email=foo@bar.org.json
index 6904a70b3c..77aaa50432 100644
--- a/src/open_inwoner/apimock/apis/qmatic/appointment/customers/identify;email=foo@bar.org.json
+++ b/src/open_inwoner/apimock/apis/qmatic/appointment/customers/identify;email=foo@bar.org.json
@@ -27,4 +27,4 @@
"email": "foo@bar.org"
}
}
-]
\ No newline at end of file
+]
diff --git a/src/open_inwoner/apimock/apis/qmatic/calendar-backend/public/api/v1/customers/12345/appointments.json b/src/open_inwoner/apimock/apis/qmatic/calendar-backend/public/api/v1/customers/12345/appointments.json
index b241e5287a..91d8590902 100644
--- a/src/open_inwoner/apimock/apis/qmatic/calendar-backend/public/api/v1/customers/12345/appointments.json
+++ b/src/open_inwoner/apimock/apis/qmatic/calendar-backend/public/api/v1/customers/12345/appointments.json
@@ -251,4 +251,4 @@
}
],
"notifications": []
-}
\ No newline at end of file
+}
diff --git a/src/open_inwoner/celery.py b/src/open_inwoner/celery.py
index 29620c429b..fd270e6ac3 100644
--- a/src/open_inwoner/celery.py
+++ b/src/open_inwoner/celery.py
@@ -1,9 +1,8 @@
from pathlib import Path
-from django.conf import settings
-
from celery import Celery, bootsteps
from celery.signals import setup_logging, worker_ready, worker_shutdown
+from django.conf import settings
from .setup import setup_env
diff --git a/src/open_inwoner/ckeditor5/tests/test_upload_api.py b/src/open_inwoner/ckeditor5/tests/test_upload_api.py
index 9d4131beb7..992654006f 100644
--- a/src/open_inwoner/ckeditor5/tests/test_upload_api.py
+++ b/src/open_inwoner/ckeditor5/tests/test_upload_api.py
@@ -1,6 +1,5 @@
from django.core.files.uploadedfile import SimpleUploadedFile
from django.urls import reverse_lazy
-
from filer.models import Image
from rest_framework import status
from rest_framework.test import APITestCase
diff --git a/src/open_inwoner/cms/banner/cms_plugins.py b/src/open_inwoner/cms/banner/cms_plugins.py
index 406aa25cf9..dc142e6cd4 100644
--- a/src/open_inwoner/cms/banner/cms_plugins.py
+++ b/src/open_inwoner/cms/banner/cms_plugins.py
@@ -1,7 +1,6 @@
-from django.utils.translation import gettext_lazy as _
-
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
+from django.utils.translation import gettext_lazy as _
from .forms import BannerImageForm, BannerTextForm
from .models import BannerImage, BannerText
diff --git a/src/open_inwoner/cms/banner/migrations/0001_initial.py b/src/open_inwoner/cms/banner/migrations/0001_initial.py
index 18eaf55d61..ba09cfaca2 100644
--- a/src/open_inwoner/cms/banner/migrations/0001_initial.py
+++ b/src/open_inwoner/cms/banner/migrations/0001_initial.py
@@ -1,13 +1,12 @@
# Generated by Django 3.2.15 on 2023-04-25 13:10
-from django.conf import settings
-from django.db import migrations, models
import django.db.models.deletion
import filer.fields.image
+from django.conf import settings
+from django.db import migrations, models
class Migration(migrations.Migration):
-
initial = True
dependencies = [
diff --git a/src/open_inwoner/cms/banner/migrations/0002_banner_image_height.py b/src/open_inwoner/cms/banner/migrations/0002_banner_image_height.py
index 66d9f5605d..01f046e474 100644
--- a/src/open_inwoner/cms/banner/migrations/0002_banner_image_height.py
+++ b/src/open_inwoner/cms/banner/migrations/0002_banner_image_height.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("banner", "0001_initial"),
]
diff --git a/src/open_inwoner/cms/banner/migrations/0003_auto_20230511_1125.py b/src/open_inwoner/cms/banner/migrations/0003_auto_20230511_1125.py
index f2cf335386..7b41b166c9 100644
--- a/src/open_inwoner/cms/banner/migrations/0003_auto_20230511_1125.py
+++ b/src/open_inwoner/cms/banner/migrations/0003_auto_20230511_1125.py
@@ -1,9 +1,9 @@
# Generated by Django 3.2.15 on 2023-05-11 09:25
-from django.conf import settings
-from django.db import migrations, models
import django.db.models.deletion
import filer.fields.image
+from django.conf import settings
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/src/open_inwoner/cms/banner/migrations/0004_alter_bannerimage_cmsplugin_ptr_and_more.py b/src/open_inwoner/cms/banner/migrations/0004_alter_bannerimage_cmsplugin_ptr_and_more.py
index 97042161f7..93145dd7d8 100644
--- a/src/open_inwoner/cms/banner/migrations/0004_alter_bannerimage_cmsplugin_ptr_and_more.py
+++ b/src/open_inwoner/cms/banner/migrations/0004_alter_bannerimage_cmsplugin_ptr_and_more.py
@@ -5,7 +5,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("cms", "0022_auto_20180620_1551"),
("banner", "0003_auto_20230511_1125"),
diff --git a/src/open_inwoner/cms/banner/models.py b/src/open_inwoner/cms/banner/models.py
index 98bb0f1d94..5f4a07ee23 100644
--- a/src/open_inwoner/cms/banner/models.py
+++ b/src/open_inwoner/cms/banner/models.py
@@ -1,9 +1,8 @@
import os
+from cms.models import CMSPlugin
from django.db import models
from django.utils.translation import gettext_lazy as _
-
-from cms.models import CMSPlugin
from filer.fields.image import FilerImageField
diff --git a/src/open_inwoner/cms/benefits/cms_apps.py b/src/open_inwoner/cms/benefits/cms_apps.py
index ab1bce81cc..85b9afe6e8 100644
--- a/src/open_inwoner/cms/benefits/cms_apps.py
+++ b/src/open_inwoner/cms/benefits/cms_apps.py
@@ -1,7 +1,6 @@
-from django.utils.translation import gettext_lazy as _
-
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
+from django.utils.translation import gettext_lazy as _
@apphook_pool.register
diff --git a/src/open_inwoner/cms/cases/cms_apps.py b/src/open_inwoner/cms/cases/cms_apps.py
index 5fda8bcc67..0e525f0906 100644
--- a/src/open_inwoner/cms/cases/cms_apps.py
+++ b/src/open_inwoner/cms/cases/cms_apps.py
@@ -1,7 +1,6 @@
-from django.utils.translation import gettext_lazy as _
-
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
+from django.utils.translation import gettext_lazy as _
@apphook_pool.register
diff --git a/src/open_inwoner/cms/cases/tests/test_contactform.py b/src/open_inwoner/cms/cases/tests/test_contactform.py
index 70fa83394f..bea9ef2feb 100644
--- a/src/open_inwoner/cms/cases/tests/test_contactform.py
+++ b/src/open_inwoner/cms/cases/tests/test_contactform.py
@@ -1,12 +1,11 @@
from unittest.mock import ANY, patch
+import requests_mock
from django.conf import settings
from django.core import mail
from django.test import override_settings
from django.urls import reverse
from django.utils.translation import gettext as _
-
-import requests_mock
from django_webtest import WebTest
from zgw_consumers.api_models.constants import (
RolOmschrijving,
@@ -609,10 +608,12 @@ def test_form_success_with_api_eherkenning_user(
if use_rsin_for_innNnpId_query_parameter
else eherkenning_user.kvk
)
- m.get(
- f"{KLANTEN_ROOT}klanten?subjectNietNatuurlijkPersoon__innNnpId={identifier}",
- json=paginated_response([self.klant]),
- ),
+ (
+ m.get(
+ f"{KLANTEN_ROOT}klanten?subjectNietNatuurlijkPersoon__innNnpId={identifier}",
+ json=paginated_response([self.klant]),
+ ),
+ )
response = self.app.get(self.case_detail_url, user=eherkenning_user)
diff --git a/src/open_inwoner/cms/cases/tests/test_htmx.py b/src/open_inwoner/cms/cases/tests/test_htmx.py
index ef0e03dbb5..bef312e039 100644
--- a/src/open_inwoner/cms/cases/tests/test_htmx.py
+++ b/src/open_inwoner/cms/cases/tests/test_htmx.py
@@ -2,10 +2,9 @@
from unittest.mock import patch
from uuid import UUID
+import requests_mock
from django.test import override_settings, tag
from django.utils.translation import gettext as _
-
-import requests_mock
from playwright.sync_api import expect
from zgw_consumers.api_models.constants import (
RolOmschrijving,
@@ -555,10 +554,12 @@ def mock_list(request, context):
]
return json.dumps(items)
- m.get(
- f"{ZAKEN_ROOT}zaakinformatieobjecten?zaak={self.zaak['url']}",
- text=mock_list,
- ),
+ (
+ m.get(
+ f"{ZAKEN_ROOT}zaakinformatieobjecten?zaak={self.zaak['url']}",
+ text=mock_list,
+ ),
+ )
# Upload mock.
def mock_upload(request, context):
@@ -592,11 +593,13 @@ def mock_upload(request, context):
uploads.append(uploaded_informatie_object)
return json.dumps(uploaded_informatie_object)
- m.post(
- f"{DOCUMENTEN_ROOT}enkelvoudiginformatieobjecten",
- status_code=201,
- text=mock_upload,
- ),
+ (
+ m.post(
+ f"{DOCUMENTEN_ROOT}enkelvoudiginformatieobjecten",
+ status_code=201,
+ text=mock_upload,
+ ),
+ )
# Setup.
context = self.browser.new_context(storage_state=self.user_login_state)
diff --git a/src/open_inwoner/cms/cases/views/cases.py b/src/open_inwoner/cms/cases/views/cases.py
index d7f806bdab..da30e9ee40 100644
--- a/src/open_inwoner/cms/cases/views/cases.py
+++ b/src/open_inwoner/cms/cases/views/cases.py
@@ -5,7 +5,6 @@
from django.utils.functional import cached_property
from django.utils.translation import gettext_lazy as _
from django.views.generic import TemplateView
-
from furl import furl
from view_breadcrumbs import BaseBreadcrumbMixin
diff --git a/src/open_inwoner/cms/cases/views/services.py b/src/open_inwoner/cms/cases/views/services.py
index 88fb303a4e..42e3891d72 100644
--- a/src/open_inwoner/cms/cases/views/services.py
+++ b/src/open_inwoner/cms/cases/views/services.py
@@ -7,7 +7,6 @@
from django.http import HttpRequest
from django.utils.translation import gettext_lazy as _
-
from zgw_consumers.concurrent import parallel
from open_inwoner.openzaak.api_models import OpenSubmission, Zaak
@@ -266,7 +265,7 @@ def resolve_case(self, case: Zaak, group: ZGWApiGroupConfig) -> Zaak:
):
try:
update_case = task.result()
- if hasattr(update_case, "__call__"):
+ if callable(update_case):
update_case(case)
except BaseException:
logger.exception("Error in resolving case", stack_info=True)
diff --git a/src/open_inwoner/cms/cases/views/status.py b/src/open_inwoner/cms/cases/views/status.py
index 9cacc7d884..5e4b9fde9f 100644
--- a/src/open_inwoner/cms/cases/views/status.py
+++ b/src/open_inwoner/cms/cases/views/status.py
@@ -19,7 +19,6 @@
from django.utils.translation import gettext_lazy as _
from django.views import View
from django.views.generic import FormView, TemplateView
-
from django_htmx.http import HttpResponseClientRedirect
from mail_editor.helpers import find_template
from view_breadcrumbs import BaseBreadcrumbMixin
@@ -664,7 +663,9 @@ def get_case_document_files(
config = OpenZaakConfig.get_solo()
documents = []
- for case_info_obj, info_obj in zip(case_info_objects, info_objects):
+ for case_info_obj, info_obj in zip(
+ case_info_objects, info_objects, strict=False
+ ):
if not info_obj:
continue
if not is_info_object_visible(
diff --git a/src/open_inwoner/cms/collaborate/cms_apps.py b/src/open_inwoner/cms/collaborate/cms_apps.py
index f818a0aec2..a0eb247c9e 100644
--- a/src/open_inwoner/cms/collaborate/cms_apps.py
+++ b/src/open_inwoner/cms/collaborate/cms_apps.py
@@ -1,7 +1,6 @@
-from django.utils.translation import gettext_lazy as _
-
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
+from django.utils.translation import gettext_lazy as _
@apphook_pool.register
diff --git a/src/open_inwoner/cms/collaborate/cms_plugins.py b/src/open_inwoner/cms/collaborate/cms_plugins.py
index c61e3e5271..b8533fbf46 100644
--- a/src/open_inwoner/cms/collaborate/cms_plugins.py
+++ b/src/open_inwoner/cms/collaborate/cms_plugins.py
@@ -1,7 +1,6 @@
-from django.utils.translation import gettext_lazy as _
-
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
+from django.utils.translation import gettext_lazy as _
from open_inwoner.plans.models import Plan
diff --git a/src/open_inwoner/cms/collaborate/test/test_plugin_active_plans.py b/src/open_inwoner/cms/collaborate/test/test_plugin_active_plans.py
index 26708afc19..f279eea897 100644
--- a/src/open_inwoner/cms/collaborate/test/test_plugin_active_plans.py
+++ b/src/open_inwoner/cms/collaborate/test/test_plugin_active_plans.py
@@ -1,5 +1,4 @@
from django.test import override_settings
-
from django_webtest import WebTest
from open_inwoner.cms.products.cms_apps import ProductsApphook
diff --git a/src/open_inwoner/cms/context_processors.py b/src/open_inwoner/cms/context_processors.py
index 0ea84b8e09..393557b21c 100644
--- a/src/open_inwoner/cms/context_processors.py
+++ b/src/open_inwoner/cms/context_processors.py
@@ -1,6 +1,5 @@
-from django.db.models import Q
-
from cms.models import Page
+from django.db.models import Q
def active_apphooks(request):
diff --git a/src/open_inwoner/cms/extensions/admin.py b/src/open_inwoner/cms/extensions/admin.py
index 566ce82760..6a6e3dda55 100644
--- a/src/open_inwoner/cms/extensions/admin.py
+++ b/src/open_inwoner/cms/extensions/admin.py
@@ -1,6 +1,5 @@
-from django.contrib import admin
-
from cms.extensions import PageExtensionAdmin
+from django.contrib import admin
from .models import CommonExtension
diff --git a/src/open_inwoner/cms/extensions/cms_menus.py b/src/open_inwoner/cms/extensions/cms_menus.py
index b83d78c741..7a2f71853e 100644
--- a/src/open_inwoner/cms/extensions/cms_menus.py
+++ b/src/open_inwoner/cms/extensions/cms_menus.py
@@ -1,6 +1,5 @@
-from django.core.exceptions import ObjectDoesNotExist
-
from cms.models import Page
+from django.core.exceptions import ObjectDoesNotExist
from menus.base import Modifier
from menus.menu_pool import menu_pool
diff --git a/src/open_inwoner/cms/extensions/cms_toolbars.py b/src/open_inwoner/cms/extensions/cms_toolbars.py
index 3d032026bc..fc2e396d11 100644
--- a/src/open_inwoner/cms/extensions/cms_toolbars.py
+++ b/src/open_inwoner/cms/extensions/cms_toolbars.py
@@ -1,7 +1,6 @@
-from django.utils.translation import gettext_lazy as _
-
from cms.extensions.toolbar import ExtensionToolbar
from cms.toolbar_pool import toolbar_pool
+from django.utils.translation import gettext_lazy as _
from .models import CommonExtension
diff --git a/src/open_inwoner/cms/extensions/migrations/0001_initial.py b/src/open_inwoner/cms/extensions/migrations/0001_initial.py
index 6195bfb2a1..d2e9cd0be6 100644
--- a/src/open_inwoner/cms/extensions/migrations/0001_initial.py
+++ b/src/open_inwoner/cms/extensions/migrations/0001_initial.py
@@ -1,11 +1,10 @@
# Generated by Django 3.2.15 on 2023-04-24 10:13
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
-
initial = True
dependencies = [
diff --git a/src/open_inwoner/cms/extensions/migrations/0002_commonextension_menu_indicator.py b/src/open_inwoner/cms/extensions/migrations/0002_commonextension_menu_indicator.py
index 9dbbc94002..716a35216e 100644
--- a/src/open_inwoner/cms/extensions/migrations/0002_commonextension_menu_indicator.py
+++ b/src/open_inwoner/cms/extensions/migrations/0002_commonextension_menu_indicator.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("extensions", "0001_initial"),
]
diff --git a/src/open_inwoner/cms/extensions/migrations/0003_commonextension_menu_icon.py b/src/open_inwoner/cms/extensions/migrations/0003_commonextension_menu_icon.py
index 737f5da0cb..5622df4d47 100644
--- a/src/open_inwoner/cms/extensions/migrations/0003_commonextension_menu_icon.py
+++ b/src/open_inwoner/cms/extensions/migrations/0003_commonextension_menu_icon.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("extensions", "0002_commonextension_menu_indicator"),
]
diff --git a/src/open_inwoner/cms/extensions/migrations/0005_alter_commonextension_menu_icon.py b/src/open_inwoner/cms/extensions/migrations/0005_alter_commonextension_menu_icon.py
index da3ac6a8a1..13138d264e 100644
--- a/src/open_inwoner/cms/extensions/migrations/0005_alter_commonextension_menu_icon.py
+++ b/src/open_inwoner/cms/extensions/migrations/0005_alter_commonextension_menu_icon.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("extensions", "0004_alter_commonextension_menu_icon"),
]
diff --git a/src/open_inwoner/cms/extensions/migrations/0006_rename_requires_auth_bsn_commonextension_requires_auth_bsn_or_kvk.py b/src/open_inwoner/cms/extensions/migrations/0006_rename_requires_auth_bsn_commonextension_requires_auth_bsn_or_kvk.py
index 8e51b52390..3ebaa0a24d 100644
--- a/src/open_inwoner/cms/extensions/migrations/0006_rename_requires_auth_bsn_commonextension_requires_auth_bsn_or_kvk.py
+++ b/src/open_inwoner/cms/extensions/migrations/0006_rename_requires_auth_bsn_commonextension_requires_auth_bsn_or_kvk.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("extensions", "0005_alter_commonextension_menu_icon"),
]
diff --git a/src/open_inwoner/cms/extensions/migrations/0007_alter_commonextension_requires_auth_bsn_or_kvk.py b/src/open_inwoner/cms/extensions/migrations/0007_alter_commonextension_requires_auth_bsn_or_kvk.py
index 66825c3e6b..3f97f96189 100644
--- a/src/open_inwoner/cms/extensions/migrations/0007_alter_commonextension_requires_auth_bsn_or_kvk.py
+++ b/src/open_inwoner/cms/extensions/migrations/0007_alter_commonextension_requires_auth_bsn_or_kvk.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
(
"extensions",
diff --git a/src/open_inwoner/cms/extensions/models.py b/src/open_inwoner/cms/extensions/models.py
index c11512dec6..733cc2f6dc 100644
--- a/src/open_inwoner/cms/extensions/models.py
+++ b/src/open_inwoner/cms/extensions/models.py
@@ -1,8 +1,7 @@
-from django.db import models
-from django.utils.translation import gettext_lazy as _
-
from cms.extensions import PageExtension
from cms.extensions.extension_pool import extension_pool
+from django.db import models
+from django.utils.translation import gettext_lazy as _
from open_inwoner.cms.extensions.constants import Icons, IndicatorChoices
diff --git a/src/open_inwoner/cms/footer/cms_plugins.py b/src/open_inwoner/cms/footer/cms_plugins.py
index c8f67a7ec9..04355140d9 100644
--- a/src/open_inwoner/cms/footer/cms_plugins.py
+++ b/src/open_inwoner/cms/footer/cms_plugins.py
@@ -1,7 +1,6 @@
-from django.utils.translation import gettext_lazy as _
-
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
+from django.utils.translation import gettext_lazy as _
from open_inwoner.configurations.models import SiteConfiguration
from open_inwoner.openklant.models import OpenKlantConfig
diff --git a/src/open_inwoner/cms/inbox/cms_apps.py b/src/open_inwoner/cms/inbox/cms_apps.py
index c59d77c857..9f75567e7b 100644
--- a/src/open_inwoner/cms/inbox/cms_apps.py
+++ b/src/open_inwoner/cms/inbox/cms_apps.py
@@ -1,7 +1,6 @@
-from django.utils.translation import gettext_lazy as _
-
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
+from django.utils.translation import gettext_lazy as _
@apphook_pool.register
diff --git a/src/open_inwoner/cms/plugins/cms_plugins/appointments.py b/src/open_inwoner/cms/plugins/cms_plugins/appointments.py
index 1837f0b146..f264e1e96d 100644
--- a/src/open_inwoner/cms/plugins/cms_plugins/appointments.py
+++ b/src/open_inwoner/cms/plugins/cms_plugins/appointments.py
@@ -1,9 +1,8 @@
import logging
-from django.utils.translation import gettext as _
-
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
+from django.utils.translation import gettext as _
from open_inwoner.cms.plugins.models.appointments import UserAppointments
from open_inwoner.qmatic.client import NoServiceConfigured, QmaticClient
diff --git a/src/open_inwoner/cms/plugins/cms_plugins/userfeed.py b/src/open_inwoner/cms/plugins/cms_plugins/userfeed.py
index 75402f1257..1e2d25d4a8 100644
--- a/src/open_inwoner/cms/plugins/cms_plugins/userfeed.py
+++ b/src/open_inwoner/cms/plugins/cms_plugins/userfeed.py
@@ -1,7 +1,6 @@
-from django.utils.translation import gettext as _
-
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
+from django.utils.translation import gettext as _
from open_inwoner.cms.plugins.models.userfeed import UserFeed
from open_inwoner.userfeed.feed import get_feed
diff --git a/src/open_inwoner/cms/plugins/cms_plugins/videoplayer.py b/src/open_inwoner/cms/plugins/cms_plugins/videoplayer.py
index 4c431fe136..b336ab0395 100644
--- a/src/open_inwoner/cms/plugins/cms_plugins/videoplayer.py
+++ b/src/open_inwoner/cms/plugins/cms_plugins/videoplayer.py
@@ -1,7 +1,6 @@
-from django.utils.translation import gettext as _
-
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
+from django.utils.translation import gettext as _
from open_inwoner.cms.plugins.models.videoplayer import VideoPlayer
diff --git a/src/open_inwoner/cms/plugins/migrations/0001_initial.py b/src/open_inwoner/cms/plugins/migrations/0001_initial.py
index 8a840d05be..dedfe10e8b 100644
--- a/src/open_inwoner/cms/plugins/migrations/0001_initial.py
+++ b/src/open_inwoner/cms/plugins/migrations/0001_initial.py
@@ -1,11 +1,10 @@
# Generated by Django 3.2.20 on 2023-09-19 13:04
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
-
initial = True
dependencies = [
diff --git a/src/open_inwoner/cms/plugins/migrations/0002_userfeed.py b/src/open_inwoner/cms/plugins/migrations/0002_userfeed.py
index ca89faa8b3..234f03a6da 100644
--- a/src/open_inwoner/cms/plugins/migrations/0002_userfeed.py
+++ b/src/open_inwoner/cms/plugins/migrations/0002_userfeed.py
@@ -5,7 +5,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("cms", "0022_auto_20180620_1551"),
("plugins", "0001_initial"),
diff --git a/src/open_inwoner/cms/plugins/migrations/0003_userfeed_title.py b/src/open_inwoner/cms/plugins/migrations/0003_userfeed_title.py
index 46cc6c8bec..bed1f0ffd3 100644
--- a/src/open_inwoner/cms/plugins/migrations/0003_userfeed_title.py
+++ b/src/open_inwoner/cms/plugins/migrations/0003_userfeed_title.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("plugins", "0002_userfeed"),
]
diff --git a/src/open_inwoner/cms/plugins/migrations/0004_alter_userfeed_cmsplugin_ptr_and_more.py b/src/open_inwoner/cms/plugins/migrations/0004_alter_userfeed_cmsplugin_ptr_and_more.py
index 56c4b19510..22bd1f6af2 100644
--- a/src/open_inwoner/cms/plugins/migrations/0004_alter_userfeed_cmsplugin_ptr_and_more.py
+++ b/src/open_inwoner/cms/plugins/migrations/0004_alter_userfeed_cmsplugin_ptr_and_more.py
@@ -5,7 +5,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("cms", "0022_auto_20180620_1551"),
("plugins", "0003_userfeed_title"),
diff --git a/src/open_inwoner/cms/plugins/migrations/0005_userappointments.py b/src/open_inwoner/cms/plugins/migrations/0005_userappointments.py
index d327a8c141..fc2240778e 100644
--- a/src/open_inwoner/cms/plugins/migrations/0005_userappointments.py
+++ b/src/open_inwoner/cms/plugins/migrations/0005_userappointments.py
@@ -1,11 +1,10 @@
# Generated by Django 4.2.10 on 2024-03-28 10:07
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
-
dependencies = [
("cms", "0022_auto_20180620_1551"),
("plugins", "0004_alter_userfeed_cmsplugin_ptr_and_more"),
diff --git a/src/open_inwoner/cms/plugins/models/appointments.py b/src/open_inwoner/cms/plugins/models/appointments.py
index 20a1680c21..a5ccf8206c 100644
--- a/src/open_inwoner/cms/plugins/models/appointments.py
+++ b/src/open_inwoner/cms/plugins/models/appointments.py
@@ -1,8 +1,7 @@
+from cms.models import CMSPlugin
from django.db import models
from django.utils.translation import gettext_lazy as _
-from cms.models import CMSPlugin
-
class UserAppointments(CMSPlugin):
title = models.CharField(
diff --git a/src/open_inwoner/cms/plugins/models/userfeed.py b/src/open_inwoner/cms/plugins/models/userfeed.py
index 39c1f2990e..df4030c021 100644
--- a/src/open_inwoner/cms/plugins/models/userfeed.py
+++ b/src/open_inwoner/cms/plugins/models/userfeed.py
@@ -1,8 +1,7 @@
+from cms.models import CMSPlugin
from django.db import models
from django.utils.translation import gettext_lazy as _
-from cms.models import CMSPlugin
-
class UserFeed(CMSPlugin):
title = models.CharField(
diff --git a/src/open_inwoner/cms/plugins/models/videoplayer.py b/src/open_inwoner/cms/plugins/models/videoplayer.py
index 7d3b8a69b0..bd54baff66 100644
--- a/src/open_inwoner/cms/plugins/models/videoplayer.py
+++ b/src/open_inwoner/cms/plugins/models/videoplayer.py
@@ -1,8 +1,7 @@
+from cms.models import CMSPlugin
from django.db import models
from django.utils.translation import gettext_lazy as _
-from cms.models import CMSPlugin
-
from open_inwoner.media.models import Video
diff --git a/src/open_inwoner/cms/plugins/tests/test_appointments.py b/src/open_inwoner/cms/plugins/tests/test_appointments.py
index 737926bb6a..f812adc39b 100644
--- a/src/open_inwoner/cms/plugins/tests/test_appointments.py
+++ b/src/open_inwoner/cms/plugins/tests/test_appointments.py
@@ -1,7 +1,6 @@
+import requests_mock
from django.test import TestCase, override_settings
from django.urls import reverse
-
-import requests_mock
from freezegun import freeze_time
from pyquery import PyQuery as PQ
diff --git a/src/open_inwoner/cms/plugins/tests/test_userfeed.py b/src/open_inwoner/cms/plugins/tests/test_userfeed.py
index 33b3fe0c40..fac36ca59d 100644
--- a/src/open_inwoner/cms/plugins/tests/test_userfeed.py
+++ b/src/open_inwoner/cms/plugins/tests/test_userfeed.py
@@ -1,7 +1,6 @@
from django.test import TestCase
from django.utils.html import strip_tags
from django.utils.translation import ngettext
-
from pyquery import PyQuery as PQ
from open_inwoner.accounts.tests.factories import UserFactory
diff --git a/src/open_inwoner/cms/products/cms_apps.py b/src/open_inwoner/cms/products/cms_apps.py
index 0c7f892908..2610c9dec9 100644
--- a/src/open_inwoner/cms/products/cms_apps.py
+++ b/src/open_inwoner/cms/products/cms_apps.py
@@ -1,7 +1,6 @@
-from django.utils.translation import gettext_lazy as _
-
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
+from django.utils.translation import gettext_lazy as _
@apphook_pool.register
diff --git a/src/open_inwoner/cms/products/cms_plugins.py b/src/open_inwoner/cms/products/cms_plugins.py
index ce1e048115..56663bd875 100644
--- a/src/open_inwoner/cms/products/cms_plugins.py
+++ b/src/open_inwoner/cms/products/cms_plugins.py
@@ -1,9 +1,8 @@
-from django.urls import NoReverseMatch, resolve, reverse
-from django.utils.translation import gettext_lazy as _
-
from cms.apphook_pool import apphook_pool
from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool
+from django.urls import NoReverseMatch, resolve, reverse
+from django.utils.translation import gettext_lazy as _
from open_inwoner.openzaak.models import OpenZaakConfig
from open_inwoner.pdc.forms import ProductFinderForm
diff --git a/src/open_inwoner/cms/products/tests/test_plugin_categories.py b/src/open_inwoner/cms/products/tests/test_plugin_categories.py
index 7241ac07aa..228dfc6bc1 100644
--- a/src/open_inwoner/cms/products/tests/test_plugin_categories.py
+++ b/src/open_inwoner/cms/products/tests/test_plugin_categories.py
@@ -1,12 +1,11 @@
from datetime import date
from unittest.mock import patch
-from django.test import TestCase
-from django.test.utils import override_settings
-
import requests_mock
from cms.apphook_pool import apphook_pool
from dateutil.relativedelta import relativedelta
+from django.test import TestCase
+from django.test.utils import override_settings
from django_webtest import TransactionWebTest, WebTest
from furl import furl
from requests import RequestException
diff --git a/src/open_inwoner/cms/products/tests/test_plugin_product_finder.py b/src/open_inwoner/cms/products/tests/test_plugin_product_finder.py
index 605368b592..4e2de56bd1 100644
--- a/src/open_inwoner/cms/products/tests/test_plugin_product_finder.py
+++ b/src/open_inwoner/cms/products/tests/test_plugin_product_finder.py
@@ -1,5 +1,4 @@
from django.test import override_settings
-
from django_webtest import WebTest
from open_inwoner.accounts.tests.factories import UserFactory
diff --git a/src/open_inwoner/cms/products/tests/test_plugin_product_location.py b/src/open_inwoner/cms/products/tests/test_plugin_product_location.py
index c49ffccec3..feedbbf2d7 100644
--- a/src/open_inwoner/cms/products/tests/test_plugin_product_location.py
+++ b/src/open_inwoner/cms/products/tests/test_plugin_product_location.py
@@ -1,6 +1,5 @@
from django.test import override_settings
from django.urls import reverse
-
from django_webtest import WebTest
from open_inwoner.pdc.tests.factories import ProductFactory, ProductLocationFactory
diff --git a/src/open_inwoner/cms/products/tests/test_plugin_questionnaire.py b/src/open_inwoner/cms/products/tests/test_plugin_questionnaire.py
index 1b50d169f9..4bdafd45cd 100644
--- a/src/open_inwoner/cms/products/tests/test_plugin_questionnaire.py
+++ b/src/open_inwoner/cms/products/tests/test_plugin_questionnaire.py
@@ -1,5 +1,4 @@
from django.test import TestCase, override_settings
-
from django_webtest import WebTest
from open_inwoner.accounts.tests.factories import UserFactory
diff --git a/src/open_inwoner/cms/profile/admin.py b/src/open_inwoner/cms/profile/admin.py
index b536762733..84ced2087b 100644
--- a/src/open_inwoner/cms/profile/admin.py
+++ b/src/open_inwoner/cms/profile/admin.py
@@ -1,6 +1,5 @@
-from django.contrib import admin
-
from aldryn_apphooks_config.admin import BaseAppHookConfig
+from django.contrib import admin
from .cms_appconfig import ProfileConfig
diff --git a/src/open_inwoner/cms/profile/cms_appconfig.py b/src/open_inwoner/cms/profile/cms_appconfig.py
index 8b592a219f..6bc3caa5fc 100644
--- a/src/open_inwoner/cms/profile/cms_appconfig.py
+++ b/src/open_inwoner/cms/profile/cms_appconfig.py
@@ -1,8 +1,7 @@
+from aldryn_apphooks_config.models import AppHookConfig
from django.db import models
from django.utils.translation import gettext_lazy as _
-from aldryn_apphooks_config.models import AppHookConfig
-
class ProfileConfig(AppHookConfig):
my_data = models.BooleanField(
diff --git a/src/open_inwoner/cms/profile/cms_apps.py b/src/open_inwoner/cms/profile/cms_apps.py
index ca12d41092..c10b0ea5c5 100644
--- a/src/open_inwoner/cms/profile/cms_apps.py
+++ b/src/open_inwoner/cms/profile/cms_apps.py
@@ -1,7 +1,6 @@
-from django.utils.translation import gettext_lazy as _
-
from aldryn_apphooks_config.app_base import CMSConfigApp
from cms.apphook_pool import apphook_pool
+from django.utils.translation import gettext_lazy as _
from .cms_appconfig import ProfileConfig
diff --git a/src/open_inwoner/cms/profile/cms_toolbars.py b/src/open_inwoner/cms/profile/cms_toolbars.py
index 0874bcf716..82b82f32e3 100644
--- a/src/open_inwoner/cms/profile/cms_toolbars.py
+++ b/src/open_inwoner/cms/profile/cms_toolbars.py
@@ -1,9 +1,8 @@
-from django.urls import reverse
-from django.utils.translation import gettext_lazy as _
-
from aldryn_apphooks_config.utils import get_app_instance
from cms.extensions.toolbar import ExtensionToolbar
from cms.toolbar_pool import toolbar_pool
+from django.urls import reverse
+from django.utils.translation import gettext_lazy as _
from open_inwoner.cms.profile.cms_appconfig import ProfileConfig
diff --git a/src/open_inwoner/cms/profile/migrations/0003_profileconfig_ssd.py b/src/open_inwoner/cms/profile/migrations/0003_profileconfig_ssd.py
index d7dba0ee43..747cca8cef 100644
--- a/src/open_inwoner/cms/profile/migrations/0003_profileconfig_ssd.py
+++ b/src/open_inwoner/cms/profile/migrations/0003_profileconfig_ssd.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("profile", "0002_profileconfig_questions"),
]
diff --git a/src/open_inwoner/cms/profile/migrations/0004_profile_texts.py b/src/open_inwoner/cms/profile/migrations/0004_profile_texts.py
index 4e4e686618..45ac7b3ecb 100644
--- a/src/open_inwoner/cms/profile/migrations/0004_profile_texts.py
+++ b/src/open_inwoner/cms/profile/migrations/0004_profile_texts.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("profile", "0003_profileconfig_ssd"),
]
diff --git a/src/open_inwoner/cms/profile/migrations/0005_remove_profileconfig_selected_categories.py b/src/open_inwoner/cms/profile/migrations/0005_remove_profileconfig_selected_categories.py
index 7f28d10cb9..e9746a15fe 100644
--- a/src/open_inwoner/cms/profile/migrations/0005_remove_profileconfig_selected_categories.py
+++ b/src/open_inwoner/cms/profile/migrations/0005_remove_profileconfig_selected_categories.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("profile", "0004_profile_texts"),
]
diff --git a/src/open_inwoner/cms/profile/migrations/0006_alter_profileconfig_ssd.py b/src/open_inwoner/cms/profile/migrations/0006_alter_profileconfig_ssd.py
index 41a7069e3e..001497b095 100644
--- a/src/open_inwoner/cms/profile/migrations/0006_alter_profileconfig_ssd.py
+++ b/src/open_inwoner/cms/profile/migrations/0006_alter_profileconfig_ssd.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("profile", "0005_remove_profileconfig_selected_categories"),
]
diff --git a/src/open_inwoner/cms/profile/migrations/0007_profileconfig_selected_categories.py b/src/open_inwoner/cms/profile/migrations/0007_profileconfig_selected_categories.py
index bf9e67d0e8..cdba8b85bc 100644
--- a/src/open_inwoner/cms/profile/migrations/0007_profileconfig_selected_categories.py
+++ b/src/open_inwoner/cms/profile/migrations/0007_profileconfig_selected_categories.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("profile", "0006_alter_profileconfig_ssd"),
]
diff --git a/src/open_inwoner/cms/profile/migrations/0008_profileconfig_newsletters.py b/src/open_inwoner/cms/profile/migrations/0008_profileconfig_newsletters.py
index b99dd40b00..1fcaf0aedf 100644
--- a/src/open_inwoner/cms/profile/migrations/0008_profileconfig_newsletters.py
+++ b/src/open_inwoner/cms/profile/migrations/0008_profileconfig_newsletters.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("profile", "0007_profileconfig_selected_categories"),
]
diff --git a/src/open_inwoner/cms/profile/migrations/0009_profileconfig_appointments.py b/src/open_inwoner/cms/profile/migrations/0009_profileconfig_appointments.py
index 42782281fc..7f574e939d 100644
--- a/src/open_inwoner/cms/profile/migrations/0009_profileconfig_appointments.py
+++ b/src/open_inwoner/cms/profile/migrations/0009_profileconfig_appointments.py
@@ -4,7 +4,6 @@
class Migration(migrations.Migration):
-
dependencies = [
("profile", "0008_profileconfig_newsletters"),
]
diff --git a/src/open_inwoner/cms/tests/cms_tools.py b/src/open_inwoner/cms/tests/cms_tools.py
index feb695d36a..23783a0eb8 100644
--- a/src/open_inwoner/cms/tests/cms_tools.py
+++ b/src/open_inwoner/cms/tests/cms_tools.py
@@ -1,14 +1,13 @@
-from django.conf import settings
-from django.contrib.auth.models import AnonymousUser
-from django.test import RequestFactory
-from django.utils.module_loading import import_string
-
from cms import api
from cms.api import add_plugin
from cms.app_base import CMSApp
from cms.apphook_pool import apphook_pool
from cms.models import Placeholder
from cms.plugin_rendering import ContentRenderer
+from django.conf import settings
+from django.contrib.auth.models import AnonymousUser
+from django.test import RequestFactory
+from django.utils.module_loading import import_string
from open_inwoner.cms.extensions.models import CommonExtension
from open_inwoner.utils.test import SessionMiddleware
diff --git a/src/open_inwoner/cms/tests/test_cms_tools.py b/src/open_inwoner/cms/tests/test_cms_tools.py
index 8ea978a74b..32030cf597 100644
--- a/src/open_inwoner/cms/tests/test_cms_tools.py
+++ b/src/open_inwoner/cms/tests/test_cms_tools.py
@@ -1,5 +1,4 @@
from django.test import override_settings
-
from django_webtest import WebTest
from open_inwoner.cms.tests import cms_tools
diff --git a/src/open_inwoner/cms/tests/test_middleware.py b/src/open_inwoner/cms/tests/test_middleware.py
index 6cb291075a..64b6c26025 100644
--- a/src/open_inwoner/cms/tests/test_middleware.py
+++ b/src/open_inwoner/cms/tests/test_middleware.py
@@ -1,7 +1,6 @@
from django.conf import settings
from django.test import TestCase, override_settings
from django.urls import reverse
-
from maykin_2fa.test import disable_admin_mfa
from pyquery import PyQuery as pq
diff --git a/src/open_inwoner/cms/utils/middleware.py b/src/open_inwoner/cms/utils/middleware.py
index b6a2fc2a41..8a11812fc8 100644
--- a/src/open_inwoner/cms/utils/middleware.py
+++ b/src/open_inwoner/cms/utils/middleware.py
@@ -1,6 +1,5 @@
-from django.http import HttpResponseRedirect
-
from cms.toolbar.utils import get_toolbar_from_request
+from django.http import HttpResponseRedirect
from open_inwoner.configurations.models import SiteConfiguration
diff --git a/src/open_inwoner/cms/utils/page_display.py b/src/open_inwoner/cms/utils/page_display.py
index fae32c7ad8..ffb2096699 100644
--- a/src/open_inwoner/cms/utils/page_display.py
+++ b/src/open_inwoner/cms/utils/page_display.py
@@ -1,9 +1,7 @@
"""Utilities for determining whether CMS pages are published"""
-
-from django.db.models import Q
-
from cms.models import Page
+from django.db.models import Q
from open_inwoner.cms.benefits.cms_apps import SSDApphook
from open_inwoner.cms.cases.cms_apps import CasesApphook
diff --git a/src/open_inwoner/components/templates/components/File/File.html b/src/open_inwoner/components/templates/components/File/File.html
index 8e8e4c780c..da670d35bd 100644
--- a/src/open_inwoner/components/templates/components/File/File.html
+++ b/src/open_inwoner/components/templates/components/File/File.html
@@ -56,4 +56,3 @@
-
diff --git a/src/open_inwoner/components/templates/components/Header/AccessibilityHeader.html b/src/open_inwoner/components/templates/components/Header/AccessibilityHeader.html
index dd2460d46a..bf26c5d2f4 100644
--- a/src/open_inwoner/components/templates/components/Header/AccessibilityHeader.html
+++ b/src/open_inwoner/components/templates/components/Header/AccessibilityHeader.html
@@ -33,4 +33,3 @@
-
diff --git a/src/open_inwoner/components/templates/components/Header/AccessibilitySkipLink.html b/src/open_inwoner/components/templates/components/Header/AccessibilitySkipLink.html
index 1bd08a696c..f7f25d469d 100644
--- a/src/open_inwoner/components/templates/components/Header/AccessibilitySkipLink.html
+++ b/src/open_inwoner/components/templates/components/Header/AccessibilitySkipLink.html
@@ -6,4 +6,4 @@
{{ link_text }}south
-
\ No newline at end of file
+
diff --git a/src/open_inwoner/components/templates/components/Header/Header.html b/src/open_inwoner/components/templates/components/Header/Header.html
index bb98f676f5..1abe02aa54 100644
--- a/src/open_inwoner/components/templates/components/Header/Header.html
+++ b/src/open_inwoner/components/templates/components/Header/Header.html
@@ -33,7 +33,7 @@
{# end of mobile header-menu with logo #}