- removed distracting background (fixes: lp:920075)
- added django style model manager for lists (public, private, by_mail_host)
1 parent 8ec0141 commit ce1d7a0d87edba077a56d8ed6d8b2cfd8602d483
@Florian Fuchs Florian Fuchs authored on 7 Feb 2012
Showing 4 changed files
View
32
src/mailman_django/models.py
"""
pass
 
 
class MailmanListManager(MailmanRestManager):
 
def __init__(self):
super(MailmanListManager, self).__init__('list', 'lists')
 
def all(self, only_public=False):
try:
objects = getattr(self.client, self.resource_name_plural)
except AttributeError:
raise MailmanApiError
if only_public:
public = []
for obj in objects:
if obj.settings.get('advertised', False):
public.append(obj)
return public
else:
return objects
 
def by_mail_host(self, mail_host, only_public=False):
objects = self.all(only_public)
host_objects = []
for obj in objects:
if obj.mail_host == mail_host:
host_objects.append(obj)
return host_objects
 
 
class MailmanRestModel(object):
"""Simple REST Model class to make REST API calls Django style.
"""
MailmanApiError = MailmanApiError
 
class List(MailmanRestModel):
"""List model class.
"""
objects = MailmanRestManager('list', 'lists')
objects = MailmanListManager()
 
 
View
4
src/mailman_django/static/mailman_django/default/css/style.css
 
/* Add layout tyles here */
 
body {
background-color: #d4d4d4;
font-size: 87.5%;
font-family: Verdana, Arial, sans-serif;
}
h1 {
width: 765px;
margin: 5px auto;
padding: 25px 0 25px 35px;
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
background: #fff repeat top left url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAKCAYAAAD2Fg1xAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB9sHFAYzEtopMl4AAAAidEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVAgb24gYSBNYWOHqHdDAAAAUklEQVQ4y+2T0QnAQAhDbbkf3X/DW0JDsN2h4IHSN0DgkeRy90eas/eWW4ZQIgJAAPQXISkkj4qsilAzmzGtMR+JCImI/tPKzOONlIio6v+Rr7wQbht30ThlBAAAAABJRU5ErkJggg==');
}
.mm_actionButtons {
margin: 30px 0 30px 0;
}
View
2
■■■
src/mailman_django/templates/mailman-django/lists/index.html
<!-- #TODO ACL - advertised for admin only-->
<div class="mm_box mm_smallBox {% cycle 'mm_clear' '' %}">
<div class="mm_boxHeader">
<a href="{% url list_summary fqdn_listname=list.fqdn_listname %}">
{{ list.real_name }}
{{ list.real_name }} ({{ list.fqdn_listname }})
{% if not list.settings.advertised %}(non-public){% endif %}
</a>
</div>
<ul>
View
src/mailman_django/views.py