Send notifications when invites are accepted. Fixes #8
This commit is contained in:
7
local/management/__init__.py
Normal file
7
local/management/__init__.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from django.db.models.signals import post_syncdb
|
||||
from notification import models as notification
|
||||
|
||||
def create_notice_types(app, created_models, verbosity, **kwargs):
|
||||
notification.create_notice_type("invite_accepted", "Invite Accepted", "An invitation you sent has been accepted.")
|
||||
|
||||
post_syncdb.connect(create_notice_types, sender=notification)
|
@@ -2,6 +2,7 @@ from django.test import TestCase
|
||||
from django.contrib.auth.models import User
|
||||
from django.test.client import Client
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.core import mail
|
||||
import models
|
||||
|
||||
class InviteTest(TestCase):
|
||||
@@ -37,6 +38,18 @@ class InviteTest(TestCase):
|
||||
resp = self.client.get(reverse('local.views.claimInvite', kwargs={'code':self.invite.code}), follow=True)
|
||||
self.assertEqual(200, resp.status_code)
|
||||
|
||||
def testRegisterViaInvite(self):
|
||||
resp = self.client.get(reverse('local.views.claimInvite', kwargs={'code':self.invite.code}), follow=True)
|
||||
self.assertEqual(200, resp.status_code)
|
||||
data = {}
|
||||
data['user-username'] = 'TestUser'
|
||||
data['user-password'] = 'abcd'
|
||||
data['user-password_confirm'] = 'abcd'
|
||||
data['user-email'] = 'email@example.com'
|
||||
data['profile-mc_username'] = 'Testificate'
|
||||
resp = self.client.post(reverse('local.views.register' ), data)
|
||||
self.assertEqual(len(mail.outbox), 1)
|
||||
|
||||
class AccountCreationTest(TestCase):
|
||||
def testCreation(self):
|
||||
user = User.objects.create_user('ValidUser', 'test@example.com')
|
||||
|
@@ -2,6 +2,7 @@ from django.contrib.auth.decorators import login_required
|
||||
from django.contrib.sites.models import Site
|
||||
from django.http import HttpResponseRedirect, Http404
|
||||
from django.shortcuts import render_to_response
|
||||
from notification import models as notification
|
||||
from django.template import RequestContext
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.urlresolvers import reverse
|
||||
@@ -64,6 +65,7 @@ def register(request):
|
||||
profile.mc_username = profileForm.cleaned_data['mc_username']
|
||||
profile.save()
|
||||
user = authenticate(username=userForm.cleaned_data['username'], password=userForm.cleaned_data['password'])
|
||||
notification.send_now([invite.creator], "invite_accepted", {"new_user": user})
|
||||
login(request, user)
|
||||
del request.session['profile-invite']
|
||||
return HttpResponseRedirect("/")
|
||||
|
1
templates/notification/invite_accepted/full.txt
Normal file
1
templates/notification/invite_accepted/full.txt
Normal file
@@ -0,0 +1 @@
|
||||
{{new_user}} has accepted your invite.
|
Reference in New Issue
Block a user