diff --git a/botweb/karma/models.py b/botweb/karma/models.py index c0788d4..7e8850a 100644 --- a/botweb/karma/models.py +++ b/botweb/karma/models.py @@ -8,6 +8,10 @@ class LogEntry(models.Model): userhost = models.CharField(max_length=512) timestamp = models.DateTimeField(db_column='karmatime') + def __unicode__(self): + return "%s given %s by %s on %s" % (self.key, self.delta, + self.who, self.timestamp) + class Meta: db_table = 'karma_log' ordering = ['timestamp'] @@ -18,6 +22,13 @@ class User(models.Model): pos = models.IntegerField() neg = models.IntegerField() + def _get_total(self): + return self.pos + self.neg + total = property(_get_total) + + def __unicode__(self): + return "Karma User %s (%s/%s)" % (self.who, self,pos, self.neg) + class Meta: db_table = 'karma_users' ordering = ['who'] @@ -27,6 +38,9 @@ class Value(models.Model): key = models.CharField(max_length=255, primary_key=True) value = models.IntegerField() + def __unicode__(self): + return "Karma Value %s (%s)" % (self.key, self.value) + class Meta: db_table = 'karma_values' ordering = ['value'] diff --git a/botweb/karma/urls.py b/botweb/karma/urls.py new file mode 100755 index 0000000..3525c1e --- /dev/null +++ b/botweb/karma/urls.py @@ -0,0 +1,7 @@ +from django.conf.urls.defaults import * + +urlpatterns = patterns('karma.views', + (r'^$', 'index'), + (r'^givers/$', 'givers'), + (r'^stats/$', 'stats'), +) diff --git a/botweb/karma/views.py b/botweb/karma/views.py index 60f00ef..c689fea 100644 --- a/botweb/karma/views.py +++ b/botweb/karma/views.py @@ -1 +1,16 @@ -# Create your views here. +from django.shortcuts import render_to_response +from karma.models import Value, User + +def index(request): + karma_values = len(Value.objects.all()) + karma_users = len(User.objects.all()) + return render_to_response('karma/index.html', {'value_count': karma_values, + 'user_count': karma_users}) + +def stats(request): + values = Value.objects.all().order_by('-value') + return render_to_response('karma/stats.html', {'values': values}) + +def givers(request): + users = User.objects.all().order_by('who') + return render_to_response('karma/givers.html', {'users': users}) diff --git a/botweb/settings.py b/botweb/settings.py index cbdd876..ea7a70f 100644 --- a/botweb/settings.py +++ b/botweb/settings.py @@ -83,10 +83,15 @@ MIDDLEWARE_CLASSES = ( ROOT_URLCONF = 'botweb.urls' +TEMPLATE_BASE_LOC = os.path.normpath( + os.path.join(os.path.abspath(os.path.dirname(__file__)), + 'templates')) + TEMPLATE_DIRS = ( # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. + TEMPLATE_BASE_LOC, ) INSTALLED_APPS = ( @@ -104,3 +109,4 @@ INSTALLED_APPS = ( if __name__ == "__main__": print DB_LOCATION + print TEMPLATE_DIRS diff --git a/botweb/templates/karma/givers.html b/botweb/templates/karma/givers.html new file mode 100755 index 0000000..3854f59 --- /dev/null +++ b/botweb/templates/karma/givers.html @@ -0,0 +1,7 @@ + diff --git a/botweb/templates/karma/index.html b/botweb/templates/karma/index.html new file mode 100755 index 0000000..ad47470 --- /dev/null +++ b/botweb/templates/karma/index.html @@ -0,0 +1,4 @@ + diff --git a/botweb/templates/karma/stats.html b/botweb/templates/karma/stats.html new file mode 100755 index 0000000..4507414 --- /dev/null +++ b/botweb/templates/karma/stats.html @@ -0,0 +1,7 @@ +
    + {% for value in values %} +
  1. + {{ value.key }} ({{ value.value }}) +
  2. + {% endfor %} +
diff --git a/botweb/urls.py b/botweb/urls.py index aa9ad1b..066d59e 100644 --- a/botweb/urls.py +++ b/botweb/urls.py @@ -6,9 +6,7 @@ from django.conf.urls.defaults import * urlpatterns = patterns( '', - (r'^karma/$', 'karma.views.index'), - (r'^karma/givers/$', 'karma.views.givers'), - (r'^karma/stats/$', 'karma.views.stats'), + (r'^karma/', include('karma.urls')), # Example: # (r'^botweb/', include('botweb.foo.urls')),