Revision 8327782d snf-astakos-app/astakos/im/views.py
b/snf-astakos-app/astakos/im/views.py | ||
---|---|---|
54 | 54 |
from django.utils.http import urlencode |
55 | 55 |
from django.utils.translation import ugettext as _ |
56 | 56 |
from django.views.generic.create_update import ( |
57 |
create_object, delete_object, get_model_and_form_class |
|
57 |
create_object, update_object, delete_object, get_model_and_form_class
|
|
58 | 58 |
) |
59 | 59 |
from django.views.generic.list_detail import object_list, object_detail |
60 | 60 |
from django.core.xheaders import populate_xheaders |
... | ... | |
80 | 80 |
MembersSortForm, AstakosGroupSortForm, |
81 | 81 |
TimelineForm, PickResourceForm, |
82 | 82 |
AstakosGroupCreationSummaryForm, |
83 |
ProjectApplicationForm |
|
83 |
ProjectApplicationForm, ProjectSortForm
|
|
84 | 84 |
) |
85 | 85 |
from astakos.im.functions import ( |
86 | 86 |
send_feedback, SendMailError, |
... | ... | |
783 | 783 |
yield g, self.get_group_resources(g) |
784 | 784 |
|
785 | 785 |
def get_quota(self, group_quotas): |
786 |
for r, v in group_quotas.iteritems():
|
|
786 |
for r, v in group_quotas: |
|
787 | 787 |
rname = str(r) |
788 | 788 |
quota = self.data['resources'].get(rname) |
789 | 789 |
quota['value'] = v |
... | ... | |
1481 | 1481 |
q |= ProjectApplication.objects.filter( |
1482 | 1482 |
project__in=request.user.projectmembership_set.values_list('project', flat=True) |
1483 | 1483 |
) |
1484 |
sorting = 'definition__name' |
|
1485 |
sort_form = ProjectSortForm(request.GET) |
|
1486 |
if sort_form.is_valid(): |
|
1487 |
sorting = sort_form.cleaned_data.get('sorting') |
|
1488 |
q = q.order_by(sorting) |
|
1489 |
|
|
1484 | 1490 |
return object_list( |
1485 | 1491 |
request, |
1486 | 1492 |
q, |
... | ... | |
1489 | 1495 |
template_name='im/projects/project_list.html', |
1490 | 1496 |
extra_context={ |
1491 | 1497 |
'is_search':False, |
1492 |
'sorting':request.GET.get('sorting'),
|
|
1498 |
'sorting':request.GET.get('sorting') |
|
1493 | 1499 |
} |
1494 | 1500 |
) |
1495 | 1501 |
|
1496 |
|
|
1497 | 1502 |
@require_http_methods(["GET", "POST"]) |
1498 | 1503 |
@signed_terms_required |
1499 | 1504 |
@login_required |
1500 |
def project_application_detail(request, serial): |
|
1501 |
return object_detail( |
|
1505 |
def project_update(request, serial): |
|
1506 |
result = callpoint.list_resources() |
|
1507 |
resource_catalog = ResourcePresentation(RESOURCES_PRESENTATION_DATA) |
|
1508 |
resource_catalog.update_from_result(result) |
|
1509 |
|
|
1510 |
if not result.is_success: |
|
1511 |
messages.error( |
|
1512 |
request, |
|
1513 |
'Unable to retrieve system resources: %s' % result.reason |
|
1514 |
) |
|
1515 |
extra_context = {'resource_catalog':resource_catalog} |
|
1516 |
return update_object( |
|
1502 | 1517 |
request, |
1503 |
queryset=ProjectApplication.objects.select_related(), |
|
1504 | 1518 |
slug=serial, |
1505 |
slug_field='serial', |
|
1506 |
template_name='im/projects/projectapplication_detail.html' |
|
1507 |
) |
|
1519 |
slug_field='projectapplication__serial', |
|
1520 |
template_name='im/projects/projectapplication_form.html', |
|
1521 |
extra_context=extra_context, post_save_redirect='/im/project/list/', |
|
1522 |
form_class=ProjectApplicationForm) |
|
1523 |
|
|
1524 |
# @require_http_methods(["GET", "POST"]) |
|
1525 |
# @signed_terms_required |
|
1526 |
# @login_required |
|
1527 |
# def project_application_detail(request, serial): |
|
1528 |
# return object_detail( |
|
1529 |
# request, |
|
1530 |
# queryset=ProjectApplication.objects.select_related(), |
|
1531 |
# slug=serial, |
|
1532 |
# slug_field='serial', |
|
1533 |
# template_name='im/projects/projectapplication_detail.html' |
|
1534 |
# ) |
|
1508 | 1535 |
|
1509 | 1536 |
@require_http_methods(["GET", "POST"]) |
1510 | 1537 |
@signed_terms_required |
1511 | 1538 |
@login_required |
1512 | 1539 |
def project_detail(request, serial): |
1540 |
result = callpoint.list_resources() |
|
1541 |
resource_catalog = ResourcePresentation(RESOURCES_PRESENTATION_DATA) |
|
1542 |
resource_catalog.update_from_result(result) |
|
1513 | 1543 |
return object_detail( |
1514 | 1544 |
request, |
1515 | 1545 |
queryset=ProjectApplication.objects.select_related(), |
... | ... | |
1517 | 1547 |
slug_field='serial', |
1518 | 1548 |
template_name='im/projects/project_detail.html', |
1519 | 1549 |
extra_context={ |
1520 |
'sorting':request.GET.get('sorting', request.POST.get('sorting')), |
|
1550 |
'resource_catalog':resource_catalog, |
|
1551 |
'sorting':request.GET.get('sorting', request.POST.get('sorting')) |
|
1521 | 1552 |
} |
1522 | 1553 |
) |
1523 | 1554 |
|
Also available in: Unified diff