1 from django.conf import settings |
1 from django.conf import settings |
|
2 from django.contrib.auth.decorators import login_required |
2 from django.contrib.auth.models import Group, User |
3 from django.contrib.auth.models import Group, User |
3 from django.core.paginator import Paginator, InvalidPage, EmptyPage |
4 from django.core.paginator import Paginator, InvalidPage, EmptyPage |
4 from django.core.urlresolvers import reverse |
5 from django.core.urlresolvers import reverse |
5 from django.db.models import Count |
6 from django.db.models import Count |
6 from django.shortcuts import render_to_response |
7 from django.shortcuts import render_to_response |
48 return render_to_response("front/front_groups.html", |
49 return render_to_response("front/front_groups.html", |
49 {'group_list':group_list, |
50 {'group_list':group_list, |
50 'is_gecko': is_gecko}, |
51 'is_gecko': is_gecko}, |
51 context_instance=RequestContext(request)) |
52 context_instance=RequestContext(request)) |
52 |
53 |
53 |
54 @login_required |
54 def group_info(request, group_id): |
55 def group_info(request, group_id): |
55 |
56 |
56 # Get the active group |
57 # Get the active group |
57 group = Group.objects.select_related("profile").get(id=group_id) |
58 group = Group.objects.select_related("profile").get(id=group_id) |
58 # Get the projects for this group |
59 # Get the projects for this group |
59 project_list = get_group_projects(request.user, group_id, False) |
60 project_list = get_group_projects(request.user, group_id, False, False) |
|
61 proj_title = request.GET.get("title") |
|
62 if proj_title is not None: |
|
63 project_list = project_list.filter(title__icontains=proj_title) |
|
64 |
|
65 nb = settings.LDT_FRONT_PROJECTS_PER_PAGE |
|
66 page = request.GET.get("page") or 1 |
|
67 if page=="x": |
|
68 nb = project_list.count() |
|
69 |
|
70 paginator = Paginator(project_list, nb) |
|
71 try: |
|
72 results = paginator.page(page) |
|
73 except (EmptyPage, InvalidPage): |
|
74 results = paginator.page(paginator.num_pages) |
60 |
75 |
61 ## list of contents annotated by the group (or everyone) |
76 ## list of contents annotated by the group (or everyone) |
62 #everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) |
77 #everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) |
63 #content_list = get_objects_for_group(group, 'ldt_utils.view_content') | get_objects_for_group(everyone, 'ldt_utils.view_content') |
78 #content_list = get_objects_for_group(group, 'ldt_utils.view_content') | get_objects_for_group(everyone, 'ldt_utils.view_content') |
64 |
79 |
66 users = User.objects.filter(groups__in=[group]).exclude(is_superuser=True) |
81 users = User.objects.filter(groups__in=[group]).exclude(is_superuser=True) |
67 |
82 |
68 is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1); |
83 is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1); |
69 |
84 |
70 return render_to_response("front/front_group.html", |
85 return render_to_response("front/front_group.html", |
71 {'group': group, 'content_list':None, 'project_list':project_list, 'users':users, |
86 {'group': group, 'content_list':None, 'results':results, 'users':users, 'project_title':proj_title, |
72 'is_gecko': is_gecko}, |
87 'is_gecko': is_gecko}, |
73 context_instance=RequestContext(request)) |
88 context_instance=RequestContext(request)) |
74 |
89 |
75 |
90 |
76 |
91 |