Revision b10ceccd snf-astakos-app/astakos/im/views/projects.py
b/snf-astakos-app/astakos/im/views/projects.py | ||
---|---|---|
138 | 138 |
messages.error(request, e) |
139 | 139 |
|
140 | 140 |
|
141 |
def get_user_projects_table(projects, user, prefix): |
|
142 |
apps = ProjectApplication.objects.pending_per_project(projects) |
|
143 |
memberships = user.projectmembership_set.one_per_project() |
|
144 |
objs = ProjectMembership.objects |
|
145 |
accepted_ms = objs.any_accepted_per_project(projects) |
|
146 |
requested_ms = objs.requested_per_project(projects) |
|
147 |
return tables.UserProjectsTable(projects, user=user, |
|
148 |
prefix=prefix, |
|
149 |
pending_apps=apps, |
|
150 |
memberships=memberships, |
|
151 |
accepted=accepted_ms, |
|
152 |
requested=requested_ms) |
|
153 |
|
|
154 |
|
|
141 | 155 |
@require_http_methods(["GET"]) |
142 | 156 |
@cookie_fix |
143 | 157 |
@valid_astakos_user_required |
144 | 158 |
def project_list(request): |
145 |
projects = Project.objects.user_accessible_projects( |
|
146 |
request.user).select_related() |
|
147 |
table = tables.UserProjectsTable(projects, user=request.user, |
|
148 |
prefix="my_projects_") |
|
159 |
projects = Project.objects.user_accessible_projects(request.user) |
|
160 |
table = get_user_projects_table(projects, user=request.user, |
|
161 |
prefix="my_projects_") |
|
149 | 162 |
RequestConfig(request, |
150 | 163 |
paginate={"per_page": settings.PAGINATE_BY}).configure(table) |
151 | 164 |
|
... | ... | |
424 | 437 |
|
425 | 438 |
projects = Project.objects.search_by_name(q) |
426 | 439 |
projects = projects.filter(Project.o_state_q(Project.O_ACTIVE)) |
427 |
projects = projects.exclude(id__in=accepted) |
|
440 |
projects = projects.exclude(id__in=accepted).select_related( |
|
441 |
'application', 'application__owner', 'application__applicant') |
|
428 | 442 |
|
429 |
table = tables.UserProjectsTable(projects, user=request.user,
|
|
430 |
prefix="my_projects_")
|
|
443 |
table = get_user_projects_table(projects, user=request.user,
|
|
444 |
prefix="my_projects_") |
|
431 | 445 |
if request.method == "POST": |
432 | 446 |
table.caption = _('SEARCH RESULTS') |
433 | 447 |
else: |
Also available in: Unified diff