summaryrefslogtreecommitdiff
path: root/coip
diff options
context:
space:
mode:
authorLeif Johansson <leifj@sunet.se>2011-11-08 10:20:05 +0100
committerLeif Johansson <leifj@sunet.se>2011-11-08 10:20:05 +0100
commitc7eef476cbd1dd1e13e11e9e8fa2935439f4ae7e (patch)
treec059196e4b6a95870e78aa70e152bdf2ccf401cc /coip
parent66556015d222cbe28e0cb6b0f7aa703c5ad8e1b5 (diff)
generate actions for activity streams
Diffstat (limited to 'coip')
-rw-r--r--coip/apps/invitation/views.py9
-rw-r--r--coip/apps/membership/models.py8
2 files changed, 17 insertions, 0 deletions
diff --git a/coip/apps/invitation/views.py b/coip/apps/invitation/views.py
index f227508..8e09ddc 100644
--- a/coip/apps/invitation/views.py
+++ b/coip/apps/invitation/views.py
@@ -13,6 +13,7 @@ from coip.apps.name.models import Name
import datetime
from coip.apps.membership.models import Membership
from django.shortcuts import get_object_or_404
+from actstream.signals import action
@login_required
def invite(request,id):
@@ -34,12 +35,16 @@ def invite(request,id):
invitation=Invitation(message="Please consider joining my group!",expires=exp.strftime("%Y-%m-%d"))
form = InvitationForm(instance=invitation);
+ action.send(user,verb='invited',target=name,action_object=invitation)
+
return respond_to(request,{'text/html': 'apps/invitation/edit.html'},{'form': form,'name': name,'formtitle': 'Invite someone to join %s' % (name.short),'submitname': 'Invite User'})
@login_required
def accept(request,nonce):
invitation = get_object_or_404(Invitation,nonce=nonce)
+ action.send(request.user,verb='accepted invitation',target=invitation.name,action_object=invitation)
+
(membership,created) = Membership.objects.get_or_create(user=request.user,name=invitation.name)
if created or not membership.enabled:
membership.enabled = True
@@ -57,6 +62,8 @@ def cancel(request,id):
if not name.has_permission(request.user,'w'):
return render403(request,'You are not allowed to cancel pending invitations to %s' % (name))
+ action.send(request.user,verb='cancelled invitation',target=name,action_object=invitation)
+
invitation.delete()
return HttpResponseRedirect("/name/id/%d" % (name.id))
@@ -64,6 +71,8 @@ def resend(request,id):
invitation = get_object_or_404(Invitation,pk=id)
name = invitation.name
+ action.send(request.user,verb='renewed invitation to',target=name,action_object=invitation)
+
invitation.send_email()
return HttpResponseRedirect("/name/id/%d" % (name.id))
diff --git a/coip/apps/membership/models.py b/coip/apps/membership/models.py
index 71143b5..68eda96 100644
--- a/coip/apps/membership/models.py
+++ b/coip/apps/membership/models.py
@@ -12,6 +12,7 @@ from django.core.mail import send_mail
from coip.settings import NOREPLY
from coip.extensions.templatetags.userdisplay import userdisplay
from coip.apps.userprofile.models import UserProfile
+from actstream.signals import action
STATUS = {UserProfile.INTERNAL:'internal',
UserProfile.ENTITY:'entity',
@@ -81,6 +82,9 @@ def add_member(name,member_name,hidden=False):
name.nmembers = -1
name.save()
+ if not m.hidden:
+ action.send(m.user,verb='added to',target=m.name)
+
return m.send_notification("added to")
def disable_member(name,member_name):
@@ -89,6 +93,8 @@ def disable_member(name,member_name):
m.enabled = False
m.save()
m.send_notification("temporarily removed from")
+ if not m.hidden:
+ action.send(m.user,verb='temporarily removed from',target=m.name)
if name.nmembers != -1:
name.nmembers = -1
@@ -98,6 +104,8 @@ def remove_member(name,member_name):
m = Membership.objects.get(name=name,user=member_name)
if m:
m.send_notification("removed from")
+ if not m.hidden:
+ action.send(m.user,verb='removed from',target=m.name)
m.delete()
if name.nmembers != -1: