diff options
| author | rubenwardy <rw@rubenwardy.com> | 2018-05-27 22:55:46 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-05-27 22:55:46 +0100 |
| commit | d046de8057d42d4653af6d7c6c7ff557319d1bae (patch) | |
| tree | 0361d8515fa3b3d16b0222a27048158262d76376 /app/templates | |
| parent | e85298d890a3fdaa3ac1919092aa495cf480a61f (diff) | |
| parent | 05e536b1217633fd612b8ee94360e8afef3c527c (diff) | |
| download | cheatdb-d046de8057d42d4653af6d7c6c7ff557319d1bae.tar.xz | |
Merge pull request #78 from minetest/dev
Add meta packages, remove current dependencies
Diffstat (limited to 'app/templates')
| -rw-r--r-- | app/templates/admin/list.html | 3 | ||||
| -rw-r--r-- | app/templates/macros/forms.html | 40 | ||||
| -rw-r--r-- | app/templates/meta/list.html | 15 | ||||
| -rw-r--r-- | app/templates/meta/view.html | 12 | ||||
| -rw-r--r-- | app/templates/packages/create_edit.html | 55 | ||||
| -rw-r--r-- | app/templates/packages/editrequest_create_edit.html | 2 | ||||
| -rw-r--r-- | app/templates/packages/view.html | 39 |
7 files changed, 144 insertions, 22 deletions
diff --git a/app/templates/admin/list.html b/app/templates/admin/list.html index 3c15fa9..284919d 100644 --- a/app/templates/admin/list.html +++ b/app/templates/admin/list.html @@ -17,8 +17,9 @@ <form method="post" action="" class="box-body"> <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" /> <select name="action"> - <option value="importusers" selected>Create users from mod list</option> + <option value="importusers">Create users from mod list</option> <option value="importscreenshots">Import screenshots from VCS</option> + <option value="importdepends" selected>Import dependencies from downloads</option> </select> <input type="submit" value="Perform" /> </form> diff --git a/app/templates/macros/forms.html b/app/templates/macros/forms.html index b23711a..7700fe2 100644 --- a/app/templates/macros/forms.html +++ b/app/templates/macros/forms.html @@ -26,7 +26,7 @@ {% if not label %}{% set label=field.label.text %}{% endif %} <label for="{{ field.id }}" class="control-label">{{ label|safe }}</label> {% endif %} - <div class="multichoice_selector"> + <div class="multichoice_selector bulletselector"> <input type="text" placeholder="Start typing to see suggestions"> <div class="clearboth"></div> </div> @@ -39,6 +39,44 @@ </div> {% endmacro %} +{% macro render_mpackage_field(field, label=None, label_visible=true, right_url=None, right_label=None) -%} + <div class="form-group {% if field.errors %}has-error{% endif %} {{ kwargs.pop('class_', '') }}"> + {% if field.type != 'HiddenField' and label_visible %} + {% if not label %}{% set label=field.label.text %}{% endif %} + <label for="{{ field.id }}" class="control-label">{{ label|safe }}</label> + {% endif %} + <div class="metapackage_selector bulletselector"> + <input type="text" placeholder="Comma-seperated values"> + <div class="clearboth"></div> + </div> + {{ field(class_='form-control', **kwargs) }} + {% if field.errors %} + {% for e in field.errors %} + <p class="help-block">{{ e }}</p> + {% endfor %} + {% endif %} + </div> +{% endmacro %} + +{% macro render_deps_field(field, label=None, label_visible=true, right_url=None, right_label=None) -%} + <div class="form-group {% if field.errors %}has-error{% endif %} {{ kwargs.pop('class_', '') }}"> + {% if field.type != 'HiddenField' and label_visible %} + {% if not label %}{% set label=field.label.text %}{% endif %} + <label for="{{ field.id }}" class="control-label">{{ label|safe }}</label> + {% endif %} + <div class="deps_selector bulletselector"> + <input type="text" placeholder="Comma-seperated values"> + <div class="clearboth"></div> + </div> + {{ field(class_='form-control', **kwargs) }} + {% if field.errors %} + {% for e in field.errors %} + <p class="help-block">{{ e }}</p> + {% endfor %} + {% endif %} + </div> +{% endmacro %} + {% macro render_checkbox_field(field, label=None) -%} {% if not label %}{% set label=field.label.text %}{% endif %} <div class="checkbox"> diff --git a/app/templates/meta/list.html b/app/templates/meta/list.html new file mode 100644 index 0000000..5fec732 --- /dev/null +++ b/app/templates/meta/list.html @@ -0,0 +1,15 @@ +{% extends "base.html" %} + +{% block title %} +Meta Packages +{% endblock %} + +{% block content %} + <ul> + {% for meta in mpackages %} + <li><a href="{{ url_for('meta_package_page', name=meta.name) }}">{{ meta.name }}</a> ({{ meta.packages | count }} packages)</li> + {% else %} + <li><i>No meta packages found.</i></li> + {% endfor %} + </ul> +{% endblock %} diff --git a/app/templates/meta/view.html b/app/templates/meta/view.html new file mode 100644 index 0000000..c5473b9 --- /dev/null +++ b/app/templates/meta/view.html @@ -0,0 +1,12 @@ +{% extends "base.html" %} + +{% block title %} +Packages providing '{{ mpackage.name }}'' +{% endblock %} + +{% block content %} + <h1>Packages providing '{{ mpackage.name }}''</h1> + + {% from "macros/packagegridtile.html" import render_pkggrid %} + {{ render_pkggrid(mpackage.packages) }} +{% endblock %} diff --git a/app/templates/packages/create_edit.html b/app/templates/packages/create_edit.html index fc3715a..24a23b6 100644 --- a/app/templates/packages/create_edit.html +++ b/app/templates/packages/create_edit.html @@ -8,23 +8,65 @@ {% endblock %} {% block content %} - <h2>Create Package</h2> + <h1>Create Package</h1> - {% from "macros/forms.html" import render_field, render_submit_field, form_includes, render_multiselect_field %} + <script> + meta_packages = [ + {% for m in mpackages %} + {# This is safe as name can only contain `[a-z0-9_]` #} + { + id: "{{ m.name }}", + value: "{{ m.name }}", + toString: function() { return "{{ m.name }}"; }, + }, + {% endfor %} + ] + + function escape(unsafe) { + return unsafe + .replace(/&/g, "&") + .replace(/</g, "<") + .replace(/>/g, ">") + .replace(/"/g, """) + .replace(/'/g, "'"); + } + + all_packages = meta_packages.slice(); + + {% for p in packages %} + all_packages.push({ + id: "{{ p.author.username }}/{{ p.name }}", + value: escape({{ p.title | tojson }} + " by " + {{ p.author.display_name | tojson }}), + toString: function() { return escape({{ p.title | tojson }} + " by " + {{ p.author.display_name | tojson }} + " only"); }, + }); + {% endfor %} + </script> + + {% from "macros/forms.html" import render_field, render_submit_field, form_includes, render_multiselect_field, render_mpackage_field, render_deps_field %} {{ form_includes() }} <form method="POST" action="" class="tableform"> {{ form.hidden_tag() }} + <h2 class="pkg_meta">Package</h2> + + {{ render_field(form.type, class_="pkg_meta") }} {{ render_field(form.name, class_="pkg_meta") }} {{ render_field(form.title, class_="pkg_meta") }} {{ render_field(form.shortDesc, class_="pkg_meta") }} {{ render_field(form.desc, class_="pkg_meta") }} - {{ render_field(form.type, class_="pkg_meta") }} - {{ render_field(form.license, class_="pkg_meta") }} {{ render_multiselect_field(form.tags, class_="pkg_meta") }} - {{ render_multiselect_field(form.harddeps, class_="pkg_meta") }} - {{ render_multiselect_field(form.softdeps, class_="pkg_meta") }} + {{ render_field(form.license, class_="pkg_meta") }} + + <div class="pkg_meta"> + <h2 class="not_txp">Dependency Info</h2> + + {{ render_mpackage_field(form.provides_str, class_="not_txp", placeholder="Comma separated list") }} + {{ render_deps_field(form.harddep_str, class_="not_txp not_game", placeholder="Comma separated list") }} + {{ render_deps_field(form.softdep_str, class_="not_txp not_game", placeholder="Comma separated list") }} + </div> + + <h2 class="pkg_meta">Repository and Links</h2> <div class="pkg_wiz_1"> <p>Enter the repo URL for the package. @@ -60,4 +102,5 @@ </div> </noscript> {% endif %} + <script src="/static/package_edit.js"></script> {% endblock %} diff --git a/app/templates/packages/editrequest_create_edit.html b/app/templates/packages/editrequest_create_edit.html index 987a292..d245206 100644 --- a/app/templates/packages/editrequest_create_edit.html +++ b/app/templates/packages/editrequest_create_edit.html @@ -18,8 +18,6 @@ {{ render_field(form.type) }} {{ render_field(form.license) }} {{ render_multiselect_field(form.tags) }} - {{ render_multiselect_field(form.harddeps) }} - {{ render_multiselect_field(form.softdeps) }} {{ render_field(form.repo) }} {{ render_field(form.website) }} {{ render_field(form.issueTracker) }} diff --git a/app/templates/packages/view.html b/app/templates/packages/view.html index d6b74a6..2844636 100644 --- a/app/templates/packages/view.html +++ b/app/templates/packages/view.html @@ -68,6 +68,15 @@ <td>{{ package.name }}</td> </tr> <tr> + <td>Provides</td> + <td>{% for meta in package.provides %} + <a href="{{ url_for('meta_package_page', name=meta.name) }}">{{ meta.name }}</a> + {%- if not loop.last %} + , + {% endif %} + {% endfor %}</td> + </tr> + <tr> <td>Author</td> <td class="{{ package.author.rank }}"> <a href="{{ url_for('user_profile_page', username=package.author.username) }}"> @@ -153,23 +162,29 @@ {% endfor %} </ul> - <table class="table-topalign"> + <!-- <table class="table-topalign"> <tr> - <td> + <td> --> <h3>Dependencies</h3> <ul> - {% for p in package.harddeps %} - <li><a href="{{ p.getDetailsURL() }}">{{ p.title }}</a> by {{ p.author.display_name }}</li> + {% for dep in package.dependencies %} + <li> + {%- if dep.package %} + <a href="{{ dep.package.getDetailsURL() }}">{{ dep.package.title }}</a> by {{ dep.package.author.display_name }} + {% elif dep.meta_package %} + <a href="{{ url_for('meta_package_page', name=dep.meta_package.name) }}">{{ dep.meta_package.name }}</a> + {% else %} + {{ "Excepted package or meta_package in dep!" | throw }} + {% endif %} + {% if dep.optional %} + [optional] + {% endif %} + </li> {% else %} - {% if not package.softdeps %} - <li>No dependencies.</li> - {% endif %} - {% endfor %} - {% for p in package.softdeps %} - <li><a href="{{ p.getDetailsURL() }}">{{ p.title }}</a> by {{ p.author.display_name }} [optional]</li> + <li><i>No dependencies</i></li> {% endfor %} </ul> - </td> + <!-- </td> <td> <h3>Required by</h3> <ul> @@ -186,7 +201,7 @@ </ul> </td> </tr> - </table> + </table> --> {% if current_user.is_authenticated or requests %} <h3>Edit Requests</h3> |
