Skip to content
Snippets Groups Projects
Commit 9e04f5d8 authored by Ben Adida's avatar Ben Adida
Browse files

make it easy to contact election creators (when admin only, of course)

parent 2e5ed744
No related branches found
No related tags found
No related merge requests found
...@@ -40,7 +40,7 @@ def get_user_info_after_auth(request): ...@@ -40,7 +40,7 @@ def get_user_info_after_auth(request):
else: else:
name = email name = email
return {'type' : 'google', 'user_id': email, 'name': name , 'info': {}, 'token':{}} return {'type' : 'google', 'user_id': email, 'name': name , 'info': {'email': email}, 'token':{}}
def do_logout(user): def do_logout(user):
""" """
......
...@@ -86,6 +86,9 @@ def update_status(user_id, user_info, token, message): ...@@ -86,6 +86,9 @@ def update_status(user_id, user_info, token, message):
def send_message(user_id, user_name, user_info, subject, body): def send_message(user_id, user_name, user_info, subject, body):
pass pass
def public_url(user_id):
return "http://twitter.com/%s" % user_id
def send_notification(user_id, user_info, message): def send_notification(user_id, user_info, message):
twitter_client = _get_client_by_token(DM_TOKEN) twitter_client = _get_client_by_token(DM_TOKEN)
result = twitter_client.oauth_request('http://api.twitter.com/1/direct_messages/new.json', args={'screen_name': user_id, 'text': message}, method='POST') result = twitter_client.oauth_request('http://api.twitter.com/1/direct_messages/new.json', args={'screen_name': user_id, 'text': message}, method='POST')
......
...@@ -27,7 +27,7 @@ def get_auth_url(request, redirect_url): ...@@ -27,7 +27,7 @@ def get_auth_url(request, redirect_url):
def get_user_info_after_auth(request): def get_user_info_after_auth(request):
data = view_helpers.finish_openid(request.session, request.GET, request.session['yahoo_redirect_url']) data = view_helpers.finish_openid(request.session, request.GET, request.session['yahoo_redirect_url'])
return {'type' : 'yahoo', 'user_id': data['ax']['email'][0], 'name': data['ax']['fullname'][0], 'info': {}, 'token':{}} return {'type' : 'yahoo', 'user_id': data['ax']['email'][0], 'name': data['ax']['fullname'][0], 'info': {'email': data['ax']['email'][0]}, 'token':{}}
def do_logout(user): def do_logout(user):
""" """
......
...@@ -134,9 +134,24 @@ class User(models.Model): ...@@ -134,9 +134,24 @@ class User(models.Model):
return self.user_id return self.user_id
@property
def public_url(self):
if AUTH_SYSTEMS.has_key(self.user_type):
if hasattr(AUTH_SYSTEMS[self.user_type], 'public_url'):
return AUTH_SYSTEMS[self.user_type].public_url(self.user_id)
return None
def _display_html(self, size): def _display_html(self, size):
public_url = self.public_url
if public_url:
name_display = '<a href="%s">%s</a>' % (public_url, self.pretty_name)
else:
name_display = self.pretty_name
return """<img border="0" height="%s" src="/static/auth/login-icons/%s.png" alt="%s" /> %s""" % ( return """<img border="0" height="%s" src="/static/auth/login-icons/%s.png" alt="%s" /> %s""" % (
str(int(size)), self.user_type, self.user_type, self.pretty_name) str(int(size)), self.user_type, self.user_type, name_display)
@property @property
def display_html_small(self): def display_html_small(self):
......
...@@ -18,7 +18,7 @@ Elections {{elections_page.start_index}} - {{elections_page.end_index}}&nbsp;&nb ...@@ -18,7 +18,7 @@ Elections {{elections_page.start_index}} - {{elections_page.end_index}}&nbsp;&nb
{% for election in elections %} {% for election in elections %}
<p> <p>
<b><a href="{% url helios.views.one_election_view election.uuid %}">{{election.name}}</a></b> -- {{election.num_voters}} voters / {{election.num_cast_votes}} cast votes <b><a href="{% url helios.views.one_election_view election.uuid %}">{{election.name}}</a></b> by <a href="mailto:{{election.admin.info.email}}">{{election.admin.pretty_name}}</a> -- {{election.num_voters}} voters / {{election.num_cast_votes}} cast votes
</p> </p>
{% endfor %} {% endfor %}
......
...@@ -100,7 +100,7 @@ def get_voter(request, user, election): ...@@ -100,7 +100,7 @@ def get_voter(request, user, election):
## simple admin for development ## simple admin for development
## ##
def admin_autologin(request): def admin_autologin(request):
if "localhost" not in settings.URL_HOST: if "localhost" not in settings.URL_HOST and "127.0.0.1" not in settings.URL_HOST:
raise Http404 raise Http404
users = User.objects.filter(admin_p=True) users = User.objects.filter(admin_p=True)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment