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}