view apps/profile/views.py @ 29:6ba969517b9c

Implement initial profiles, cleanup models, change Free_license to FreeLicense
author Jordi Gutiérrez Hermoso <jordigh@gmail.com>
date Wed, 30 Jun 2010 00:04:34 -0500
parents
children f14aaa98306a
line wrap: on
line source

from django.shortcuts import render_to_response, get_object_or_404
from agora.apps.profile.models import *
from django.contrib.auth.models import User
from django.http import Http404
from agora.apps.free_license.models import FreeLicense
from agora.apps.bundle.models import Bundle
from agora.apps.snippet.models import Snippet

def showprofile(request, user):
    u = get_object_or_404(User, username=user)

    #Inactive users "don't exist"
    if not u.is_active:
        raise Http404

    try:
        p = u.get_profile()
    #Create a default profile if none exists
    except Profile.DoesNotExist:
        #At least one FreeLicense *must* exist.
        p = Profile(user=u, preferred_license=FreeLicense.objects.get(id=1))
        p.save()

    b = Bundle.objects.filter(uploader=u)
    s = Snippet.objects.filter(uploader=u)

    return render_to_response('user.djhtml', {'user' : u,
                                              'profile' : p,
                                              'bundles' : b,
                                              'snippets' :s,
                                              })