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 %} - + {{ _("See more") }}

{{ _("Recently Added") }}