aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models.py25
-rw-r--r--app/templates/macros/forms.html34
-rw-r--r--app/templates/packages/create_edit.html36
-rw-r--r--app/templates/packages/editrequest_create_edit.html19
-rw-r--r--app/templates/packages/view.html36
-rw-r--r--app/utils.py2
-rw-r--r--app/views/packages/__init__.py2
-rw-r--r--app/views/packages/editrequests.py7
8 files changed, 93 insertions, 68 deletions
diff --git a/app/models.py b/app/models.py
index 14ff3c7..368e59b 100644
--- a/app/models.py
+++ b/app/models.py
@@ -215,18 +215,19 @@ class PackageType(enum.Enum):
class PackagePropertyKey(enum.Enum):
- name = "Name"
- title = "Title"
- shortDesc = "Short Description"
- desc = "Description"
- type = "Type"
- license = "License"
- tags = "Tags"
- provides = "Provides"
- repo = "Repository"
- website = "Website"
- issueTracker = "Issue Tracker"
- forums = "Forum Topic ID"
+ name = "Name"
+ title = "Title"
+ shortDesc = "Short Description"
+ desc = "Description"
+ type = "Type"
+ license = "License"
+ media_license = "Media License"
+ tags = "Tags"
+ provides = "Provides"
+ repo = "Repository"
+ website = "Website"
+ issueTracker = "Issue Tracker"
+ forums = "Forum Topic ID"
def convert(self, value):
if self == PackagePropertyKey.tags:
diff --git a/app/templates/macros/forms.html b/app/templates/macros/forms.html
index 7700fe2..66f305b 100644
--- a/app/templates/macros/forms.html
+++ b/app/templates/macros/forms.html
@@ -20,6 +20,40 @@
<script src="/static/tagselector.js"></script>
{% endmacro %}
+{% macro package_lists() -%}
+ <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, "&amp;")
+ .replace(/</g, "&lt;")
+ .replace(/>/g, "&gt;")
+ .replace(/"/g, "&quot;")
+ .replace(/'/g, "&#039;");
+ }
+
+ 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>
+{% endmacro %}
+
{% macro render_multiselect_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 %}
diff --git a/app/templates/packages/create_edit.html b/app/templates/packages/create_edit.html
index ee05940..52a1d4b 100644
--- a/app/templates/packages/create_edit.html
+++ b/app/templates/packages/create_edit.html
@@ -10,40 +10,10 @@
{% block content %}
<h1>Create Package</h1>
- <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, "&amp;")
- .replace(/</g, "&lt;")
- .replace(/>/g, "&gt;")
- .replace(/"/g, "&quot;")
- .replace(/'/g, "&#039;");
- }
-
- 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 %}
+
+ {% from "macros/forms.html" import render_field, render_submit_field, form_includes, render_multiselect_field, render_mpackage_field, render_deps_field, package_lists %}
{{ form_includes() }}
+ {{ package_lists() }}
<form method="POST" action="" class="tableform">
{{ form.hidden_tag() }}
diff --git a/app/templates/packages/editrequest_create_edit.html b/app/templates/packages/editrequest_create_edit.html
index d245206..c83bade 100644
--- a/app/templates/packages/editrequest_create_edit.html
+++ b/app/templates/packages/editrequest_create_edit.html
@@ -5,19 +5,30 @@
{% endblock %}
{% block content %}
- {% from "macros/forms.html" import render_field, render_submit_field, form_includes, render_multiselect_field %}
+ {% from "macros/forms.html" import render_field, render_submit_field, form_includes, render_multiselect_field, render_mpackage_field, render_deps_field, package_lists %}
{{ form_includes() }}
+ {{ package_lists() }}
<form method="POST" action="">
{{ form.hidden_tag() }}
+ <h2 class="pkg_meta">Package</h2>
+
+ {{ render_field(form.type) }}
{{ render_field(form.name) }}
{{ render_field(form.title) }}
{{ render_field(form.shortDesc) }}
{{ render_field(form.desc) }}
- {{ render_field(form.type) }}
- {{ render_field(form.license) }}
{{ render_multiselect_field(form.tags) }}
+
+ <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") }}
+
+ {{ render_field(form.license) }}
+ {{ render_field(form.media_license) }}
{{ render_field(form.repo) }}
{{ render_field(form.website) }}
{{ render_field(form.issueTracker) }}
@@ -29,4 +40,6 @@
{{ render_field(form.edit_desc) }}
{{ render_submit_field(form.submit) }}
</form>
+
+ <script src="/static/package_edit.js"></script>
{% endblock %}
diff --git a/app/templates/packages/view.html b/app/templates/packages/view.html
index 93f6645..2e62ea9 100644
--- a/app/templates/packages/view.html
+++ b/app/templates/packages/view.html
@@ -117,9 +117,9 @@
<li><a href="{{ package.getEditURL() }}">Edit</a></li>
<li><a href="{{ package.getNewScreenshotURL() }}">Add screenshot</a></li>
{% endif %}
- {% if current_user.is_authenticated %}
+ {# {% if current_user.is_authenticated %}
<li><a href="{{ package.getCreateEditRequestURL() }}">Suggest Changes</a></li>
- {% endif %}
+ {% endif %} #}
{% if package.checkPerm(current_user, "MAKE_RELEASE") %}
<li><a href="{{ package.getCreateReleaseURL() }}">Create Release</a></li>
{% endif %}
@@ -216,19 +216,21 @@
</tr>
</table> -->
- {% if current_user.is_authenticated or requests %}
- <h3>Edit Requests</h3>
-
- <ul>
- {% for r in requests %}
- <li>
- <a href="{{ r.getURL() }}">{{ r.title }}</a>
- by
- <a href="{{ url_for('user_profile_page', username=r.author.username) }}">{{ r.author.display_name }}</a>
- </li>
- {% else %}
- <li>No edit requests have been made.</li>
- {% endfor %}
- </ul>
- {% endif %}
+ {#
+ {% if current_user.is_authenticated or requests %}
+ <h3>Edit Requests</h3>
+
+ <ul>
+ {% for r in requests %}
+ <li>
+ <a href="{{ r.getURL() }}">{{ r.title }}</a>
+ by
+ <a href="{{ url_for('user_profile_page', username=r.author.username) }}">{{ r.author.display_name }}</a>
+ </li>
+ {% else %}
+ <li>No edit requests have been made.</li>
+ {% endfor %}
+ </ul>
+ {% endif %}
+ #}
{% endblock %}
diff --git a/app/utils.py b/app/utils.py
index 5fd7cae..55311fa 100644
--- a/app/utils.py
+++ b/app/utils.py
@@ -68,7 +68,7 @@ def _do_login_user(user, remember_me=False):
user.active = True
if not user.rank.atLeast(UserRank.NEW_MEMBER):
- user.rank = UserRank.NEW_MEMBER
+ user.rank = UserRank.MEMBER
db.session.commit()
diff --git a/app/views/packages/__init__.py b/app/views/packages/__init__.py
index 2a28876..76d278b 100644
--- a/app/views/packages/__init__.py
+++ b/app/views/packages/__init__.py
@@ -272,4 +272,4 @@ def delete_package_page(package):
return redirect(url)
-from . import todo, screenshots, editrequests, releases
+from . import todo, screenshots, releases
diff --git a/app/views/packages/editrequests.py b/app/views/packages/editrequests.py
index 51d5989..e071745 100644
--- a/app/views/packages/editrequests.py
+++ b/app/views/packages/editrequests.py
@@ -58,8 +58,13 @@ def create_edit_editrequest_page(package, id=None):
edited_package = Package(package)
erequest.applyAll(edited_package)
-
form = EditRequestForm(request.form, obj=edited_package)
+ if request.method == "GET":
+ deps = edited_package.dependencies
+ form.harddep_str.data = ",".join([str(x) for x in deps if not x.optional])
+ form.softdep_str.data = ",".join([str(x) for x in deps if x.optional])
+ form.provides_str.data = MetaPackage.ListToSpec(edited_package.provides)
+
if request.method == "POST" and form.validate():
if erequest is None:
erequest = EditRequest()