diff options
author | Daniel Schadt <kingdread@gmx.de> | 2023-11-10 22:27:54 +0100 |
---|---|---|
committer | Daniel Schadt <kingdread@gmx.de> | 2023-11-10 22:27:54 +0100 |
commit | f41ad0142f2377215d8c2e11eb2ca8a67e61bc48 (patch) | |
tree | 9df4884bf617ebb14d9d9ed8f6d305e8dcaf0fc6 | |
parent | a6b724b2f52923171b829a7a2c9f5902857f8fbf (diff) | |
download | fietsboek-f41ad0142f2377215d8c2e11eb2ca8a67e61bc48.tar.gz fietsboek-f41ad0142f2377215d8c2e11eb2ca8a67e61bc48.tar.bz2 fietsboek-f41ad0142f2377215d8c2e11eb2ca8a67e61bc48.zip |
add configuration option to disable image uploads
-rw-r--r-- | fietsboek/actions.py | 11 | ||||
-rw-r--r-- | fietsboek/config.py | 3 | ||||
-rw-r--r-- | fietsboek/locale/de/LC_MESSAGES/messages.mo | bin | 15259 -> 15377 bytes | |||
-rw-r--r-- | fietsboek/locale/de/LC_MESSAGES/messages.po | 27 | ||||
-rw-r--r-- | fietsboek/locale/en/LC_MESSAGES/messages.mo | bin | 14269 -> 14369 bytes | |||
-rw-r--r-- | fietsboek/locale/en/LC_MESSAGES/messages.po | 27 | ||||
-rw-r--r-- | fietsboek/locale/fietslog.pot | 20 | ||||
-rw-r--r-- | fietsboek/templates/edit_form.jinja2 | 9 |
8 files changed, 65 insertions, 32 deletions
diff --git a/fietsboek/actions.py b/fietsboek/actions.py index 7e83c22..439a8cd 100644 --- a/fietsboek/actions.py +++ b/fietsboek/actions.py @@ -139,7 +139,7 @@ def edit_images(request: Request, track: models.Track, *, manager: Optional[Trac if image_meta: request.dbsession.delete(image_meta) - # Add new images + # Add new images, but only if the setting allows for it set_descriptions = set() for param_name, image in request.params.items(): match = re.match("image\\[(\\d+)\\]$", param_name) @@ -150,6 +150,15 @@ def edit_images(request: Request, track: models.Track, *, manager: Optional[Trac continue upload_id = match.group(1) + + # If the uploads are disabled, we still add the image to + # set_descriptions so that later down below we don't try to set the + # description for it. + if not request.config.enable_image_uploads: + set_descriptions.add(upload_id) + LOGGER.debug("Tried to upload image but uploads are disabled (track %s)", track.id) + continue + image_name = manager.add_image(image.file, image.filename) image_meta = models.ImageMetadata(track=track, image_name=image_name) image_meta.description = request.params.get(f"image-description[{upload_id}]", "") diff --git a/fietsboek/config.py b/fietsboek/config.py index 6cb1f04..c3c31c8 100644 --- a/fietsboek/config.py +++ b/fietsboek/config.py @@ -148,6 +148,9 @@ class Config(BaseModel): enable_account_registration: bool = False """Enable registration of new accounts.""" + enable_image_uploads: bool = Field(True, alias="fietsboek.enable_image_uploads") + """Allow track uploaders to also upload images for tracks.""" + session_key: str """Session key.""" diff --git a/fietsboek/locale/de/LC_MESSAGES/messages.mo b/fietsboek/locale/de/LC_MESSAGES/messages.mo Binary files differindex f2bf3ea..3c020df 100644 --- a/fietsboek/locale/de/LC_MESSAGES/messages.mo +++ b/fietsboek/locale/de/LC_MESSAGES/messages.mo diff --git a/fietsboek/locale/de/LC_MESSAGES/messages.po b/fietsboek/locale/de/LC_MESSAGES/messages.po index 69723be..24e1cb5 100644 --- a/fietsboek/locale/de/LC_MESSAGES/messages.po +++ b/fietsboek/locale/de/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-09-14 20:05+0200\n" +"POT-Creation-Date: 2023-11-10 22:23+0100\n" "PO-Revision-Date: 2022-07-02 17:35+0200\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language: de\n" @@ -18,11 +18,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.12.1\n" -#: fietsboek/actions.py:255 +#: fietsboek/actions.py:257 msgid "email.verify_mail.subject" msgstr "Fietsboek Konto Bestätigung" -#: fietsboek/actions.py:258 +#: fietsboek/actions.py:260 msgid "email.verify.text" msgstr "" "Um Dein Fietsboek-Konto zu bestätigen, nutze diesen Link: {}\n" @@ -471,23 +471,27 @@ msgid "page.track.form.description" msgstr "Beschreibung" #: fietsboek/templates/edit_form.jinja2:108 -#: fietsboek/templates/edit_form.jinja2:122 +#: fietsboek/templates/edit_form.jinja2:129 msgid "page.track.form.remove_image" msgstr "Bild entfernen" -#: fietsboek/templates/edit_form.jinja2:117 +#: fietsboek/templates/edit_form.jinja2:118 msgid "page.track.form.select_images" msgstr "Bilder auswählen" -#: fietsboek/templates/edit_form.jinja2:133 +#: fietsboek/templates/edit_form.jinja2:122 +msgid "page.track.form.image_uploads_disabled" +msgstr "Das Hochladen von Bildern ist auf diesem Fietsboek deaktiviert" + +#: fietsboek/templates/edit_form.jinja2:140 msgid "page.track.form.image_description_modal" msgstr "Bildbeschreibung" -#: fietsboek/templates/edit_form.jinja2:140 +#: fietsboek/templates/edit_form.jinja2:147 msgid "page.track.form.image_description_modal.save" msgstr "Übernehmen" -#: fietsboek/templates/edit_form.jinja2:166 +#: fietsboek/templates/edit_form.jinja2:173 msgid "page.track.form.transformer.enable" msgstr "Transformation anwenden" @@ -759,9 +763,10 @@ msgstr "Sitzungen abmelden" #: fietsboek/templates/user_data.jinja2:40 msgid "page.my_profile.session_logout.explanation" msgstr "" -"Mit dieser Funktion können alle Sitzungen beendet werden. Dies ist nützlich, " -"wenn Du vergessen hast, dich auf einem fremden Gerät abzumelden. Beachte, dass " -"Du dich erneut anmelden musst, wenn Du diese Funktion nutzt!" +"Mit dieser Funktion können alle Sitzungen beendet werden. Dies ist " +"nützlich, wenn Du vergessen hast, dich auf einem fremden Gerät " +"abzumelden. Beachte, dass Du dich erneut anmelden musst, wenn Du diese " +"Funktion nutzt!" #: fietsboek/templates/user_data.jinja2:44 msgid "page.my_profile.session_logout.button" diff --git a/fietsboek/locale/en/LC_MESSAGES/messages.mo b/fietsboek/locale/en/LC_MESSAGES/messages.mo Binary files differindex da23e31..c03929b 100644 --- a/fietsboek/locale/en/LC_MESSAGES/messages.mo +++ b/fietsboek/locale/en/LC_MESSAGES/messages.mo diff --git a/fietsboek/locale/en/LC_MESSAGES/messages.po b/fietsboek/locale/en/LC_MESSAGES/messages.po index 45b15cc..f5a7874 100644 --- a/fietsboek/locale/en/LC_MESSAGES/messages.po +++ b/fietsboek/locale/en/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-09-14 20:05+0200\n" +"POT-Creation-Date: 2023-11-10 22:23+0100\n" "PO-Revision-Date: 2023-04-03 20:42+0200\n" "Last-Translator: \n" "Language: en\n" @@ -18,11 +18,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.12.1\n" -#: fietsboek/actions.py:255 +#: fietsboek/actions.py:257 msgid "email.verify_mail.subject" msgstr "Fietsboek Account Verification" -#: fietsboek/actions.py:258 +#: fietsboek/actions.py:260 msgid "email.verify.text" msgstr "" "To verify your Fietsboek account, please use this link: {}\n" @@ -467,23 +467,27 @@ msgid "page.track.form.description" msgstr "Description" #: fietsboek/templates/edit_form.jinja2:108 -#: fietsboek/templates/edit_form.jinja2:122 +#: fietsboek/templates/edit_form.jinja2:129 msgid "page.track.form.remove_image" msgstr "Remove image" -#: fietsboek/templates/edit_form.jinja2:117 +#: fietsboek/templates/edit_form.jinja2:118 msgid "page.track.form.select_images" msgstr "Select images" -#: fietsboek/templates/edit_form.jinja2:133 +#: fietsboek/templates/edit_form.jinja2:122 +msgid "page.track.form.image_uploads_disabled" +msgstr "Image uploads are disabled on this Fietsboek" + +#: fietsboek/templates/edit_form.jinja2:140 msgid "page.track.form.image_description_modal" msgstr "Image description" -#: fietsboek/templates/edit_form.jinja2:140 +#: fietsboek/templates/edit_form.jinja2:147 msgid "page.track.form.image_description_modal.save" msgstr "Apply" -#: fietsboek/templates/edit_form.jinja2:166 +#: fietsboek/templates/edit_form.jinja2:173 msgid "page.track.form.transformer.enable" msgstr "Apply transformation" @@ -753,9 +757,10 @@ msgstr "Invalidate sessions" #: fietsboek/templates/user_data.jinja2:40 msgid "page.my_profile.session_logout.explanation" msgstr "" -"With this functionality, you can force all of your current sessions " -"to be logged out. This is useful when you forgot to log out on a foreign " -"device. Note that you will have to log in again after using this function." +"With this functionality, you can force all of your current sessions to be" +" logged out. This is useful when you forgot to log out on a foreign " +"device. Note that you will have to log in again after using this " +"function." #: fietsboek/templates/user_data.jinja2:44 msgid "page.my_profile.session_logout.button" diff --git a/fietsboek/locale/fietslog.pot b/fietsboek/locale/fietslog.pot index b87785e..e5a0b40 100644 --- a/fietsboek/locale/fietslog.pot +++ b/fietsboek/locale/fietslog.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2023-09-14 20:05+0200\n" +"POT-Creation-Date: 2023-11-10 22:23+0100\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" @@ -17,11 +17,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.12.1\n" -#: fietsboek/actions.py:255 +#: fietsboek/actions.py:257 msgid "email.verify_mail.subject" msgstr "" -#: fietsboek/actions.py:258 +#: fietsboek/actions.py:260 msgid "email.verify.text" msgstr "" @@ -461,23 +461,27 @@ msgid "page.track.form.description" msgstr "" #: fietsboek/templates/edit_form.jinja2:108 -#: fietsboek/templates/edit_form.jinja2:122 +#: fietsboek/templates/edit_form.jinja2:129 msgid "page.track.form.remove_image" msgstr "" -#: fietsboek/templates/edit_form.jinja2:117 +#: fietsboek/templates/edit_form.jinja2:118 msgid "page.track.form.select_images" msgstr "" -#: fietsboek/templates/edit_form.jinja2:133 -msgid "page.track.form.image_description_modal" +#: fietsboek/templates/edit_form.jinja2:122 +msgid "page.track.form.image_uploads_disabled" msgstr "" #: fietsboek/templates/edit_form.jinja2:140 +msgid "page.track.form.image_description_modal" +msgstr "" + +#: fietsboek/templates/edit_form.jinja2:147 msgid "page.track.form.image_description_modal.save" msgstr "" -#: fietsboek/templates/edit_form.jinja2:166 +#: fietsboek/templates/edit_form.jinja2:173 msgid "page.track.form.transformer.enable" msgstr "" diff --git a/fietsboek/templates/edit_form.jinja2 b/fietsboek/templates/edit_form.jinja2 index 1abe076..89cefa4 100644 --- a/fietsboek/templates/edit_form.jinja2 +++ b/fietsboek/templates/edit_form.jinja2 @@ -114,7 +114,14 @@ {% endfor %} </div> <input type="file" name="image[]" id="imageSelector" class="form-control" accept="image/*" style="display:none;" multiple> - <button type="button" onclick="document.querySelector('#imageSelector').click()" class="btn btn-primary"><i class="bi bi-images"></i> {{ _("page.track.form.select_images") }}</button> + <button type="button" onclick="document.querySelector('#imageSelector').click()" class="btn btn-primary" {% if not request.config.enable_image_uploads %}disabled{% endif %}> + <i class="bi bi-images"></i> {{ _("page.track.form.select_images") }} + </button> + {% if not request.config.enable_image_uploads %} + <span class="text-info"> + <i class="bi bi-info-circle-fill"></i> {{ _("page.track.form.image_uploads_disabled") }} + </span> + {% endif %} </div> <!-- Mode hidden templates --> <div style="display:none;"> |