Last fix dev master
authorBenoit C. Sirois <benoit.clennett-sirois@auf.org>
Fri, 3 May 2013 15:11:33 +0000 (11:11 -0400)
committerBenoit C. Sirois <benoit.clennett-sirois@auf.org>
Fri, 3 May 2013 15:11:33 +0000 (11:11 -0400)
auf/django/auth_token/admin.py
auf/django/auth_token/models.py
auf/django/auth_token/templates/token_auth/new_token_email.html

index 25bff05..07d770d 100644 (file)
@@ -4,9 +4,16 @@ from django.contrib.auth.admin import UserAdmin
 from .models import Token
 
 
-def reset_token(qs):
+def reset_token(modeladmin, request, qs):
     for user in qs.select_related('auf_auth_token'):
-        user.token.reset_token()
+        user.auf_auth_token.reset_token()
+reset_token.short_description = 'Reset token'
+
+
+def send_token_by_email(modeladmin, request, qs):
+    for user in qs.select_related('auf_auth_token'):
+        user.auf_auth_token.send_token_by_email(request)
+send_token_by_email.short_description = 'Send token email'
 
 
 class TokenInline(admin.StackedInline):
@@ -15,7 +22,19 @@ class TokenInline(admin.StackedInline):
 
 
 class TokenUserAdmin(UserAdmin):
+    def get_token(self, obj):
+        return obj.auf_auth_token.value
+    get_token.short_description = 'Login token'
+
+    def queryset(self, request):
+        return super(TokenUserAdmin, self).queryset(request).select_related('auf_auth_token')
+
     inlines = UserAdmin.inlines + [TokenInline]
+    list_display = list(UserAdmin.list_display) + ['get_token']
+    actions = UserAdmin.actions + [
+        reset_token,
+        send_token_by_email,
+        ]
 
 
 admin.site.unregister(User)
index 5939dcb..0adf52e 100755 (executable)
@@ -46,6 +46,7 @@ class Token(models.Model):
                 ALLOW_UNSECURED_TOKEN_AUTH) else 'http'),
             'host': request.get_host(),
             'token_param': AUTH_TOKEN_PARAM,
+            'token': self.value,
             }
 
         tpl_data = {
@@ -77,7 +78,7 @@ class Token(models.Model):
                 EMAIL_SUBJECT,
                 text_response,
                 sender,
-                [recipients],
+                recipients,
                 )
             msg.attach_alternative(html_response, "text/html")
             msg.send()
index 0fae721..2fc8546 100644 (file)
        <td valign="top"> 
          <!-- Tables are the most common way to format your email consistently. Set your table widths inside cells and in most cases reset cellpadding, cellspacing, and border to zero. Use nested tables as a way to space effectively in your message. -->
          <table cellpadding="0" cellspacing="0" border="0" align="center">
-           {% include token_auth/new_token_email_inner.html %}
+           {% include 'token_auth/new_token_email_inner.html' %}
          </table>
          <!-- End example table -->