def read(self, request, group_id, type=None): try: group = PlayerGroup.objects.get(pk=group_id) except PlayerGroup.DoesNotExist: return rc.NOT_FOUND gh = GroupHistory(group) fp, q = get_fullpath(request) if type is None: # General information return { 'id': group.id, 'name': group.name, 'points': group.live_points, 'members': group.players.count(), 'rank': gh.position, 'activity': '%sactivity/%s' % (fp, q), 'evolution': '%sevolution/%s' % (fp, q), } elif type == 'activity': qs = Activity.get_group_activiy(group) return [ dict(user_from=unicode(a.user_from), user_to=unicode(a.user_to), message=a.message, date=a.timestamp) for a in qs ] elif type == 'evolution': return gh.week_evolution()
def player_group(request, id, page=u'1'): group = get_object_or_404(PlayerGroup, pk=id) top_users = group.players.all().order_by('-points') subgroups = group.children if group.parent: sistergroups = NewHistory.get_children_top(group.parent, PlayerGroup) else: sistergroups = None history = GroupHistory(group) for g in group.sisters: g.top = GroupHistory(g) activity_list = Activity.get_group_activiy(group) paginator = Paginator(activity_list, 10) try: activity = paginator.page(page) except (EmptyPage, InvalidPage): activity = paginator.page(paginator.num_pages) return render_to_response('profile/group.html', { 'group': group, 'top_users': top_users, 'subgroups': subgroups, 'sistergroups': sistergroups, 'top': history, 'activity': activity, }, context_instance=RequestContext(request))
def player_group(request, id, page=u'1'): group = get_object_or_404(PlayerGroup, pk=id) top_users = group.player_set.all().order_by('-points') subgroups = group.children.order_by('-points') if group.parent: sistergroups = group.parent.children.exclude( show_in_top=False).order_by('-points') else: sistergroups = PlayerGroup.objects.filter(gclass=group.gclass).exclude( show_in_top=False).order_by('-points') history = GroupHistory(group) for g in group.sisters: g.top = GroupHistory(g) activity_list = Activity.objects.\ filter(Q(user_to__groups=group) | Q(user_from__groups=group)).distinct().order_by('-timestamp') paginator = Paginator(activity_list, 10) try: activity = paginator.page(page) except (EmptyPage, InvalidPage): activity = paginator.page(paginator.num_pages) return render_to_response('profile/group.html', { 'group': group, 'top_users': top_users, 'subgroups': subgroups, 'sistergroups': sistergroups, 'top': history, 'activity': activity, }, context_instance=RequestContext(request))
def groups_index(request): PlayerGroup.top = lambda(self): GroupHistory(self) groups = PlayerGroup.objects.exclude(parent=None).order_by('name') return render_to_response('profile/groups.html', {'groups': groups}, context_instance=RequestContext(request))
def read(self, request, group_id, type=None): try: group = PlayerGroup.objects.get(pk=group_id) except PlayerGroup.DoesNotExist: return rc.NOT_FOUND gh = GroupHistory(group) fp, q = get_fullpath(request) if type is None: # General information return { 'id': group.id, 'name': group.name, 'points': group.live_points, 'members': group.players.count(), 'rank': gh.position, 'activity': '%sactivity/%s' % (fp, q), 'evolution': '%sevolution/%s' % (fp, q)} elif type == 'activity': qs = Activity.get_group_activiy(group) return [dict(user_from=unicode(a.user_from), user_to=unicode(a.user_to), message=a.message, date=a.timestamp) for a in qs] elif type == 'evolution': return gh.week_evolution()