src/ldt/ldt/ldt_utils/views/front.py
changeset 1128 5007febcce2e
parent 1127 90d0a9d14c68
child 1157 4133f4c57ec8
equal deleted inserted replaced
1127:90d0a9d14c68 1128:5007febcce2e
     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