Commit 1c0574a246779c1d3912e88e43094b4c8f72ef94
1 parent
e432b151
Exists in
master
and in
5 other branches
Changing time_spent to timestamp start and end [Issue: #231]
Showing
6 changed files
with
24 additions
and
19 deletions
Show diff stats
core/middleware.py
@@ -15,15 +15,15 @@ class TimeSpentMiddleware(object): | @@ -15,15 +15,15 @@ class TimeSpentMiddleware(object): | ||
15 | if not log_id is None: | 15 | if not log_id is None: |
16 | log = get_object_or_404(Log, id = log_id) | 16 | log = get_object_or_404(Log, id = log_id) |
17 | 17 | ||
18 | - date_time_click = datetime.strptime(request.session.get('time_spent'), "%Y-%m-%d %H:%M:%S.%f") | ||
19 | - _now = datetime.now() | 18 | + #date_time_click = datetime.strptime(request.session.get('time_spent'), "%Y-%m-%d %H:%M:%S.%f") |
19 | + #_now = datetime.now() | ||
20 | 20 | ||
21 | - time_spent = _now - date_time_click | 21 | + #time_spent = _now - date_time_click |
22 | 22 | ||
23 | - secs = time_spent.total_seconds() | ||
24 | - hours = int(secs / 3600) | ||
25 | - minutes = int(secs / 60) % 60 | ||
26 | - secs = secs % 60 | 23 | + #secs = time_spent.total_seconds() |
24 | + #hours = int(secs / 3600) | ||
25 | + #minutes = int(secs / 60) % 60 | ||
26 | + #secs = secs % 60 | ||
27 | 27 | ||
28 | 28 | ||
29 | if type(log.context) == dict: | 29 | if type(log.context) == dict: |
@@ -31,12 +31,12 @@ class TimeSpentMiddleware(object): | @@ -31,12 +31,12 @@ class TimeSpentMiddleware(object): | ||
31 | else: | 31 | else: |
32 | log_context = json.loads(log.context) | 32 | log_context = json.loads(log.context) |
33 | 33 | ||
34 | - time = {} | ||
35 | - time['hours'] = hours | ||
36 | - time['minutes'] = minutes | ||
37 | - time['seconds'] = secs | 34 | + #time = {} |
35 | + #time['hours'] = hours | ||
36 | + #time['minutes'] = minutes | ||
37 | + #time['seconds'] = secs | ||
38 | 38 | ||
39 | - log_context['time_spent'] = time | 39 | + log_context['timestamp_end'] = str(datetime.now()) |
40 | 40 | ||
41 | log.context = log_context | 41 | log.context = log_context |
42 | 42 |
courses/views.py
@@ -345,10 +345,10 @@ class CourseView(LogMixin, NotificationMixin, generic.DetailView): | @@ -345,10 +345,10 @@ class CourseView(LogMixin, NotificationMixin, generic.DetailView): | ||
345 | self.log_context['course_slug'] = course.slug | 345 | self.log_context['course_slug'] = course.slug |
346 | self.log_context['course_category_id'] = course.category.id | 346 | self.log_context['course_category_id'] = course.category.id |
347 | self.log_context['course_category_name'] = course.category.name | 347 | self.log_context['course_category_name'] = course.category.name |
348 | + self.log_context['timestamp_start'] = str(datetime.now()) | ||
348 | 349 | ||
349 | super(CourseView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | 350 | super(CourseView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) |
350 | 351 | ||
351 | - self.request.session['time_spent'] = str(datetime.now()) | ||
352 | self.request.session['log_id'] = Log.objects.latest('id').id | 352 | self.request.session['log_id'] = Log.objects.latest('id').id |
353 | 353 | ||
354 | category_sub = self.kwargs.get('category', None) | 354 | category_sub = self.kwargs.get('category', None) |
@@ -552,10 +552,10 @@ class SubjectsView(LoginRequiredMixin, LogMixin, generic.ListView): | @@ -552,10 +552,10 @@ class SubjectsView(LoginRequiredMixin, LogMixin, generic.ListView): | ||
552 | self.log_context['course_slug'] = subject.course.slug | 552 | self.log_context['course_slug'] = subject.course.slug |
553 | self.log_context['course_category_id'] = subject.course.category.id | 553 | self.log_context['course_category_id'] = subject.course.category.id |
554 | self.log_context['course_category_name'] = subject.course.category.name | 554 | self.log_context['course_category_name'] = subject.course.category.name |
555 | + self.log_context['timestamp_start'] = str(datetime.now()) | ||
555 | 556 | ||
556 | super(SubjectsView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | 557 | super(SubjectsView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) |
557 | 558 | ||
558 | - self.request.session['time_spent'] = str(datetime.now()) | ||
559 | self.request.session['log_id'] = Log.objects.latest('id').id | 559 | self.request.session['log_id'] = Log.objects.latest('id').id |
560 | 560 | ||
561 | return super(SubjectsView, self).dispatch(*args, **kwargs) | 561 | return super(SubjectsView, self).dispatch(*args, **kwargs) |
@@ -657,10 +657,10 @@ class TopicsView(LoginRequiredMixin, LogMixin, generic.ListView): | @@ -657,10 +657,10 @@ class TopicsView(LoginRequiredMixin, LogMixin, generic.ListView): | ||
657 | self.log_context['course_slug'] = topic.subject.course.slug | 657 | self.log_context['course_slug'] = topic.subject.course.slug |
658 | self.log_context['course_category_id'] = topic.subject.course.category.id | 658 | self.log_context['course_category_id'] = topic.subject.course.category.id |
659 | self.log_context['course_category_name'] = topic.subject.course.category.name | 659 | self.log_context['course_category_name'] = topic.subject.course.category.name |
660 | + self.log_context['timestamp_start'] = str(datetime.now()) | ||
660 | 661 | ||
661 | super(TopicsView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | 662 | super(TopicsView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) |
662 | 663 | ||
663 | - self.request.session['time_spent'] = str(datetime.now()) | ||
664 | self.request.session['log_id'] = Log.objects.latest('id').id | 664 | self.request.session['log_id'] = Log.objects.latest('id').id |
665 | 665 | ||
666 | return super(TopicsView, self).dispatch(*args, **kwargs) | 666 | return super(TopicsView, self).dispatch(*args, **kwargs) |
@@ -1003,10 +1003,10 @@ class FileMaterialView(LoginRequiredMixin, LogMixin, generic.DetailView): | @@ -1003,10 +1003,10 @@ class FileMaterialView(LoginRequiredMixin, LogMixin, generic.DetailView): | ||
1003 | self.log_context['course_slug'] = file.topic.subject.course.slug | 1003 | self.log_context['course_slug'] = file.topic.subject.course.slug |
1004 | self.log_context['course_category_id'] = file.topic.subject.course.category.id | 1004 | self.log_context['course_category_id'] = file.topic.subject.course.category.id |
1005 | self.log_context['course_category_name'] = file.topic.subject.course.category.name | 1005 | self.log_context['course_category_name'] = file.topic.subject.course.category.name |
1006 | + self.log_context['timestamp_start'] = str(datetime.now()) | ||
1006 | 1007 | ||
1007 | super(FileMaterialView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | 1008 | super(FileMaterialView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) |
1008 | 1009 | ||
1009 | - self.request.session['time_spent'] = str(datetime.now()) | ||
1010 | self.request.session['log_id'] = Log.objects.latest('id').id | 1010 | self.request.session['log_id'] = Log.objects.latest('id').id |
1011 | 1011 | ||
1012 | return super(FileMaterialView, self).dispatch(*args, **kwargs) | 1012 | return super(FileMaterialView, self).dispatch(*args, **kwargs) |
exam/views.py
@@ -59,10 +59,10 @@ class ViewExam(LoginRequiredMixin, LogMixin, generic.DetailView): | @@ -59,10 +59,10 @@ class ViewExam(LoginRequiredMixin, LogMixin, generic.DetailView): | ||
59 | self.log_context['course_slug'] = exam.topic.subject.course.slug | 59 | self.log_context['course_slug'] = exam.topic.subject.course.slug |
60 | self.log_context['course_category_id'] = exam.topic.subject.course.category.id | 60 | self.log_context['course_category_id'] = exam.topic.subject.course.category.id |
61 | self.log_context['course_category_name'] = exam.topic.subject.course.category.name | 61 | self.log_context['course_category_name'] = exam.topic.subject.course.category.name |
62 | + self.request.session['time_spent'] = str(datetime.now()) | ||
62 | 63 | ||
63 | super(ViewExam, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | 64 | super(ViewExam, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) |
64 | 65 | ||
65 | - self.request.session['time_spent'] = str(datetime.now()) | ||
66 | self.request.session['log_id'] = Log.objects.latest('id').id | 66 | self.request.session['log_id'] = Log.objects.latest('id').id |
67 | 67 | ||
68 | return context | 68 | return context |
@@ -318,6 +318,7 @@ class AnswerStudentExam(LoginRequiredMixin, LogMixin, generic.CreateView): | @@ -318,6 +318,7 @@ class AnswerStudentExam(LoginRequiredMixin, LogMixin, generic.CreateView): | ||
318 | minutes = int(secs / 60) % 60 | 318 | minutes = int(secs / 60) % 60 |
319 | secs = secs % 60 | 319 | secs = secs % 60 |
320 | 320 | ||
321 | + self.log_context['timestamp_end'] = str(datetime.now()) | ||
321 | self.log_context['time_spent'] = {} | 322 | self.log_context['time_spent'] = {} |
322 | self.log_context['time_spent']['hours'] = hours | 323 | self.log_context['time_spent']['hours'] = hours |
323 | self.log_context['time_spent']['minutes'] = minutes | 324 | self.log_context['time_spent']['minutes'] = minutes |
@@ -346,6 +347,7 @@ class AnswerStudentExam(LoginRequiredMixin, LogMixin, generic.CreateView): | @@ -346,6 +347,7 @@ class AnswerStudentExam(LoginRequiredMixin, LogMixin, generic.CreateView): | ||
346 | context['answers'] = answers | 347 | context['answers'] = answers |
347 | context['keys'] = keys | 348 | context['keys'] = keys |
348 | 349 | ||
350 | + self.log_context['timestamp_start'] = str(datetime.now()) | ||
349 | self.request.session['time_spent'] = str(datetime.now()) | 351 | self.request.session['time_spent'] = str(datetime.now()) |
350 | 352 | ||
351 | return context | 353 | return context |
forum/views.py
@@ -229,10 +229,10 @@ class ForumDetailView(LoginRequiredMixin, LogMixin, generic.DetailView): | @@ -229,10 +229,10 @@ class ForumDetailView(LoginRequiredMixin, LogMixin, generic.DetailView): | ||
229 | self.log_context['course_slug'] = forum.topic.subject.course.slug | 229 | self.log_context['course_slug'] = forum.topic.subject.course.slug |
230 | self.log_context['course_category_id'] = forum.topic.subject.course.category.id | 230 | self.log_context['course_category_id'] = forum.topic.subject.course.category.id |
231 | self.log_context['course_category_name'] = forum.topic.subject.course.category.name | 231 | self.log_context['course_category_name'] = forum.topic.subject.course.category.name |
232 | + self.log_context['timestamp_start'] = str(datetime.now()) | ||
232 | 233 | ||
233 | super(ForumDetailView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | 234 | super(ForumDetailView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) |
234 | 235 | ||
235 | - self.request.session['time_spent'] = str(datetime.datetime.now()) | ||
236 | self.request.session['log_id'] = Log.objects.latest('id').id | 236 | self.request.session['log_id'] = Log.objects.latest('id').id |
237 | 237 | ||
238 | return super(ForumDetailView, self).dispatch(*args, **kwargs) | 238 | return super(ForumDetailView, self).dispatch(*args, **kwargs) |
links/views.py
@@ -244,6 +244,7 @@ class ViewLink(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.DetailView): | @@ -244,6 +244,7 @@ class ViewLink(LoginRequiredMixin, HasRoleMixin, LogMixin, generic.DetailView): | ||
244 | self.log_context['course_slug'] = link.topic.subject.course.slug | 244 | self.log_context['course_slug'] = link.topic.subject.course.slug |
245 | self.log_context['course_category_id'] = link.topic.subject.course.category.id | 245 | self.log_context['course_category_id'] = link.topic.subject.course.category.id |
246 | self.log_context['course_category_name'] = link.topic.subject.course.category.name | 246 | self.log_context['course_category_name'] = link.topic.subject.course.category.name |
247 | + self.log_context['timestamp_start'] = str(datetime.now()) | ||
247 | 248 | ||
248 | super(ViewLink, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | 249 | super(ViewLink, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) |
249 | 250 |
poll/views.py
@@ -48,10 +48,10 @@ class ViewPoll(LoginRequiredMixin, LogMixin, generic.DetailView): | @@ -48,10 +48,10 @@ class ViewPoll(LoginRequiredMixin, LogMixin, generic.DetailView): | ||
48 | self.log_context['course_slug'] = poll.topic.subject.course.slug | 48 | self.log_context['course_slug'] = poll.topic.subject.course.slug |
49 | self.log_context['course_category_id'] = poll.topic.subject.course.category.id | 49 | self.log_context['course_category_id'] = poll.topic.subject.course.category.id |
50 | self.log_context['course_category_name'] = poll.topic.subject.course.category.name | 50 | self.log_context['course_category_name'] = poll.topic.subject.course.category.name |
51 | + self.log_context['timestamp_start'] = str(datetime.now()) | ||
51 | 52 | ||
52 | super(ViewPoll, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) | 53 | super(ViewPoll, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context) |
53 | 54 | ||
54 | - self.request.session['time_spent'] = str(datetime.datetime.now()) | ||
55 | self.request.session['log_id'] = Log.objects.latest('id').id | 55 | self.request.session['log_id'] = Log.objects.latest('id').id |
56 | 56 | ||
57 | return poll | 57 | return poll |
@@ -315,6 +315,7 @@ class AnswerStudentPoll(LoginRequiredMixin, LogMixin, generic.CreateView): | @@ -315,6 +315,7 @@ class AnswerStudentPoll(LoginRequiredMixin, LogMixin, generic.CreateView): | ||
315 | def dispatch(self, *args, **kwargs): | 315 | def dispatch(self, *args, **kwargs): |
316 | if self.request.method == 'GET': | 316 | if self.request.method == 'GET': |
317 | self.request.session['time_spent'] = str(datetime.datetime.now()) | 317 | self.request.session['time_spent'] = str(datetime.datetime.now()) |
318 | + self.log_context['timestamp_start'] = str(datetime.now()) | ||
318 | 319 | ||
319 | return super(AnswerStudentPoll, self).dispatch(*args, **kwargs) | 320 | return super(AnswerStudentPoll, self).dispatch(*args, **kwargs) |
320 | 321 | ||
@@ -344,6 +345,7 @@ class AnswerStudentPoll(LoginRequiredMixin, LogMixin, generic.CreateView): | @@ -344,6 +345,7 @@ class AnswerStudentPoll(LoginRequiredMixin, LogMixin, generic.CreateView): | ||
344 | self.log_context['course_slug'] = poll.topic.subject.course.slug | 345 | self.log_context['course_slug'] = poll.topic.subject.course.slug |
345 | self.log_context['course_category_id'] = poll.topic.subject.course.category.id | 346 | self.log_context['course_category_id'] = poll.topic.subject.course.category.id |
346 | self.log_context['course_category_name'] = poll.topic.subject.course.category.name | 347 | self.log_context['course_category_name'] = poll.topic.subject.course.category.name |
348 | + self.log_context['timestamp_end'] = str(datetime.now()) | ||
347 | 349 | ||
348 | date_time_click = datetime.datetime.strptime(self.request.session.get('time_spent'), "%Y-%m-%d %H:%M:%S.%f") | 350 | date_time_click = datetime.datetime.strptime(self.request.session.get('time_spent'), "%Y-%m-%d %H:%M:%S.%f") |
349 | _now = datetime.datetime.now() | 351 | _now = datetime.datetime.now() |