aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/gui/app/glue.py
diff options
context:
space:
mode:
authorMichael Elkins <melkins@tislabs.com>2012-07-12 17:46:16 +0000
committerMichael Elkins <melkins@tislabs.com>2012-07-12 17:46:16 +0000
commit6c70c689f230d39499c43cb5b1c94f86d55aad64 (patch)
tree3154dc912247be3cd8ab7022a5522a6a2343e22b /rpkid/rpki/gui/app/glue.py
parent12121997af0bbfabd1eb375d01bfb6e6b178451a (diff)
move fetching of admin email addresses to the glue library so it can be used by rpkigui-rcynic as well
svn path=/trunk/; revision=4598
Diffstat (limited to 'rpkid/rpki/gui/app/glue.py')
-rw-r--r--rpkid/rpki/gui/app/glue.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/rpkid/rpki/gui/app/glue.py b/rpkid/rpki/gui/app/glue.py
index 577f9c7b..66d4c368 100644
--- a/rpkid/rpki/gui/app/glue.py
+++ b/rpkid/rpki/gui/app/glue.py
@@ -121,9 +121,31 @@ def config_from_template(dest, a):
else:
print >>f, r,
+
def str_to_resource_range(prefix):
try:
r = resource_range_ipv4.parse_str(prefix)
except BadIPResource:
r = resource_range_ipv6.parse_str(prefix)
return r
+
+
+def get_email_list(conf):
+ """Return a list of the contact emails for this user.
+
+ Contact emails are extract from any ghostbuster requests, and if there are
+ none, returns the default email for the web portal account.
+
+ """
+ notify_emails = []
+ qs = models.GhostbusterRequest.objects.filter(issuer=conf)
+ for gbr in qs:
+ if gbr.email_address:
+ notify_emails.append(gbr.email_address)
+
+ if len(notify_emails) == 0:
+ # fall back to the email address registered for this user
+ user = User.objects.get(username=conf.handle)
+ notify_emails.append(user.email)
+
+ return notify_emails