add registration info
authorymh <ymh.work@gmail.com>
Sun, 03 Jul 2016 18:51:40 +0200
changeset 75 ada126bb171a
parent 74 fa4fd5e8b54e
child 76 d3804d2eaf2d
add registration info
server/src/metaeducation/static/metaeducation/js/mtdc-tracking-worker.js
server/src/metaeducation/templates/renkan_edit.html
server/src/metaeducation/templates/renkan_view.html
server/src/metaeducation/views/renkan.py
--- a/server/src/metaeducation/static/metaeducation/js/mtdc-tracking-worker.js	Sun Jul 03 14:16:07 2016 +0200
+++ b/server/src/metaeducation/static/metaeducation/js/mtdc-tracking-worker.js	Sun Jul 03 18:51:40 2016 +0200
@@ -28,16 +28,14 @@
                 },
                 data: JSON.stringify(trackingMessages),
                 contentType: 'application/json'
-            }).done(function(data) {
-                console.log('Send tracking info success', data);
             }).fail(function(){
                 console.log('send tracking data failed', trackingMessages);
-            });
+            }); // this is fire and forget. Nothong to do on done
         }
 
         var trackingWorker = {
             trackingMessages: [],
-            currentUser: renkan.currentUser,
+            currentUser: renkan.current_user,
             renkan: renkan,
             trackingUrl: trackingUrl,
             trackingCloseUrl: trackingCloseUrl,
@@ -189,6 +187,7 @@
                 $.ajax({
                     method: 'POST',
                     url: this.trackingCloseUrl,
+                    async: false,
                     headers: {
                         'X-CSRFToken': this.csrftoken
                     },
@@ -197,11 +196,9 @@
                         'registration': this.registration
                     }
 
-                }).done(function() {
-                    console.log('Send close tracking info success');
                 }).fail(function(){
                     console.log('send tracking data failed');
-                });
+                }); // this is fire and forget. Nothong tpo do on failed
             }
 
         };
--- a/server/src/metaeducation/templates/renkan_edit.html	Sun Jul 03 14:16:07 2016 +0200
+++ b/server/src/metaeducation/templates/renkan_edit.html	Sun Jul 03 18:51:40 2016 +0200
@@ -50,7 +50,7 @@
           });
           _renkan.setCurrentUser('{{ user.external_id }}', '{{ user.username }}');
 
-          var trackingWorker = Mtdc.TrackingWorker(_renkan, "{% url 'tracking_view' %}", "{% url 'tracking_view_close' %}");
+          var trackingWorker = Mtdc.TrackingWorker(_renkan, "{% url 'tracking_view' %}", "{% url 'tracking_view_close' %}", "{{ registration }}");
 
           Rkns.mtdcTracking(_renkan, trackingWorker);
           Rkns.mtdcJsonIO(_renkan, {
--- a/server/src/metaeducation/templates/renkan_view.html	Sun Jul 03 14:16:07 2016 +0200
+++ b/server/src/metaeducation/templates/renkan_view.html	Sun Jul 03 18:51:40 2016 +0200
@@ -4,6 +4,7 @@
 {% block js_import %}
   {{block.super}}
   <script src="{% static 'renkanmanager/lib/jquery-mousewheel/jquery.mousewheel.js' %}"></script>
+  <script src="{% static 'metaeducation/lib/js.cookie.min.js' %}"></script>
   <script src="{% static 'renkanmanager/lib/lodash/lodash.js' %}"></script>
   <script src="{% static 'renkanmanager/lib/backbone/backbone.js' %}"></script>
   <script src="{% static 'renkanmanager/lib/backbone-relational/backbone-relational.js' %}"></script>
@@ -16,6 +17,7 @@
   <script src="{% static 'renkanmanager/lib/requirejs/require.js' %}"></script>
   <script src="{% static 'renkanmanager/lib/renkan/js/renkan.js' %}"></script>
   <script src="{% static 'metaeducation/js/mtdc-save.js' %}"></script>
+  <script src="{% static 'metaeducation/js/mtdc-tracking-worker.js' %}"></script>
   <script type="text/javascript">
 
       function startRenkan(){
@@ -25,7 +27,7 @@
               show_bins: false,
               language: "{{LANGUAGE_CODE}}",
               user_authenticated: true,
-              user_id: "{{ user.id }}",       
+              user_id: "{{ user.id }}",
               user_name: "{{ user.username }}",
               url_parameters: false,
               update_url: false,
@@ -49,6 +51,12 @@
           Rkns.mtdcJsonIO(_renkan, {
               url: "{% url 'v1.0:renkan_detail' renkan_guid=renkan_guid %}?content_only=true"
           });
+          var trackingWorker = Mtdc.TrackingWorker(_renkan, "{% url 'tracking_view' %}", "{% url 'tracking_view_close' %}", "{{ registration }}");
+
+          $(window).on('beforeunload', function(e) {
+              trackingWorker.closeProject();
+          });
+
       };
   </script>
 {% endblock js_import %}
@@ -78,4 +86,4 @@
       </div>
     </div>
   </div>
-{% endblock main_content %}
\ No newline at end of file
+{% endblock main_content %}
--- a/server/src/metaeducation/views/renkan.py	Sun Jul 03 14:16:07 2016 +0200
+++ b/server/src/metaeducation/views/renkan.py	Sun Jul 03 18:51:40 2016 +0200
@@ -1,4 +1,4 @@
-import logging, json
+import logging, json, uuid
 from django.conf import settings
 from django.core.urlresolvers import reverse
 from django.http import HttpResponse, HttpResponseRedirect
@@ -42,10 +42,19 @@
 
 class ViewRenkanView(TemplateView):
     template_name = "renkan_view.html"
+    def get_context_data(self, **kwargs):
+        context = super(ViewRenkanView, self).get_context_data(**kwargs)
+        context['registration'] = str(uuid.uuid4())
+        return context
 
 
 class EditRenkanView(TemplateView):
     template_name = "renkan_edit.html"
+    def get_context_data(self, **kwargs):
+        context = super(EditRenkanView, self).get_context_data(**kwargs)
+        context['registration'] = str(uuid.uuid4())
+        return context
+
 
 class DeleteRenkanView(View):