Files
caminus/local/context.py
2012-04-23 10:55:18 -04:00

36 lines
1.2 KiB
Python

import models
import forums.models
from django.contrib.auth.forms import AuthenticationForm
from django.db.models import Sum
from donate.models import Donation
from datetime import datetime
from django.conf import settings
def random_quote(request):
quote = models.Quote.objects.order_by('?')
if len(quote) > 0:
return {'quote': quote[0]}
return {}
def forum_activity(request):
latestPosts = forums.models.Post.objects.all().order_by('-updated')[0:5]
return {'latestForumPosts': latestPosts}
def login_form(request):
return {'login_form': AuthenticationForm()}
def donation_info(request):
now = datetime.now()
monthStart = datetime(now.year, now.month, 1)
donations = Donation.objects.filter(created__gt=monthStart).aggregate(Sum('quantity'))
goal = getattr(settings, 'CAMINUS_DONATION_GOAL', 0)
donationTotal = donations['quantity__sum']
if donationTotal is None:
progress = 0
donationTotal = 0
if donationTotal > goal or goal == 0:
progress = 100
else:
progress = donationTotal/goal*100
return {'donation_month_total': donationTotal, 'donation_month_goal': goal, 'donation_goal_progress': progress}