Compare commits

..

11 commits

Author SHA1 Message Date
Yohan Boniface
c0f7e9d50d 2.9.1
Some checks are pending
Test & Docs / tests (postgresql, 3.10) (push) Waiting to run
Test & Docs / tests (postgresql, 3.12) (push) Waiting to run
Test & Docs / lint (push) Waiting to run
2025-03-03 18:40:47 +01:00
Yohan Boniface
34259f6234 i18n 2025-03-03 18:39:08 +01:00
Yohan Boniface
fc7ed42e2e
chore: be more persuasive in deprecating twitter login backend (#2538)
- always redirect user from map to their profile page when they used a
deprecated backend to log in
- change the Twitter image to make clear it is to be removed
2025-03-03 18:35:48 +01:00
David Larlet
74504df64a
chore: bump isort from 6.0.0 to 6.0.1 (#2535) 2025-03-03 12:26:54 -05:00
David Larlet
9e91a4537d
chore: bump ruff from 0.9.6 to 0.9.9 (#2537)
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.6 to 0.9.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>0.9.9</h2>
<h2>Release Notes</h2>
<h3>Preview features</h3>
<ul>
<li>Fix caching of unsupported-syntax errors (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16425">#16425</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Only show unsupported-syntax errors in editors when preview mode is
enabled (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16429">#16429</a>)</li>
</ul>
<h2>Contributors</h2>
<ul>
<li><a
href="https://github.com/InSyncWithFoo"><code>@​InSyncWithFoo</code></a></li>
<li><a
href="https://github.com/MichaReiser"><code>@​MichaReiser</code></a></li>
<li><a
href="https://github.com/dhruvmanila"><code>@​dhruvmanila</code></a></li>
<li><a href="https://github.com/ntBre"><code>@​ntBre</code></a></li>
</ul>
<h2>Install ruff 0.9.9</h2>
<h3>Install prebuilt binaries via shell script</h3>
<pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-installer.sh
| sh
</code></pre>
<h3>Install prebuilt binaries via powershell script</h3>
<pre lang="sh"><code>powershell -ExecutionPolicy ByPass -c &quot;irm
https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-installer.ps1
| iex&quot;
</code></pre>
<h2>Download ruff 0.9.9</h2>
<table>
<thead>
<tr>
<th>File</th>
<th>Platform</th>
<th>Checksum</th>
</tr>
</thead>
<tbody>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-apple-darwin.tar.gz">ruff-aarch64-apple-darwin.tar.gz</a></td>
<td>Apple Silicon macOS</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-x86_64-apple-darwin.tar.gz">ruff-x86_64-apple-darwin.tar.gz</a></td>
<td>Intel macOS</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-x86_64-apple-darwin.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-pc-windows-msvc.zip">ruff-aarch64-pc-windows-msvc.zip</a></td>
<td>ARM64 Windows</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-i686-pc-windows-msvc.zip">ruff-i686-pc-windows-msvc.zip</a></td>
<td>x86 Windows</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-i686-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-x86_64-pc-windows-msvc.zip">ruff-x86_64-pc-windows-msvc.zip</a></td>
<td>x64 Windows</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-unknown-linux-gnu.tar.gz">ruff-aarch64-unknown-linux-gnu.tar.gz</a></td>
<td>ARM64 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-i686-unknown-linux-gnu.tar.gz">ruff-i686-unknown-linux-gnu.tar.gz</a></td>
<td>x86 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-i686-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-powerpc64-unknown-linux-gnu.tar.gz">ruff-powerpc64-unknown-linux-gnu.tar.gz</a></td>
<td>PPC64 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-powerpc64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-powerpc64le-unknown-linux-gnu.tar.gz">ruff-powerpc64le-unknown-linux-gnu.tar.gz</a></td>
<td>PPC64LE Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-powerpc64le-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-s390x-unknown-linux-gnu.tar.gz">ruff-s390x-unknown-linux-gnu.tar.gz</a></td>
<td>S390x Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-s390x-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-x86_64-unknown-linux-gnu.tar.gz">ruff-x86_64-unknown-linux-gnu.tar.gz</a></td>
<td>x64 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-x86_64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-armv7-unknown-linux-gnueabihf.tar.gz">ruff-armv7-unknown-linux-gnueabihf.tar.gz</a></td>
<td>ARMv7 Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-armv7-unknown-linux-gnueabihf.tar.gz.sha256">checksum</a></td>
</tr>
<tr>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-unknown-linux-musl.tar.gz">ruff-aarch64-unknown-linux-musl.tar.gz</a></td>
<td>ARM64 MUSL Linux</td>
<td><a
href="https://github.com/astral-sh/ruff/releases/download/0.9.9/ruff-aarch64-unknown-linux-musl.tar.gz.sha256">checksum</a></td>
</tr>
</tbody>
</table>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.9.9</h2>
<h3>Preview features</h3>
<ul>
<li>Fix caching of unsupported-syntax errors (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16425">#16425</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Only show unsupported-syntax errors in editors when preview mode is
enabled (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16429">#16429</a>)</li>
</ul>
<h2>0.9.8</h2>
<h3>Preview features</h3>
<ul>
<li>Start detecting version-related syntax errors in the parser (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16090">#16090</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>pylint</code>] Mark fix unsafe (<code>PLW1507</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16343">#16343</a>)</li>
<li>[<code>pylint</code>] Catch <code>case np.nan</code>/<code>case
math.nan</code> in <code>match</code> statements (<code>PLW0177</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/16378">#16378</a>)</li>
<li>[<code>ruff</code>] Add more Pydantic models variants to the list of
default copy semantics (<code>RUF012</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16291">#16291</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Avoid indexing the project if <code>configurationPreference</code>
is <code>editorOnly</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16381">#16381</a>)</li>
<li>Avoid unnecessary info at non-trace server log level (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16389">#16389</a>)</li>
<li>Expand <code>ruff.configuration</code> to allow inline config (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16296">#16296</a>)</li>
<li>Notify users for invalid client settings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16361">#16361</a>)</li>
</ul>
<h3>Configuration</h3>
<ul>
<li>Add <code>per-file-target-version</code> option (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16257">#16257</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>refurb</code>] Do not consider docstring(s)
(<code>FURB156</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16391">#16391</a>)</li>
<li>[<code>flake8-self</code>] Ignore attribute accesses on
instance-like variables (<code>SLF001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16149">#16149</a>)</li>
<li>[<code>pylint</code>] Fix false positives, add missing methods, and
support positional-only parameters (<code>PLE0302</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16263">#16263</a>)</li>
<li>[<code>flake8-pyi</code>] Mark <code>PYI030</code> fix unsafe when
comments are deleted (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16322">#16322</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Fix example for <code>S611</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16316">#16316</a>)</li>
<li>Normalize inconsistent markdown headings in docstrings (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16364">#16364</a>)</li>
<li>Document MSRV policy (<a
href="https://redirect.github.com/astral-sh/ruff/pull/16384">#16384</a>)</li>
</ul>
<h2>0.9.7</h2>
<h3>Preview features</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="091d0af2ab"><code>091d0af</code></a>
Bump version to Ruff 0.9.9 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/16434">#16434</a>)</li>
<li><a
href="3d72138740"><code>3d72138</code></a>
Check <code>LinterSettings::preview</code> for version-related syntax
errors (<a
href="https://redirect.github.com/astral-sh/ruff/issues/16429">#16429</a>)</li>
<li><a
href="4a23756024"><code>4a23756</code></a>
Avoid caching files with unsupported syntax errors (<a
href="https://redirect.github.com/astral-sh/ruff/issues/16425">#16425</a>)</li>
<li><a
href="af62f7932b"><code>af62f79</code></a>
Prioritize &quot;bug&quot; label for changelog sections (<a
href="https://redirect.github.com/astral-sh/ruff/issues/16433">#16433</a>)</li>
<li><a
href="0ced8d053c"><code>0ced8d0</code></a>
[<code>flake8-copyright</code>] Add links to applicable options
(<code>CPY001</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/issues/16421">#16421</a>)</li>
<li><a
href="a8e171f82c"><code>a8e171f</code></a>
Fix string-length limit in documentation for PYI054 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/16432">#16432</a>)</li>
<li><a
href="cf83584abb"><code>cf83584</code></a>
Show version-related syntax errors in the playground (<a
href="https://redirect.github.com/astral-sh/ruff/issues/16419">#16419</a>)</li>
<li><a
href="764aa0e6a1"><code>764aa0e</code></a>
Allow passing <code>ParseOptions</code> to inline tests (<a
href="https://redirect.github.com/astral-sh/ruff/issues/16357">#16357</a>)</li>
<li><a
href="568cf88c6c"><code>568cf88</code></a>
Bump version to 0.9.8 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/16414">#16414</a>)</li>
<li><a
href="040071bbc5"><code>040071b</code></a>
[red-knot] Ignore surrounding whitespace when looking for `&lt;!--
snapshot-diag...</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.9.6...0.9.9">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ruff&package-manager=pip&previous-version=0.9.6&new-version=0.9.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
2025-03-03 12:26:28 -05:00
Yohan Boniface
284ca8fd9c chore: be more persuasive in deprecating twitter login backend
- always redirect user from map to their profile page when they
  used a deprecated backend to log in
- change the Twitter image to make clear it is to be removed

Co-authored-by: David Larlet <david@larlet.fr>
2025-03-03 18:24:23 +01:00
dependabot[bot]
1dc468c350
chore: bump ruff from 0.9.6 to 0.9.9
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.9.6 to 0.9.9.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.9.6...0.9.9)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 17:19:47 +00:00
dependabot[bot]
e9389723e8
chore: bump isort from 6.0.0 to 6.0.1
Bumps [isort](https://github.com/PyCQA/isort) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/PyCQA/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PyCQA/isort/compare/6.0.0...6.0.1)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 17:19:32 +00:00
Yohan Boniface
2cf3a4e6a3 fix: honour error status in alerts
Co-authored-by: David Larlet <david@larlet.fr>
2025-03-03 16:48:44 +01:00
Yohan Boniface
bc1eaa05c9 chore: use a French quote in translation
To prevent escape from Django, as we then use it in a textContent
property for alerts.

Co-authored-by: David Larlet <david@larlet.fr>
2025-03-03 16:47:48 +01:00
Yohan Boniface
420647906d doc: fix setting name for DEPRECATED_AUTHENTICATION_BACKENDS
Co-authored-by: David Larlet <david@larlet.fr>
2025-03-03 16:47:09 +01:00
29 changed files with 156 additions and 116 deletions

View file

@ -1,5 +1,10 @@
# Changelog
## 2.9.1 - 2025-03-03
* be more persuasive in deprecating twitter login backend by @yohanboniface in #2538
## 2.9.0 - 2025-03-03
This release is mainly about making the sync feature deployable and more stable (but still

View file

@ -28,13 +28,13 @@ Can be set through env var too: `ALLOWED_HOSTS=umap.mydomain.org,u.mydomain.org`
Set it to `True` for easier debugging in case of error.
#### DEPRECATED_AUTHENTICATION_PROVIDERS
#### DEPRECATED_AUTHENTICATION_BACKENDS
List of auth providers to deprecate. Defining this will display a message to
List of auth backends to deprecate. Defining this will display a message to
all users using this provider, to encourage them to configure another provider to
their account.
DEPRECATED_AUTHENTICATION_PROVIDERS = ["social_core.backends.twitter_oauth2.TwitterOAuth2"]
DEPRECATED_AUTHENTICATION_BACKENDS = ["social_core.backends.twitter_oauth2.TwitterOAuth2"]
#### EMAIL_BACKEND

View file

@ -44,14 +44,14 @@ dependencies = [
[project.optional-dependencies]
dev = [
"hatch==1.14.0",
"ruff==0.9.6",
"ruff==0.9.9",
"djlint==1.36.4",
"mkdocs==1.6.1",
"mkdocs-material==9.6.4",
"mkdocs-static-i18n==1.3.0",
"vermin==1.6.0",
"pymdown-extensions==10.14.3",
"isort==6.0.0",
"isort==6.0.1",
]
test = [
"daphne==4.1.2",

View file

@ -1 +1 @@
VERSION = "2.9.0"
VERSION = "2.9.1"

View file

@ -16,7 +16,7 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-03 14:11+0000\n"
"POT-Creation-Date: 2025-03-03 17:36+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: Jiří Podhorecký <jirka.p@volny.cz>, 2018-2019,2023-2025\n"
"Language-Team: Czech (Czech Republic) (http://app.transifex.com/openstreetmap/umap/language/cs_CZ/)\n"
@ -34,10 +34,18 @@ msgstr "CSV Export"
msgid "This map is not publicly available"
msgstr "Tato mapa není veřejně dostupná"
#: middleware.py:13
#: middleware.py:19
msgid "Site is readonly for maintenance"
msgstr "Stránka je jen ke čtení kvůli údržbě"
#: middleware.py:34
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated and will be removed soon. "
"Please configure another provider below before losing access to your account"
" and maps."
msgstr ""
#: models.py:60 models.py:79
msgid "name"
msgstr "název"
@ -734,10 +742,3 @@ msgstr "Vrstva úspěšně vymazána."
#: views.py:1351
msgid "Permissions updated with success!"
msgstr "Oprávnění úspěšně aktualizována!"
#: views.py:1430
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated. Please configure another "
"provider in your profile page."
msgstr "Použití \"%(name)s\" k ověření je zastaralé. Nakonfigurujte prosím jiného poskytovatele na stránce svého profilu."

Binary file not shown.

View file

@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-31 17:29+0000\n"
"POT-Creation-Date: 2025-03-03 17:36+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: prendi <prendi@openmailbox.org>, 2017\n"
"Language-Team: Greek (http://app.transifex.com/openstreetmap/umap/language/el/)\n"
@ -31,10 +31,18 @@ msgstr "Εξαγωγή CSV"
msgid "This map is not publicly available"
msgstr "Αυτός ο χάρτης δεν είναι δημοσίως διαθέσιμος"
#: middleware.py:13
#: middleware.py:19
msgid "Site is readonly for maintenance"
msgstr "Λόγω συντήρησης, ο ιστότοπος είναι μόνο για ανάγνωση"
#: middleware.py:34
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated and will be removed soon. "
"Please configure another provider below before losing access to your account"
" and maps."
msgstr ""
#: models.py:60 models.py:79
msgid "name"
msgstr "όνομα"
@ -598,7 +606,7 @@ msgstr "Χάρτες που δημιουργήθηκαν τελευταίοι"
msgid "Search maps"
msgstr "Αναζήτηση χαρτών"
#: templates/umap/search_bar.html:15
#: templates/umap/search_bar.html:16
msgid "Search"
msgstr "Αναζήτηση"
@ -729,10 +737,3 @@ msgstr "Το επίπεδο διαγράφηκε με επιτυχία."
#: views.py:1351
msgid "Permissions updated with success!"
msgstr "Τα δικαιώματα ενημερώθηκαν με επιτυχία!"
#: views.py:1430
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated. Please configure another "
"provider in your profile page."
msgstr "Η χρήση του «%(name)s» για τον έλεγχο ταυτότητας έχει ξεπεραστεί. Παρακαλούμε ρυθμίστε έναν άλλο πάροχο στη σελίδα του προφίλ σας."

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-03 14:11+0000\n"
"POT-Creation-Date: 2025-03-03 17:36+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -25,10 +25,18 @@ msgstr ""
msgid "This map is not publicly available"
msgstr ""
#: middleware.py:13
#: middleware.py:19
msgid "Site is readonly for maintenance"
msgstr ""
#: middleware.py:34
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated and will be removed soon. "
"Please configure another provider below before losing access to your account "
"and maps."
msgstr ""
#: models.py:60 models.py:79
msgid "name"
msgstr ""
@ -722,10 +730,3 @@ msgstr ""
#: views.py:1351
msgid "Permissions updated with success!"
msgstr ""
#: views.py:1430
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated. Please configure another "
"provider in your profile page."
msgstr ""

Binary file not shown.

View file

@ -17,7 +17,7 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-31 17:29+0000\n"
"POT-Creation-Date: 2025-03-03 17:36+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: Ignacio L'Episcopo, 2024-2025\n"
"Language-Team: Spanish (http://app.transifex.com/openstreetmap/umap/language/es/)\n"
@ -35,10 +35,18 @@ msgstr "Exportar CSV"
msgid "This map is not publicly available"
msgstr "Este mapa no está disponible públicamente"
#: middleware.py:13
#: middleware.py:19
msgid "Site is readonly for maintenance"
msgstr "Sitio en modo solo lectura por mantenimiento"
#: middleware.py:34
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated and will be removed soon. "
"Please configure another provider below before losing access to your account"
" and maps."
msgstr ""
#: models.py:60 models.py:79
msgid "name"
msgstr "nombre"
@ -603,7 +611,7 @@ msgstr "Últimos mapas creados"
msgid "Search maps"
msgstr "Buscar mapas"
#: templates/umap/search_bar.html:15
#: templates/umap/search_bar.html:16
msgid "Search"
msgstr "Buscar"
@ -734,10 +742,3 @@ msgstr "Se eliminó la capa con éxito."
#: views.py:1351
msgid "Permissions updated with success!"
msgstr "¡Permisos actualizados con éxito!"
#: views.py:1430
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated. Please configure another "
"provider in your profile page."
msgstr "Usar “%(name)s” para autenticar está obsoleto. Configura otro proveedor en la página de tu perfil."

Binary file not shown.

View file

@ -24,7 +24,7 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-31 17:29+0000\n"
"POT-Creation-Date: 2025-03-03 17:36+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: yohanboniface <yohanboniface@free.fr>, 2013-2014,2018-2019,2023-2025\n"
"Language-Team: French (http://app.transifex.com/openstreetmap/umap/language/fr/)\n"
@ -42,10 +42,18 @@ msgstr "Export CSV"
msgid "This map is not publicly available"
msgstr "Cette carte n'est pas publique"
#: middleware.py:13
#: middleware.py:19
msgid "Site is readonly for maintenance"
msgstr "Le site est en lecture seule pour maintenance."
#: middleware.py:34
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated and will be removed soon. "
"Please configure another provider below before losing access to your account"
" and maps."
msgstr "Lutilisation de “%(name)s” pour sauthentifier est dépréciée et sera bientôt rendue impossible. Veuillez configurer un nouveau fournisseur ci-dessous avant de perdre laccès à votre compte et à vos cartes."
#: models.py:60 models.py:79
msgid "name"
msgstr "nom"
@ -610,7 +618,7 @@ msgstr "Dernières cartes créées."
msgid "Search maps"
msgstr "Chercher des cartes"
#: templates/umap/search_bar.html:15
#: templates/umap/search_bar.html:16
msgid "Search"
msgstr "Chercher"
@ -741,10 +749,3 @@ msgstr "Calque supprimé."
#: views.py:1351
msgid "Permissions updated with success!"
msgstr "Les permissions ont bien été modifiées !"
#: views.py:1430
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated. Please configure another "
"provider in your profile page."
msgstr "L'utilisation de “%(name)s” pour s'authentifier est déprécié. Veuillez configurer un nouveau fournisseur sur votre page profil."

Binary file not shown.

View file

@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-31 17:29+0000\n"
"POT-Creation-Date: 2025-03-03 17:36+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>, 2025\n"
"Language-Team: Galician (http://app.transifex.com/openstreetmap/umap/language/gl/)\n"
@ -31,10 +31,18 @@ msgstr "Exportar CSV"
msgid "This map is not publicly available"
msgstr "Este mapa non está dispoñíbel publicamente"
#: middleware.py:13
#: middleware.py:19
msgid "Site is readonly for maintenance"
msgstr "O sitio é só de lectura por mantemento"
#: middleware.py:34
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated and will be removed soon. "
"Please configure another provider below before losing access to your account"
" and maps."
msgstr ""
#: models.py:60 models.py:79
msgid "name"
msgstr "nome"
@ -598,7 +606,7 @@ msgstr "Últimos mapas creados"
msgid "Search maps"
msgstr "Buscar mapas"
#: templates/umap/search_bar.html:15
#: templates/umap/search_bar.html:16
msgid "Search"
msgstr "Buscar"
@ -729,10 +737,3 @@ msgstr "A capa foi eliminada correctamente."
#: views.py:1351
msgid "Permissions updated with success!"
msgstr "Os permisos foron actualizados correctamente!"
#: views.py:1430
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated. Please configure another "
"provider in your profile page."
msgstr "Usar «%(name)s» para autenticarse está obsoleto. Configura outro provedor na túa páxina de perfil."

Binary file not shown.

View file

@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-31 17:29+0000\n"
"POT-Creation-Date: 2025-03-03 17:36+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: Marco <marcxosm@gmail.com>, 2017-2019,2024-2025\n"
"Language-Team: Italian (http://app.transifex.com/openstreetmap/umap/language/it/)\n"
@ -39,10 +39,18 @@ msgstr "Esporta CSV"
msgid "This map is not publicly available"
msgstr "La mappa non è disponibile pubblicamente"
#: middleware.py:13
#: middleware.py:19
msgid "Site is readonly for maintenance"
msgstr "Il sito in sola lettura per manutenzione"
#: middleware.py:34
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated and will be removed soon. "
"Please configure another provider below before losing access to your account"
" and maps."
msgstr ""
#: models.py:60 models.py:79
msgid "name"
msgstr "nome"
@ -607,7 +615,7 @@ msgstr "Ultime mappe create"
msgid "Search maps"
msgstr "Cerca mappe"
#: templates/umap/search_bar.html:15
#: templates/umap/search_bar.html:16
msgid "Search"
msgstr "Cerca"
@ -738,10 +746,3 @@ msgstr "Layer eliminato correttamente"
#: views.py:1351
msgid "Permissions updated with success!"
msgstr "Autorizzazioni aggiornate con successo!"
#: views.py:1430
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated. Please configure another "
"provider in your profile page."
msgstr "Luso di “%(name)s” per autenticarsi è scoraggiato. Configura un altro fornitore nella pagina del tuo profilo."

Binary file not shown.

View file

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-03 14:11+0000\n"
"POT-Creation-Date: 2025-03-03 17:36+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: Gideon van Melle <translations@gvmelle.com>, 2025\n"
"Language-Team: Dutch (http://app.transifex.com/openstreetmap/umap/language/nl/)\n"
@ -29,10 +29,18 @@ msgstr "CSV Export"
msgid "This map is not publicly available"
msgstr "Deze kaart is niet openbaar beschikbaar"
#: middleware.py:13
#: middleware.py:19
msgid "Site is readonly for maintenance"
msgstr "Site is 'alleen lezen' wegens onderhoud"
#: middleware.py:34
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated and will be removed soon. "
"Please configure another provider below before losing access to your account"
" and maps."
msgstr ""
#: models.py:60 models.py:79
msgid "name"
msgstr "naam"
@ -727,10 +735,3 @@ msgstr "Laag is verwijderd."
#: views.py:1351
msgid "Permissions updated with success!"
msgstr "Machtigingen met succes bijgewerkt!"
#: views.py:1430
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated. Please configure another "
"provider in your profile page."
msgstr "Het gebruik van “%(name)s” om te verifiëren is afgeschaft. Configureer een andere provider op je profielpagina."

Binary file not shown.

View file

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-31 17:29+0000\n"
"POT-Creation-Date: 2025-03-03 17:36+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: lecalam, 2024-2025\n"
"Language-Team: Portuguese (http://app.transifex.com/openstreetmap/umap/language/pt/)\n"
@ -28,10 +28,18 @@ msgstr "Exportação CSV"
msgid "This map is not publicly available"
msgstr "Este mapa não está disponível ao público"
#: middleware.py:13
#: middleware.py:19
msgid "Site is readonly for maintenance"
msgstr "O site está em modo de leitura para manutenção"
#: middleware.py:34
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated and will be removed soon. "
"Please configure another provider below before losing access to your account"
" and maps."
msgstr ""
#: models.py:60 models.py:79
msgid "name"
msgstr "nome"
@ -596,7 +604,7 @@ msgstr "Últimos mapas criados"
msgid "Search maps"
msgstr "Procurar mapas"
#: templates/umap/search_bar.html:15
#: templates/umap/search_bar.html:16
msgid "Search"
msgstr "Procurar"
@ -727,10 +735,3 @@ msgstr "Camada eliminada com sucesso."
#: views.py:1351
msgid "Permissions updated with success!"
msgstr "Permissões atualizadas com sucesso!"
#: views.py:1430
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated. Please configure another "
"provider in your profile page."
msgstr "A utilização de “%(name)s” para autenticação está desatualizada. Configure outro fornecedor na sua página de perfil."

View file

@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-31 17:29+0000\n"
"POT-Creation-Date: 2025-03-03 17:36+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: Supaplex <bejokeup@gmail.com>, 2019,2023-2025\n"
"Language-Team: Chinese (Taiwan) (http://app.transifex.com/openstreetmap/umap/language/zh_TW/)\n"
@ -33,10 +33,18 @@ msgstr "CSV 匯出"
msgid "This map is not publicly available"
msgstr "這份地圖並非公開可及的"
#: middleware.py:13
#: middleware.py:19
msgid "Site is readonly for maintenance"
msgstr "網站目前因維護中設定為唯讀狀態"
#: middleware.py:34
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated and will be removed soon. "
"Please configure another provider below before losing access to your account"
" and maps."
msgstr ""
#: models.py:60 models.py:79
msgid "name"
msgstr "名稱"
@ -599,7 +607,7 @@ msgstr "最新創建地圖"
msgid "Search maps"
msgstr "搜尋地圖"
#: templates/umap/search_bar.html:15
#: templates/umap/search_bar.html:16
msgid "Search"
msgstr "搜尋"
@ -730,10 +738,3 @@ msgstr "圖層已刪除"
#: views.py:1351
msgid "Permissions updated with success!"
msgstr "權限更新完成"
#: views.py:1430
#, python-format
msgid ""
"Using “%(name)s” to authenticate is deprecated. Please configure another "
"provider in your profile page."
msgstr "使用\"%(name)s\"來認證已經廢棄了,請在你的個人檔案頁面使用其他供應商來設定認證。"

View file

@ -1,6 +1,12 @@
from django.conf import settings
from django.contrib import messages
from django.contrib.auth import BACKEND_SESSION_KEY
from django.core.exceptions import MiddlewareNotUsed
from django.http import HttpResponseForbidden
from django.http import (
HttpResponseForbidden,
HttpResponseRedirect,
)
from django.urls import reverse
from django.utils.translation import gettext as _
@ -15,3 +21,26 @@ def readonly_middleware(get_response):
return get_response(request)
return middleware
def deprecated_auth_backend(get_response):
def middleware(request):
backend = request.session.get(BACKEND_SESSION_KEY)
if backend in settings.DEPRECATED_AUTHENTICATION_BACKENDS:
name = backend.split(".")[-1]
messages.error(
request,
_(
"Using “%(name)s” to authenticate is deprecated and will be "
"removed soon. "
"Please configure another provider below before losing access "
"to your account and maps."
)
% {"name": name},
)
if "/map/" in request.path:
return HttpResponseRedirect(reverse("user_profile"))
return get_response(request)
return middleware

View file

@ -235,6 +235,7 @@ MIDDLEWARE = (
"django.middleware.csrf.CsrfViewMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"umap.middleware.deprecated_auth_backend",
)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 545 B

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -29,9 +29,9 @@
<h3>
{% trans "Your current providers" %}
</h3>
<ul>
<ul class="login-grid block-grid">
{% for name in providers %}
<li class="login-grid">
<li>
{% with "umap/img/providers/"|add:name|add:".png" as path %}
<img src="{% static path %}" width="92px" height="92px" alt="{{ name }}" />
{% endwith %}

View file

@ -3,6 +3,10 @@
{% include "umap/components/alerts/alert.html" %}
{% for message in messages %}
<script type="module" defer>
U.Alert.success("{{ message }}")
{% if message.level == DEFAULT_MESSAGE_LEVELS.ERROR %}
U.Alert.error("{{ message }}")
{% else %}
U.Alert.success("{{ message }}")
{% endif %}
</script>
{% endfor %}

View file

@ -1423,14 +1423,5 @@ class LoginPopupEnd(TemplateView):
def get(self, *args, **kwargs):
backend = self.request.session[BACKEND_SESSION_KEY]
if backend in settings.DEPRECATED_AUTHENTICATION_BACKENDS:
name = backend.split(".")[-1]
messages.error(
self.request,
_(
"Using “%(name)s” to authenticate is deprecated. "
"Please configure another provider in your profile page."
)
% {"name": name},
)
return HttpResponseRedirect(reverse("user_profile"))
return super().get(*args, **kwargs)