def user_profile(request, id, page=u'1'): try: profile = Player.objects.get(id=id) except Player.DoesNotExist: raise Http404 avatar = "http://www.gravatar.com/avatar/%s.jpg?d=monsterid"\ % md5(profile.user.email).hexdigest() activity_list = Activity.objects.\ filter(Q(user_to=id) | Q(user_from=id)).order_by('-timestamp') top_user = profile.get_extension(TopUser) top_user.topgroups = list(profile.groups.all().order_by('-gclass')) for g in top_user.topgroups: g.week_evolution = top_user.week_evolution(relative_to=g) g.position = TopHistory.get_user_position(top_user, relative_to=g) history = History.user_points(profile) paginator = Paginator(activity_list, 10) try: activity = paginator.page(page) except (EmptyPage, InvalidPage): activity = paginator.page(paginator.num_pages) profile_actions = '' profile_superuser_actions = '' for g in get_games(): profile_actions += g.get_profile_actions(request, profile) profile_superuser_actions += g.get_profile_superuser_actions( request, profile) # some hackish introspection if hasattr(g, 'user_model'): model = getattr(g, 'user_model') setattr(profile, model.__name__.lower(), profile.get_extension(model)) return render_to_response( 'profile/profile.html', { 'profile': profile, 'avatar': avatar, 'activity': activity, 'top': top_user, 'scoring': history, 'profile_actions': profile_actions, 'profile_superuser_actions': profile_superuser_actions, }, context_instance=RequestContext(request))
def user_profile(request, id, page=u'1'): try: profile = Player.objects.get(id=id) except Player.DoesNotExist: raise Http404 avatar = "http://www.gravatar.com/avatar/%s.jpg?d=monsterid"\ % md5(profile.user.email).hexdigest() activity_list = Activity.objects.\ filter(Q(user_to=id) | Q(user_from=id)).order_by('-timestamp') top_user = profile.get_extension(TopUser) top_user.topgroups = list(profile.groups.all().order_by('-gclass')) for g in top_user.topgroups: g.week_evolution = top_user.week_evolution(relative_to=g) g.position = TopHistory.get_user_position(top_user, relative_to=g) history = History.user_points(profile) paginator = Paginator(activity_list, 10) try: activity = paginator.page(page) except (EmptyPage, InvalidPage): activity = paginator.page(paginator.num_pages) profile_actions = '' profile_superuser_actions = '' for g in get_games(): profile_actions += g.get_profile_actions(request, profile) profile_superuser_actions += g.get_profile_superuser_actions(request, profile) # some hackish introspection if hasattr(g, 'user_model'): model = getattr(g, 'user_model') setattr(profile, model.__name__.lower(), profile.get_extension(model)) return render_to_response('profile/profile.html', {'profile': profile, 'avatar': avatar, 'activity': activity, 'top': top_user, 'scoring': history, 'profile_actions': profile_actions, 'profile_superuser_actions': profile_superuser_actions,}, context_instance=RequestContext(request))
def homepage(request, page=u"1"): """ First page shown """ if request.user.is_anonymous(): return anonymous_homepage(request) profile = request.user.get_profile() # gather users online in the last ten minutes oldest = datetime.datetime.now() - datetime.timedelta(minutes=10) online_last10 = Player.objects.filter(last_seen__gte=oldest).order_by("-last_seen") activity = get_wall(page) topuser = profile.get_extension(TopUser) topgroups = [profile.group] if profile.group else [] for g in topgroups: g.position = TopHistory.get_user_position(topuser, relative_to=g) if detect_mobile(request): template = "mobile_index.html" else: template = "site_index.html" news = NewsItem.objects.all().order_by("-date_pub", "-id") more = False if len(news) > 10: more = True news = news[:10] return render_to_response( template, { "last10": online_last10, "activity": activity, "is_homepage": True, "top": topuser, "topgroups": topgroups, "games": get_games(), "news": news, "more": more, }, context_instance=RequestContext(request), )
def homepage(request, page=u'1'): """ First page shown """ if request.user.is_anonymous(): return anonymous_homepage(request) profile = request.user.get_profile() # gather users online in the last ten minutes oldest = datetime.datetime.now() - datetime.timedelta(minutes=10) online_last10 = Player.objects.filter( last_seen__gte=oldest).order_by('-last_seen') activity = get_wall(page) topuser = profile.get_extension(TopUser) topgroups = [profile.group] if profile.group else [] for g in topgroups: g.position = TopHistory.get_user_position(topuser, relative_to=g) if detect_mobile(request) and BoolSetting.get( 'setting-mobile-version').get_value(): template = 'mobile_index.html' else: template = 'site_index.html' news = NewsItem.objects.all().order_by('-date_pub', '-id') more = False if len(news) > 10: more = True news = news[:10] return render_to_response(template, { 'last10': online_last10, 'activity': activity, 'is_homepage': True, 'top': topuser, 'topgroups': topgroups, 'games': get_games(), 'news': news, 'more': more, }, context_instance=RequestContext(request))
def homepage(request, page=u'1'): """ First page shown """ if request.user.is_anonymous(): return anonymous_homepage(request) profile = request.user.get_profile() # gather users online in the last ten minutes oldest = datetime.datetime.now() - datetime.timedelta(minutes = 10) online_last10 = Player.objects.filter(last_seen__gte=oldest).order_by('-last_seen') activity = get_wall(page) topuser = profile.get_extension(TopUser) topgroups = [profile.group] if profile.group else [] for g in topgroups: g.position = TopHistory.get_user_position(topuser, relative_to=g) if detect_mobile(request): template = 'mobile_index.html' else: template = 'site_index.html' news = NewsItem.objects.all().order_by('-date_pub', '-id') more = False if len(news) > 10: more = True news = news[:10] return render_to_response(template, {'last10': online_last10, 'activity': activity, 'is_homepage': True, 'top': topuser, 'topgroups': topgroups, 'games': get_games(), 'news': news, 'more': more, }, context_instance=RequestContext(request))