From 76d1f7cd5458feb42cd3e6cde27dbce56a2db41b Mon Sep 17 00:00:00 2001 From: Johan Lundberg Date: Tue, 1 Apr 2014 17:35:51 +0200 Subject: Content user view created --- meetingtools/apps/content/templatetags/__init__.py | 2 ++ .../apps/content/templatetags/content_tags.py | 21 +++++++++++++++++++ meetingtools/apps/content/views.py | 24 ++++++++++++++++++++++ meetingtools/urls.py | 1 + 4 files changed, 48 insertions(+) create mode 100644 meetingtools/apps/content/templatetags/__init__.py create mode 100644 meetingtools/apps/content/templatetags/content_tags.py create mode 100644 meetingtools/apps/content/views.py (limited to 'meetingtools') diff --git a/meetingtools/apps/content/templatetags/__init__.py b/meetingtools/apps/content/templatetags/__init__.py new file mode 100644 index 0000000..3250cb8 --- /dev/null +++ b/meetingtools/apps/content/templatetags/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +__author__ = 'lundberg' diff --git a/meetingtools/apps/content/templatetags/content_tags.py b/meetingtools/apps/content/templatetags/content_tags.py new file mode 100644 index 0000000..29cb98e --- /dev/null +++ b/meetingtools/apps/content/templatetags/content_tags.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +__author__ = 'lundberg' + +from django import template +import math + +register = template.Library() + + +def humanize_bytes(b): + try: + size_name = ('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB') + i = int(math.floor(math.log(b, 1024))) + p = math.pow(1024, i) + s = round(b / p, 2) + if s > 0: + return '%s %s' % (s, size_name[i]) + except TypeError: + return 'TypeError' + +register.filter('humanize_bytes', humanize_bytes) \ No newline at end of file diff --git a/meetingtools/apps/content/views.py b/meetingtools/apps/content/views.py new file mode 100644 index 0000000..c830af0 --- /dev/null +++ b/meetingtools/apps/content/views.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +__author__ = 'lundberg' + +from django.contrib.auth.decorators import login_required +from django.db.models import Sum +from django.contrib.humanize.templatetags.humanize import naturalday +from django.http import HttpResponseForbidden, HttpResponseBadRequest +from meetingtools.apps.stats.models import UserMeetingTransaction +from iso8601 import iso8601 +from time import mktime +from meetingtools.multiresponse import json_response, respond_to +from meetingtools.apps.stats.forms import StatCaledarForm +from django.shortcuts import get_object_or_404 +from meetingtools.apps.content.models import Content + + +@login_required +def user(request, username=None): + if username is None: + username = request.user.username + content = Content.objects.filter(creator__username=username) + total_bytecount = content.aggregate(Sum('bytecount')) + return respond_to(request,{'text/html': 'apps/content/user.html'}, + {'username': username, 'content': content, 'total_bytecount': total_bytecount}) \ No newline at end of file diff --git a/meetingtools/urls.py b/meetingtools/urls.py index 762114a..6db9934 100644 --- a/meetingtools/urls.py +++ b/meetingtools/urls.py @@ -61,4 +61,5 @@ urlpatterns = patterns('', (r'^stats/user/(.+)$','meetingtools.apps.stats.views.user'), (r'^stats/domain/(.+)$','meetingtools.apps.stats.views.domain'), (r'^stats/room/(\d+)$','meetingtools.apps.stats.views.room'), + (r'^content$', 'meetingtools.apps.content.views.user'), ) -- cgit v1.1