# HG changeset patch # User ymh # Date 1467585079 -7200 # Node ID d3804d2eaf2dc0215a24b25414474540e20b06aa # Parent ada126bb171a75613f8af6634e2b7db0563a0703 add trace for read and edit diff -r ada126bb171a -r d3804d2eaf2d server/src/metaeducation/tracking/__init__.py --- a/server/src/metaeducation/tracking/__init__.py Sun Jul 03 18:51:40 2016 +0200 +++ b/server/src/metaeducation/tracking/__init__.py Mon Jul 04 00:31:19 2016 +0200 @@ -1,4 +1,4 @@ from .tasks import send_tracking_data -from .messages import send_close_renkan +from .messages import send_close_renkan, send_open_edit_renkan, send_open_read_renkan -__all__ = ['send_tracking_data', 'send_close_renkan'] +__all__ = ['send_tracking_data', 'send_close_renkan', 'send_open_read_renkan', 'send_open_edit_renkan'] diff -r ada126bb171a -r d3804d2eaf2d server/src/metaeducation/tracking/messages.py --- a/server/src/metaeducation/tracking/messages.py Sun Jul 03 18:51:40 2016 +0200 +++ b/server/src/metaeducation/tracking/messages.py Mon Jul 04 00:31:19 2016 +0200 @@ -73,7 +73,6 @@ return 'urn:mtdc:renkan:renkan:%s' % renkan_id; - def send_close_renkan(renkan, current_user, registration): msg = get_base_message('close', renkan.renkan_guid, current_user, registration) @@ -93,3 +92,44 @@ } send_tracking_data(msg) + + +def send_open_read_renkan(renkan, current_user, registration): + msg = get_base_message('open_read', renkan.renkan_guid, current_user, registration) + + msg['object'] = { + **(msg['object']), + **{ + "definition": { + "name": { + 'fr-FR': renkan.title + }, + "type": "http://www.w3.org/ns/activitystreams#Renkan", + "extensions": { + 'http://www.w3.org/ns/activitystreams#Data': json.loads(renkan.content), + } + } + } + } + + send_tracking_data(msg) + +def send_open_edit_renkan(renkan, current_user, registration): + msg = get_base_message('open_edit', renkan.renkan_guid, current_user, registration) + + msg['object'] = { + **(msg['object']), + **{ + "definition": { + "name": { + 'fr-FR': renkan.title + }, + "type": "http://www.w3.org/ns/activitystreams#Renkan", + "extensions": { + 'http://www.w3.org/ns/activitystreams#Data': json.loads(renkan.content), + } + } + } + } + + send_tracking_data(msg) diff -r ada126bb171a -r d3804d2eaf2d server/src/metaeducation/views/renkan.py --- a/server/src/metaeducation/views/renkan.py Sun Jul 03 18:51:40 2016 +0200 +++ b/server/src/metaeducation/views/renkan.py Mon Jul 04 00:31:19 2016 +0200 @@ -1,12 +1,16 @@ import logging, json, uuid + from django.conf import settings from django.core.urlresolvers import reverse from django.http import HttpResponse, HttpResponseRedirect -from django.shortcuts import render +from django.shortcuts import render, get_object_or_404 from django.views.generic import TemplateView, View + from renkanmanager.api.views import RenkanDetail from renkanmanager.models import Renkan from renkanmanager.serializers import RenkanSerializer + +from metaeducation.tracking import send_open_read_renkan, send_open_edit_renkan from metaeducation import __version__ logger = logging.getLogger(__name__) @@ -47,6 +51,13 @@ context['registration'] = str(uuid.uuid4()) return context + def get(self, request, *args, **kwargs): + renkan = get_object_or_404(Renkan.objects.select_related('current_revision'), renkan_guid=kwargs['renkan_guid']) + context = self.get_context_data(**kwargs) + send_open_read_renkan(renkan, str(request.user.external_id), str(context['registration'])) + return self.render_to_response(context) + + class EditRenkanView(TemplateView): template_name = "renkan_edit.html" @@ -55,6 +66,12 @@ context['registration'] = str(uuid.uuid4()) return context + def get(self, request, *args, **kwargs): + renkan = get_object_or_404(Renkan.objects.select_related('current_revision'), renkan_guid=kwargs['renkan_guid']) + context = self.get_context_data(**kwargs) + send_open_edit_renkan(renkan, str(request.user.external_id), str(context['registration'])) + return self.render_to_response(context) + class DeleteRenkanView(View):