--- 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']
--- 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)
--- 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):