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)
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)