summaryrefslogtreecommitdiffstats
path: root/hyperkitty/views/accounts.py
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2013-08-15 11:11:02 +0000
committerAurélien Bompard <aurelien@bompard.org>2013-08-15 11:11:22 +0000
commita77a567329baf8156a782c2dde8e80f38740a97a (patch)
treee8c149b96ba65236f91e03654b448d52013e0b7a /hyperkitty/views/accounts.py
parent4c1c013620909a0f3490d1a6582924a567dea455 (diff)
downloadhyperkitty-a77a567329baf8156a782c2dde8e80f38740a97a.tar.gz
hyperkitty-a77a567329baf8156a782c2dde8e80f38740a97a.tar.xz
hyperkitty-a77a567329baf8156a782c2dde8e80f38740a97a.zip
Load subscriptions asynchronously
Diffstat (limited to 'hyperkitty/views/accounts.py')
-rw-r--r--hyperkitty/views/accounts.py23
1 files changed, 19 insertions, 4 deletions
diff --git a/hyperkitty/views/accounts.py b/hyperkitty/views/accounts.py
index b4c8759..9a6b9ff 100644
--- a/hyperkitty/views/accounts.py
+++ b/hyperkitty/views/accounts.py
@@ -128,9 +128,6 @@ def user_profile(request):
if addr != request.user.email:
emails.append(addr)
- # Subscriptions
- subscriptions = get_subscriptions(store, mm_client, mm_user)
-
# Flash messages
flash_messages = []
flash_msg = request.GET.get("msg")
@@ -144,7 +141,6 @@ def user_profile(request):
'form': form,
'emails': emails,
'favorites': favorites,
- 'subscriptions': subscriptions,
'flash_messages': flash_messages,
}
return render(request, "user_profile.html", context)
@@ -238,6 +234,25 @@ def votes(request):
})
+@login_required
+def subscriptions(request):
+ store = get_store(request)
+ # get the Mailman user
+ try:
+ mm_client = mailmanclient.Client('%s/3.0' %
+ settings.MAILMAN_REST_SERVER,
+ settings.MAILMAN_API_USER,
+ settings.MAILMAN_API_PASS)
+ mm_user = mm_client.get_user(request.user.email)
+ except (HTTPError, mailmanclient.MailmanConnectionError):
+ mm_client = mm_user = None
+ # Subscriptions
+ subscriptions = get_subscriptions(store, mm_client, mm_user)
+ return render(request, 'fragments/user_subscriptions.html', {
+ "subscriptions": subscriptions,
+ })
+
+
def public_profile(request, user_id):
try:
client = mailmanclient.Client('%s/3.0' %