aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/blueprints/homepage/__init__.py2
-rw-r--r--app/blueprints/packages/packages.py3
-rw-r--r--app/flatpages/help/api.md2
-rw-r--r--app/querybuilder.py2
-rw-r--r--app/templates/index.html2
5 files changed, 7 insertions, 4 deletions
diff --git a/app/blueprints/homepage/__init__.py b/app/blueprints/homepage/__init__.py
index 0329948..f029fde 100644
--- a/app/blueprints/homepage/__init__.py
+++ b/app/blueprints/homepage/__init__.py
@@ -18,7 +18,7 @@ def home():
query = Package.query.filter_by(approved=True, soft_deleted=False)
count = query.count()
- new = join(query.order_by(db.desc(Package.created_at))).limit(8).all()
+ new = join(query.order_by(db.desc(Package.approved_at))).limit(8).all()
pop_mod = join(query.filter_by(type=PackageType.MOD).order_by(db.desc(Package.score))).limit(8).all()
pop_gam = join(query.filter_by(type=PackageType.GAME).order_by(db.desc(Package.score))).limit(4).all()
pop_txp = join(query.filter_by(type=PackageType.TXP).order_by(db.desc(Package.score))).limit(4).all()
diff --git a/app/blueprints/packages/packages.py b/app/blueprints/packages/packages.py
index 6ff6623..f8124ea 100644
--- a/app/blueprints/packages/packages.py
+++ b/app/blueprints/packages/packages.py
@@ -367,7 +367,8 @@ def approve(package):
else:
package.approved = True
- package.approved_at = datetime.datetime.now()
+ if not package.approved_at:
+ package.approved_at = datetime.datetime.now()
screenshots = PackageScreenshot.query.filter_by(package=package, approved=False).all()
for s in screenshots:
diff --git a/app/flatpages/help/api.md b/app/flatpages/help/api.md
index 755902e..e695f21 100644
--- a/app/flatpages/help/api.md
+++ b/app/flatpages/help/api.md
@@ -66,7 +66,7 @@ Supported query parameters:
* `random` - When present, enable random ordering and ignore `sort`.
* `limit` - Return at most `limit` packages.
* `hide` - Hide content based on [Content Flags](/help/content_flags/).
-* `sort` - Sort by (`name`, `title`, `score`, `downloads`, `created_at`, `last_release`).
+* `sort` - Sort by (`name`, `title`, `score`, `downloads`, `created_at`, `approved_at`, `last_release`).
* `order` - Sort ascending (`asc`) or descending (`desc`).
* `protocol_version` - Only show packages supported by this Minetest protocol version.
* `engine_version` - Only show packages supported by this Minetest engine version, eg: `5.3.0`.
diff --git a/app/querybuilder.py b/app/querybuilder.py
index be7af32..43229db 100644
--- a/app/querybuilder.py
+++ b/app/querybuilder.py
@@ -98,6 +98,8 @@ class QueryBuilder:
to_order = Package.downloads
elif self.order_by == "created_at" or self.order_by == "date":
to_order = Package.created_at
+ elif self.order_by == "approved_at" or self.order_by == "date":
+ to_order = Package.approved_at
elif self.order_by == "last_release":
to_order = PackageRelease.releaseDate
else:
diff --git a/app/templates/index.html b/app/templates/index.html
index 896239d..1911058 100644
--- a/app/templates/index.html
+++ b/app/templates/index.html
@@ -23,7 +23,7 @@
{% from "macros/packagegridtile.html" import render_pkggrid %}
- <a href="{{ url_for('packages.list_all', sort='created_at', order='desc') }}" class="btn btn-secondary float-right">
+ <a href="{{ url_for('packages.list_all', sort='approved_at', order='desc') }}" class="btn btn-secondary float-right">
{{ _("See more") }}
</a>
<h2 class="my-3">{{ _("Recently Added") }}</h2>