diff --git a/app/public/static/package_edit.js b/app/public/static/package_edit.js index a7d09aa..f790138 100644 --- a/app/public/static/package_edit.js +++ b/app/public/static/package_edit.js @@ -22,6 +22,10 @@ $(function() { } }); + $("#forums-button").click(function(e) { + window.open("https://forum.minetest.net/viewtopic.php?t=" + $("#forums").val(), "_blank"); + }); + let hint = null; function showHint(ele, text) { if (hint) { diff --git a/app/templates/macros/forms.html b/app/templates/macros/forms.html index 6230710..9aaa55e 100644 --- a/app/templates/macros/forms.html +++ b/app/templates/macros/forms.html @@ -13,6 +13,53 @@ {%- endmacro %} +{% macro render_field_prefix(field, label=None, prefix="@", label_visible=true, right_url=None, right_label=None, fieldclass=None) -%} +
+ {% if field.type != 'HiddenField' and label_visible %} + {% if not label and label != "" %}{% set label=field.label.text %}{% endif %} + {% if label %}{% endif %} + {% endif %} + +
+
+ {{ prefix }} +
+ {{ field(class_=fieldclass or 'form-control', **kwargs) }} +
+ + {% if field.errors %} + {% for e in field.errors %} +

{{ e }}

+ {% endfor %} + {% endif %} +
+{%- endmacro %} + +{% macro render_field_prefix_button(field, label=None, prefix="@", label_visible=true, right_url=None, right_label=None, fieldclass=None) -%} +
+ {% if field.type != 'HiddenField' and label_visible %} + {% if not label and label != "" %}{% set label=field.label.text %}{% endif %} + {% if label %}{% endif %} + {% endif %} + +
+
+ {{ prefix }} +
+ {{ field(class_=fieldclass or 'form-control', **kwargs) }} + + View + +
+ + {% if field.errors %} + {% for e in field.errors %} +

{{ e }}

+ {% endfor %} + {% endif %} +
+{%- endmacro %} + {% macro form_scripts() -%} diff --git a/app/templates/packages/create_edit.html b/app/templates/packages/create_edit.html index 1c2a5a0..14827fb 100644 --- a/app/templates/packages/create_edit.html +++ b/app/templates/packages/create_edit.html @@ -7,7 +7,8 @@ {% endif %} {% endblock %} -{% from "macros/forms.html" import render_field, render_submit_field, form_scripts, render_multiselect_field, render_mpackage_field, render_deps_field, package_lists %} +{% from "macros/forms.html" import render_field, render_field_prefix_button, render_submit_field, form_scripts, + render_multiselect_field, render_mpackage_field, render_deps_field, package_lists %} {% block scriptextra %} {{ form_scripts() }} @@ -16,7 +17,7 @@ {% endif %} - + {% endblock %} {% block content %} @@ -114,9 +115,12 @@ {{ render_field(form.website, class_="pkg_meta") }} {{ render_field(form.issueTracker, class_="pkg_meta") }} - {{ render_field(form.forums, class_="pkg_meta", placeholder=_("Tip: paste in a forum topic URL")) }} + {{ render_field_prefix_button(form.forums, class_="pkg_meta", + pattern="[0-9]+", + prefix=_("forum.minetest.net/viewtopic.php?t="), + placeholder=_("Tip: paste in a forum topic URL")) }} -
{{ render_submit_field(form.submit) }}
+
{{ render_submit_field(form.submit) }}
{% endblock %} diff --git a/app/templates/users/profile_edit.html b/app/templates/users/profile_edit.html index 05f105e..752292c 100644 --- a/app/templates/users/profile_edit.html +++ b/app/templates/users/profile_edit.html @@ -44,14 +44,14 @@

{{ _("Profile Information") }}

-{% from "macros/forms.html" import render_field, render_submit_field %} +{% from "macros/forms.html" import render_field, render_field_prefix, render_submit_field %}
{{ form.hidden_tag() }} {% if user.checkPerm(current_user, "CHANGE_USERNAMES") %} {{ render_field(form.display_name, tabindex=230) }} {{ render_field(form.forums_username, tabindex=230) }} - {{ render_field(form.github_username, tabindex=230) }} + {{ render_field_prefix(form.github_username, tabindex=230) }} {% endif %} {% if user.checkPerm(current_user, "CHANGE_PROFILE_URLS") %}