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;">  | 
