Only show sections on submissions dashbaord that has entries
authorMagnus Hagander <magnus@hagander.net>
Sun, 3 Jan 2021 15:14:47 +0000 (16:14 +0100)
committerMagnus Hagander <magnus@hagander.net>
Mon, 4 Jan 2021 13:40:07 +0000 (14:40 +0100)
Instead of showing (confusing) empty sections, remove the complete
section from she page.

From Andreas Scherbaum, though not his patch in the end

pgweb/account/views.py

index addd06edcd94f823219757be1b7e3560b8532ce0..9add0e66c9a40a6b4e78434ca2c08ce711b0ca3c 100644 (file)
@@ -70,25 +70,27 @@ def _modobjs(qs):
 
 @login_required
 def home(request):
+    modobjects = [
+        {
+            'title': 'not submitted yet',
+            'objects': [
+                _modobjs(NewsArticle.objects.filter(org__managers=request.user, modstate=ModerationState.CREATED)),
+            ],
+        },
+        {
+            'title': 'waiting for moderator approval',
+            'objects': [
+                _modobjs(NewsArticle.objects.filter(org__managers=request.user, modstate=ModerationState.PENDING)),
+                _modobjs(Event.objects.filter(org__managers=request.user, approved=False)),
+                _modobjs(Organisation.objects.filter(managers=request.user, approved=False)),
+                _modobjs(Product.objects.filter(org__managers=request.user, approved=False)),
+                _modobjs(ProfessionalService.objects.filter(org__managers=request.user, approved=False))
+            ],
+        },
+    ]
+
     return render_pgweb(request, 'account', 'account/index.html', {
-        'modobjects': [
-            {
-                'title': 'not submitted yet',
-                'objects': [
-                    _modobjs(NewsArticle.objects.filter(org__managers=request.user, modstate=ModerationState.CREATED)),
-                ],
-            },
-            {
-                'title': 'waiting for moderator approval',
-                'objects': [
-                    _modobjs(NewsArticle.objects.filter(org__managers=request.user, modstate=ModerationState.PENDING)),
-                    _modobjs(Event.objects.filter(org__managers=request.user, approved=False)),
-                    _modobjs(Organisation.objects.filter(managers=request.user, approved=False)),
-                    _modobjs(Product.objects.filter(org__managers=request.user, approved=False)),
-                    _modobjs(ProfessionalService.objects.filter(org__managers=request.user, approved=False))
-                ],
-            },
-        ],
+        'modobjects': filter(lambda x: any(x['objects']), modobjects),
     })