Example #1
0
def profile(request):
    """ User Profile Page """

    try:
        user = User.objects.get(id=request.user.id)
        user_profile = UserProfile.objects.get(user=user.id)
        membership = Membership.objects.get(id=user_profile.membership.id)

    except ObjectDoesNotExist:
        if request.user.is_superuser:
            # Hacky fix to take superusers w/out a profile to the
            # right place
            return HttpResponseRedirect('/mushroom_admin/')

        else:
            error = "We cannot find you user profile. "
            error += "Please contact the BMC admin."
            return error_404(request, error)
    
    # Pull up list of walks in the users' area
    areas = user_profile.areas.all()
    walks_in_area = []
    for area in areas:
        walks_in_area += Walk.objects.filter(
            areas=area,
            date__gte=datetime.date.today()
            )

    # Eliminate duplicate entries
    walks_in_area=unique(walks_in_area)
     
    template = 'profile.html'
    ctxt = { 
        'request' : request, 
        'walks_in_area' : walks_in_area,
        'user' : user,
        'user_profile' : user_profile,
        'membership' : membership,
        'forms' : forms,
        'page_name' : 'Profile',
        'media_url' : MEDIA_URL,
        }
    return render_to_response(template, ctxt)
Example #2
0
def schedule(request):
    """ Displays the clubs schedule of activities. """
    template = 'schedule.html'

    walks_in_area = []
    public_walks = Walk.objects.filter(
        public=True,
        date__gte=datetime.date.today(),
        )
    id_sessions = IDSession.objects.filter(
        when__gte=datetime.date.today()
        )

    if request.user.is_authenticated:
        try:
            user_profile = UserProfile.objects.get(
                user=request.user.id
                )
            areas = user_profile.areas.all()

            walks_in_area = []
            for area in areas:
                walks_in_area += Walk.objects.filter(
                    areas=area,
                    date__gte=datetime.date.today()
                    )
            walks_in_area=unique(walks_in_area)

        except ObjectDoesNotExist:
            pass

    ctxt = {
        'public_walks' : public_walks,
        'id_sessions' : id_sessions,
        'media_url' : MEDIA_URL,
        'request' : request,
        'walks_in_area' : walks_in_area,
        'page_name' : 'Schedule',
        }
    return render_to_response(template, ctxt)