aboutsummaryrefslogtreecommitdiff
path: root/app/templates
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2018-05-27 21:31:11 +0100
committerrubenwardy <rw@rubenwardy.com>2018-05-27 21:31:11 +0100
commit63af1535b90358f1a26248cae217f4a74fdc1f84 (patch)
tree55ce4339a5bea144b7b25ecb6b8e97486b94ed6b /app/templates
parent82159d488d87d204390dc58fdd30ca2167156b79 (diff)
downloadcheatdb-63af1535b90358f1a26248cae217f4a74fdc1f84.tar.xz
Add dependencies
Diffstat (limited to 'app/templates')
-rw-r--r--app/templates/macros/forms.html19
-rw-r--r--app/templates/packages/create_edit.html15
-rw-r--r--app/templates/packages/view.html30
3 files changed, 51 insertions, 13 deletions
diff --git a/app/templates/macros/forms.html b/app/templates/macros/forms.html
index 430c4e8..940c4a2 100644
--- a/app/templates/macros/forms.html
+++ b/app/templates/macros/forms.html
@@ -58,6 +58,25 @@
</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="Start typing to see suggestions">
+ <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/packages/create_edit.html b/app/templates/packages/create_edit.html
index c7c2dbb..666d4cd 100644
--- a/app/templates/packages/create_edit.html
+++ b/app/templates/packages/create_edit.html
@@ -21,9 +21,20 @@
},
{% endfor %}
]
+
+ all_packages = meta_packages.slice();
+
+ {% for p in packages %}
+ {# This is safe as name can only contain `[a-z0-9_]` #}
+ all_packages.push({
+ id: "{{ p.author.username }}/{{ p.name }}",
+ value: {{ p.title | tojson }} + " by " + {{ p.author.display_name | tojson }},
+ toString: function() { return {{ 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 %}
+ {% 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">
@@ -36,6 +47,8 @@
{{ render_field(form.type, class_="pkg_meta") }}
{{ render_field(form.license, class_="pkg_meta") }}
{{ render_mpackage_field(form.provides_str, class_="pkg_meta", placeholder="Comma separated list") }}
+ {{ render_deps_field(form.harddep_str, class_="pkg_meta", placeholder="Comma separated list") }}
+ {{ render_deps_field(form.softdep_str, class_="pkg_meta", placeholder="Comma separated list") }}
{{ render_multiselect_field(form.tags, class_="pkg_meta") }}
<div class="pkg_wiz_1">
diff --git a/app/templates/packages/view.html b/app/templates/packages/view.html
index 1623f1c..834ea63 100644
--- a/app/templates/packages/view.html
+++ b/app/templates/packages/view.html
@@ -162,27 +162,33 @@
{% endfor %}
</ul>
- <!-- <table class="table-topalign">
+ <table class="table-topalign">
<tr>
<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>
<h3>Required by</h3>
<ul>
- {% for p in package.dependents %}
+ <!-- {% for p in package.dependents %}
<li><a href="{{ p.getDetailsURL() }}">{{ p.title }}</a> by {{ p.author.display_name }}</li>
{% else %}
{% if not package.softdependents %}
@@ -191,11 +197,11 @@
{% endfor %}
{% for p in package.softdependents %}
<li><a href="{{ p.getDetailsURL() }}">{{ p.title }}</a> by {{ p.author.display_name }} [optional]</li>
- {% endfor %}
+ {% endfor %} -->
</ul>
</td>
</tr>
- </table> -->
+ </table>
{% if current_user.is_authenticated or requests %}
<h3>Edit Requests</h3>