diff --git a/src/accounts/templates/accounts/manage_subscriptions.html b/src/accounts/templates/accounts/manage_subscriptions.html
index 5da66ea..9aa357c 100644
--- a/src/accounts/templates/accounts/manage_subscriptions.html
+++ b/src/accounts/templates/accounts/manage_subscriptions.html
@@ -21,7 +21,7 @@
{% for list, checked in lists %}
{% endfor %}
diff --git a/src/accounts/utils/mailman.py b/src/accounts/utils/mailman.py
index 4883b17..b09e5e8 100644
--- a/src/accounts/utils/mailman.py
+++ b/src/accounts/utils/mailman.py
@@ -44,18 +44,23 @@ def update_subscription(address, lists):
subscribe(maillist, address)
-def address_lists(address):
+def address_lists(address, description=None):
url = get_url()
+
+ kwargs = {'address': address}
+ if description:
+ kwargs.update(description=description)
+
try:
- lists = requests.get(url, timeout=TIMEOUT, params={'address': address})
+ lists = requests.get(url, timeout=TIMEOUT, params=kwargs)
except requests.exceptions.RequestException:
return []
return lists.json()
-def all_lists():
- return address_lists('')
+def all_lists(*args, **kwargs):
+ return address_lists('', *args, **kwargs)
def user_lists(user):
diff --git a/src/accounts/views.py b/src/accounts/views.py
index e298cbd..e62159b 100644
--- a/src/accounts/views.py
+++ b/src/accounts/views.py
@@ -174,17 +174,20 @@ class ManageUserSubscriptionsView(UserProfileBaseMixin, DetailView):
user = self.get_object()
emails = user.emails.values_list('address', flat=True)
- all_lists = mailman.all_lists()
+ all_lists = mailman.all_lists(description=1)
for email in emails:
lists = []
lists_for_address = mailman.address_lists(email)
- for listname in all_lists:
+ for listname, description in all_lists:
if listname in lists_for_address:
checked = True
else:
checked = False
- lists.append((listname, checked))
+ lists.append((
+ {'listname': listname: 'description': description},
+ checked
+ ))
context['membership'].update({email: lists})
--
libgit2 0.21.2