From c7eef476cbd1dd1e13e11e9e8fa2935439f4ae7e Mon Sep 17 00:00:00 2001 From: Leif Johansson Date: Tue, 8 Nov 2011 10:20:05 +0100 Subject: generate actions for activity streams --- coip/apps/invitation/views.py | 9 +++++++++ coip/apps/membership/models.py | 8 ++++++++ 2 files changed, 17 insertions(+) (limited to 'coip') 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: -- cgit v1.1