Revision f243d667 snf-astakos-app/astakos/im/views/projects.py

b/snf-astakos-app/astakos/im/views/projects.py
135 135
@cookie_fix
136 136
@valid_astakos_user_required
137 137
def project_list(request):
138
    projects = ProjectApplication.objects.user_accessible_projects(
138
    projects = Project.objects.user_accessible_projects(
139 139
        request.user).select_related()
140
    table = tables.UserProjectApplicationsTable(projects, user=request.user,
141
                                                prefix="my_projects_")
140
    table = tables.UserProjectsTable(projects, user=request.user,
141
                                     prefix="my_projects_")
142 142
    RequestConfig(request,
143 143
                  paginate={"per_page": settings.PAGINATE_BY}).configure(table)
144 144

  
......
320 320
            flt = MEMBERSHIP_STATUS_FILTER.get(members_status_filter)
321 321
            if flt is not None:
322 322
                members = flt(members)
323
            else:
324
                members = members.associated()
323 325
            members = members.select_related()
324 326
            members_table = tables.ProjectMembersTable(project,
325 327
                                                       members,
......
338 340
        members_table = None
339 341
        addmembers_form = None
340 342

  
341
    modifications_table = None
342

  
343 343
    user = request.user
344 344
    is_project_admin = user.is_project_admin(application_id=application.id)
345 345
    is_owner = user.owns_application(application)
......
354 354
        m = _(astakos_messages.NOT_ALLOWED)
355 355
        raise PermissionDenied(m)
356 356

  
357
    following_applications = list(application.pending_modifications())
358
    following_applications.reverse()
359
    modifications_table = (
360
        tables.ProjectModificationApplicationsTable(following_applications,
361
                                                    user=request.user,
362
                                                    prefix="modifications_"))
363

  
364 357
    mem_display = user.membership_display(project) if project else None
365 358
    can_join_req = can_join_request(project, user) if project else False
366 359
    can_leave_req = can_leave_request(project, user) if project else False
......
380 373
            'members_table': members_table,
381 374
            'owner_mode': is_owner,
382 375
            'admin_mode': is_project_admin,
383
            'modifications_table': modifications_table,
384 376
            'mem_display': mem_display,
385 377
            'can_join_request': can_join_req,
386 378
            'can_leave_request': can_leave_req,
......
405 397
            q = None
406 398

  
407 399
    if q is None:
408
        projects = ProjectApplication.objects.none()
400
        projects = Project.objects.none()
409 401
    else:
410
        accepted_projects = request.user.projectmembership_set.filter(
411
            ~Q(acceptance_date__isnull=True)).values_list('project', flat=True)
412
        projects = ProjectApplication.objects.search_by_name(q)
413
        projects = projects.filter(
414
            ~Q(project__last_approval_date__isnull=True))
415
        projects = projects.exclude(project__in=accepted_projects)
416

  
417
    table = tables.UserProjectApplicationsTable(projects, user=request.user,
418
                                                prefix="my_projects_")
402
        accepted = request.user.projectmembership_set.filter(
403
            state__in=ProjectMembership.ACCEPTED_STATES).values_list(
404
                'project', flat=True)
405

  
406
        projects = Project.objects.search_by_name(q)
407
        projects = projects.filter(Project.o_state_q(Project.O_ACTIVE))
408
        projects = projects.exclude(id__in=accepted)
409

  
410
    table = tables.UserProjectsTable(projects, user=request.user,
411
                                     prefix="my_projects_")
419 412
    if request.method == "POST":
420 413
        table.caption = _('SEARCH RESULTS')
421 414
    else:

Also available in: Unified diff