Revision 8fb8d0cf snf-astakos-app/astakos/im/views/projects.py

b/snf-astakos-app/astakos/im/views/projects.py
121 121
            post_save_redirect=reverse('project_list'),
122 122
            form_class=ProjectApplicationForm,
123 123
            msg=_("The %(verbose_name)s has been received and "
124
                  "is under consideration."),
125
            )
124
                  "is under consideration."))
126 125

  
127 126
    if response is not None:
128 127
        return response
......
136 135
@cookie_fix
137 136
@valid_astakos_user_required
138 137
def project_list(request):
139
    projects = ProjectApplication.objects.user_accessible_projects(request.user).select_related()
138
    projects = ProjectApplication.objects.user_accessible_projects(
139
        request.user).select_related()
140 140
    table = tables.UserProjectApplicationsTable(projects, user=request.user,
141 141
                                                prefix="my_projects_")
142
    RequestConfig(request, paginate={"per_page": settings.PAGINATE_BY}).configure(table)
142
    RequestConfig(request,
143
                  paginate={"per_page": settings.PAGINATE_BY}).configure(table)
143 144

  
144 145
    return object_list(
145 146
        request,
146 147
        projects,
147 148
        template_name='im/projects/project_list.html',
148 149
        extra_context={
149
            'is_search':False,
150
            'is_search': False,
150 151
            'table': table,
151 152
        })
152 153

  
......
170 171
    next = restrict_next(next, domain=settings.COOKIE_DOMAIN)
171 172
    return redirect(next)
172 173

  
174

  
173 175
@commit_on_success_strict()
174 176
def _project_app_cancel(request, application_id):
175 177
    chain_id = None
......
249 251
    next = restrict_next(next, domain=settings.COOKIE_DOMAIN)
250 252
    return redirect(next)
251 253

  
254

  
252 255
@require_http_methods(["GET", "POST"])
253 256
@cookie_fix
254 257
@valid_astakos_user_required
255 258
def project_app(request, application_id):
256 259
    return common_detail(request, application_id, project_view=False)
257 260

  
261

  
258 262
@require_http_methods(["GET", "POST"])
259 263
@cookie_fix
260 264
@valid_astakos_user_required
261 265
def project_detail(request, chain_id):
262 266
    return common_detail(request, chain_id)
263 267

  
268

  
264 269
@commit_on_success_strict()
265 270
def addmembers(request, chain_id, addmembers_form):
266 271
    if addmembers_form.is_valid():
267 272
        try:
268 273
            chain_id = int(chain_id)
269
            map(lambda u: enroll_member(
270
                    chain_id,
271
                    u,
272
                    request_user=request.user),
274
            map(lambda u: enroll_member(chain_id,
275
                                        u,
276
                                        request_user=request.user),
273 277
                addmembers_form.valid_users)
274 278
        except (IOError, PermissionDenied), e:
275 279
            messages.error(request, e)
......
304 308
        if project:
305 309
            members = project.projectmembership_set.select_related()
306 310
            approved_members_count = \
307
                    project.count_actually_accepted_memberships()
311
                project.count_actually_accepted_memberships()
308 312
            pending_members_count = project.count_pending_memberships()
309 313
            if members_status_filter in (ProjectMembership.REQUESTED,
310
                ProjectMembership.ACCEPTED):
314
                                         ProjectMembership.ACCEPTED):
311 315
                members = members.filter(state=members_status_filter)
312 316
            members_table = tables.ProjectMembersTable(project,
313 317
                                                       members,
......
335 339
        m = _(astakos_messages.NOT_ALLOWED)
336 340
        raise PermissionDenied(m)
337 341

  
338
    if (not (is_owner or is_project_admin) and project_view and
339
        not user.non_owner_can_view(project)):
342
    if (
343
        not (is_owner or is_project_admin) and project_view and
344
        not user.non_owner_can_view(project)
345
    ):
340 346
        m = _(astakos_messages.NOT_ALLOWED)
341 347
        raise PermissionDenied(m)
342 348

  
......
370 376
            'mem_display': mem_display,
371 377
            'can_join_request': can_join_req,
372 378
            'can_leave_request': can_leave_req,
373
            'members_status_filter':members_status_filter,
374
            })
379
            'members_status_filter': members_status_filter,
380
        })
381

  
375 382

  
376 383
@require_http_methods(["GET", "POST"])
377 384
@cookie_fix
......
394 401
        accepted_projects = request.user.projectmembership_set.filter(
395 402
            ~Q(acceptance_date__isnull=True)).values_list('project', flat=True)
396 403
        projects = ProjectApplication.objects.search_by_name(q)
397
        projects = projects.filter(~Q(project__last_approval_date__isnull=True))
404
        projects = projects.filter(
405
            ~Q(project__last_approval_date__isnull=True))
398 406
        projects = projects.exclude(project__in=accepted_projects)
399 407

  
400 408
    table = tables.UserProjectApplicationsTable(projects, user=request.user,
......
404 412
    else:
405 413
        table.caption = _('ALL PROJECTS')
406 414

  
407
    RequestConfig(request, paginate={"per_page": settings.PAGINATE_BY}).configure(table)
415
    RequestConfig(request,
416
                  paginate={"per_page": settings.PAGINATE_BY}).configure(table)
408 417

  
409 418
    return object_list(
410 419
        request,
411 420
        projects,
412 421
        template_name='im/projects/project_list.html',
413 422
        extra_context={
414
          'form': form,
415
          'is_search': True,
416
          'q': q,
417
          'table': table
423
            'form': form,
424
            'is_search': True,
425
            'q': q,
426
            'table': table
418 427
        })
419 428

  
429

  
420 430
@require_http_methods(["POST"])
421 431
@cookie_fix
422 432
@valid_astakos_user_required
......
429 439
    with ExceptionHandler(request):
430 440
        _project_join(request, chain_id)
431 441

  
432

  
433 442
    next = restrict_next(next, domain=settings.COOKIE_DOMAIN)
434 443
    return redirect(next)
435 444

  
......
503 512
        messages.error(request, e)
504 513

  
505 514

  
506

  
507 515
@require_http_methods(["POST"])
508 516
@cookie_fix
509 517
@valid_astakos_user_required

Also available in: Unified diff