Merge branch 'karma-graphs' into 'master'
Create karma graph report page See merge request !7
This commit is contained in:
		
						commit
						82c1b1babd
					
				| @ -141,6 +141,13 @@ EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend' | |||||||
| EMAIL_FILE_PATH = BASE_DIR | EMAIL_FILE_PATH = BASE_DIR | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | # bootstrap3 | ||||||
|  | BOOTSTRAP3 = { | ||||||
|  |     'include_jquery': True, | ||||||
|  |     'javascript_in_head': True, | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| # registration | # registration | ||||||
| LOGIN_REDIRECT_URL = reverse_lazy('index') | LOGIN_REDIRECT_URL = reverse_lazy('index') | ||||||
| ACCOUNT_ACTIVATION_DAYS = 7 | ACCOUNT_ACTIVATION_DAYS = 7 | ||||||
|  | |||||||
| @ -13,6 +13,7 @@ urlpatterns = patterns('', | |||||||
|     url(r'^$', TemplateView.as_view(template_name='index.html'), name='home'), |     url(r'^$', TemplateView.as_view(template_name='index.html'), name='home'), | ||||||
| 
 | 
 | ||||||
|     url(r'^dispatch/', include('dispatch.urls')), |     url(r'^dispatch/', include('dispatch.urls')), | ||||||
|  |     url(r'^karma/', include('karma.urls')), | ||||||
|     url(r'^markov/', include('markov.urls')), |     url(r'^markov/', include('markov.urls')), | ||||||
|     url(r'^races/', include('races.urls')), |     url(r'^races/', include('races.urls')), | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -52,6 +52,21 @@ class KarmaKey(models.Model): | |||||||
|                 return rank+1 |                 return rank+1 | ||||||
|         return None |         return None | ||||||
| 
 | 
 | ||||||
|  |     def history(self): | ||||||
|  |         """Determine the score for this karma entry at every delta.""" | ||||||
|  | 
 | ||||||
|  |         history = [] | ||||||
|  | 
 | ||||||
|  |         entries = KarmaLogEntry.objects.filter(key=self).order_by('created') | ||||||
|  |         for entry in entries: | ||||||
|  |             timestamp = entry.created | ||||||
|  |             delta = entry.delta | ||||||
|  |             score = KarmaLogEntry.objects.filter(key=self).filter(created__lte=entry.created).aggregate(models.Sum('delta'))['delta__sum'] | ||||||
|  | 
 | ||||||
|  |             history.append((timestamp, delta, score)) | ||||||
|  | 
 | ||||||
|  |         return history | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class KarmaLogEntryManager(models.Manager): | class KarmaLogEntryManager(models.Manager): | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										34
									
								
								dr_botzo/karma/templates/karma/karma_key.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								dr_botzo/karma/templates/karma/karma_key.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | {% extends 'base.html' %} | ||||||
|  | {% load static %} | ||||||
|  | 
 | ||||||
|  | {% block extra_media %} | ||||||
|  | <script type="text/javascript" src="{% get_static_prefix %}js/Chart.min.js"></script> | ||||||
|  | {% endblock %} | ||||||
|  | 
 | ||||||
|  | {% block title %}karma: {{ entry.key }}{% endblock %} | ||||||
|  | 
 | ||||||
|  | {% block content %} | ||||||
|  |   <h3>{{ entry.key }}</h3> | ||||||
|  |   <canvas id="karma_history"></canvas> | ||||||
|  |   <script type="text/javascript"> | ||||||
|  |     Chart.defaults.global.responsive = true; | ||||||
|  |     Chart.defaults.global.maintainAspectRatio = true; | ||||||
|  |     var ctx = $("#karma_history").get(0).getContext("2d"); | ||||||
|  |     var data = { | ||||||
|  |       labels: [{% for x in entry.history %}"{{ x.0 }}", {% endfor %}], | ||||||
|  |       datasets: [ | ||||||
|  |         { | ||||||
|  |           label: "{{ entry.key }}", | ||||||
|  |           fillColor: "rgba(220,220,220,0.2)", | ||||||
|  |           strokeColor: "rgba(220,220,220,1)", | ||||||
|  |           pointColor: "rgba(220,220,220,1)", | ||||||
|  |           pointStrokeColor: "#fff", | ||||||
|  |           pointHighlightFill: "#fff", | ||||||
|  |           pointHighlightStroke: "rgba(220,220,220,1)", | ||||||
|  |           data: [{% for x in entry.history %}{{ x.2 }}, {% endfor %}] | ||||||
|  |         } | ||||||
|  |       ] | ||||||
|  |     }; | ||||||
|  |     var myLineChart = new Chart(ctx).Line(data); | ||||||
|  |   </script> | ||||||
|  | {% endblock %} | ||||||
							
								
								
									
										11
									
								
								dr_botzo/karma/urls.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								dr_botzo/karma/urls.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | """URL patterns for the karma views.""" | ||||||
|  | 
 | ||||||
|  | from django.conf.urls import patterns, url | ||||||
|  | from django.views.generic import TemplateView | ||||||
|  | 
 | ||||||
|  | from karma.views import key_detail | ||||||
|  | 
 | ||||||
|  | urlpatterns = patterns('races.views', | ||||||
|  |     url(r'^$', TemplateView.as_view(template_name='index.html'), name='karma_index'), | ||||||
|  |     url(r'^key/(?P<karma_key>.+)/', key_detail, name='karma_key_detail'), | ||||||
|  | ) | ||||||
							
								
								
									
										17
									
								
								dr_botzo/karma/views.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								dr_botzo/karma/views.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | |||||||
|  | """Present karma data.""" | ||||||
|  | 
 | ||||||
|  | import logging | ||||||
|  | 
 | ||||||
|  | from django.shortcuts import get_object_or_404, render | ||||||
|  | 
 | ||||||
|  | from karma.models import KarmaKey | ||||||
|  | 
 | ||||||
|  | log = logging.getLogger('karma.views') | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def key_detail(request, karma_key): | ||||||
|  |     """Display the requested karma key.""" | ||||||
|  | 
 | ||||||
|  |     entry = get_object_or_404(KarmaKey, key=karma_key) | ||||||
|  | 
 | ||||||
|  |     return render(request, 'karma/karma_key.html', {'entry': entry}) | ||||||
							
								
								
									
										11
									
								
								dr_botzo/static/js/Chart.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								dr_botzo/static/js/Chart.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @ -72,6 +72,7 @@ | |||||||
|         </div> |         </div> | ||||||
|         {% block navbar_menu %} |         {% block navbar_menu %} | ||||||
|           <ul class="nav navbar-nav"> |           <ul class="nav navbar-nav"> | ||||||
|  |             <li><a href="{% url 'karma_index' %}">Karma</a></li> | ||||||
|             <li><a href="{% url 'markov_index' %}">Markov</a></li> |             <li><a href="{% url 'markov_index' %}">Markov</a></li> | ||||||
|             <li><a href="{% url 'races_index' %}">Races</a></li> |             <li><a href="{% url 'races_index' %}">Races</a></li> | ||||||
|           </ul> |           </ul> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user