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