diff --git a/src/wuttafarm/web/forms/widgets.py b/src/wuttafarm/web/forms/widgets.py index db79eae..6897660 100644 --- a/src/wuttafarm/web/forms/widgets.py +++ b/src/wuttafarm/web/forms/widgets.py @@ -667,10 +667,17 @@ class AssetRefsWidget(Widget): readonly = kw.get("readonly", self.readonly) if readonly: + assets = [] for uuid in cstruct or []: - asset = session.get(model.Asset, uuid) - assets.append( + if asset := session.get(model.Asset, uuid): + assets.append(asset) + + assets.sort(key=lambda asset: asset.asset_name) + + html = [] + for asset in assets: + html.append( HTML.tag( "li", c=tags.link_to( @@ -681,7 +688,8 @@ class AssetRefsWidget(Widget): ), ) ) - return HTML.tag("ul", c=assets) + + return HTML.tag("ul", c=html) values = kw.get("values", self.values) if not isinstance(values, sequence_types):