Revision ccab6eb5 snf-astakos-app/astakos/im/views.py
b/snf-astakos-app/astakos/im/views.py | ||
---|---|---|
97 | 97 |
) |
98 | 98 |
#from astakos.im.tasks import request_billing |
99 | 99 |
from astakos.im.api.callpoint import AstakosCallpoint |
100 |
# from .generic_views import create_object
|
|
100 |
from astakos.im.notifications import NotificationError
|
|
101 | 101 |
|
102 | 102 |
import astakos.im.messages as astakos_messages |
103 | 103 |
from astakos.im import settings |
... | ... | |
1452 | 1452 |
|
1453 | 1453 |
def how_it_works(request): |
1454 | 1454 |
return render_response( |
1455 |
template='im/how_it_works.html',
|
|
1456 |
context_instance=get_context(request),)
|
|
1455 |
'im/how_it_works.html', |
|
1456 |
context_instance=get_context(request)) |
|
1457 | 1457 |
|
1458 | 1458 |
@require_http_methods(["GET", "POST"]) |
1459 | 1459 |
@signed_terms_required |
1460 | 1460 |
@login_required |
1461 |
# @transaction.commit_manually |
|
1461 | 1462 |
def project_add(request): |
1462 | 1463 |
result = callpoint.list_resources() |
1463 | 1464 |
resource_catalog = ResourcePresentation(RESOURCES_PRESENTATION_DATA) |
... | ... | |
1469 | 1470 |
'Unable to retrieve system resources: %s' % result.reason |
1470 | 1471 |
) |
1471 | 1472 |
extra_context = {'resource_catalog':resource_catalog} |
1472 |
return create_object(request, template_name='im/projects/projectapplication_form.html', |
|
1473 |
extra_context=extra_context, post_save_redirect='/im/project/list/', |
|
1474 |
form_class=ProjectApplicationForm) |
|
1473 |
|
|
1474 |
try: |
|
1475 |
r = create_object(request, template_name='im/projects/projectapplication_form.html', |
|
1476 |
extra_context=extra_context, post_save_redirect='/im/project/list/', |
|
1477 |
form_class=ProjectApplicationForm) |
|
1478 |
# transaction.commit() |
|
1479 |
return r |
|
1480 |
except NotificationError, e: |
|
1481 |
messages.error(request, e.message) |
|
1482 |
# transaction.rollback() |
|
1483 |
return render_response( |
|
1484 |
'im/projects/projectapplication_form.html', |
|
1485 |
sorting = 'definition__name', |
|
1486 |
form = ProjectApplicationForm(), |
|
1487 |
context_instance=get_context(request, extra_context) |
|
1488 |
) |
|
1489 |
|
|
1475 | 1490 |
|
1476 | 1491 |
@require_http_methods(["GET"]) |
1477 | 1492 |
@signed_terms_required |
... | ... | |
1481 | 1496 |
q |= ProjectApplication.objects.filter( |
1482 | 1497 |
project__in=request.user.projectmembership_set.values_list('project', flat=True) |
1483 | 1498 |
) |
1499 |
q = q.select_related() |
|
1484 | 1500 |
sorting = 'definition__name' |
1485 | 1501 |
sort_form = ProjectSortForm(request.GET) |
1486 | 1502 |
if sort_form.is_valid(): |
... | ... | |
1502 | 1518 |
@require_http_methods(["GET", "POST"]) |
1503 | 1519 |
@signed_terms_required |
1504 | 1520 |
@login_required |
1505 |
def project_update(request, serial):
|
|
1521 |
def project_update(request, id):
|
|
1506 | 1522 |
result = callpoint.list_resources() |
1507 | 1523 |
resource_catalog = ResourcePresentation(RESOURCES_PRESENTATION_DATA) |
1508 | 1524 |
resource_catalog.update_from_result(result) |
... | ... | |
1515 | 1531 |
extra_context = {'resource_catalog':resource_catalog} |
1516 | 1532 |
return update_object( |
1517 | 1533 |
request, |
1518 |
slug=serial,
|
|
1519 |
slug_field='projectapplication__serial',
|
|
1534 |
slug=id,
|
|
1535 |
slug_field='projectapplication__id',
|
|
1520 | 1536 |
template_name='im/projects/projectapplication_form.html', |
1521 | 1537 |
extra_context=extra_context, post_save_redirect='/im/project/list/', |
1522 | 1538 |
form_class=ProjectApplicationForm) |
... | ... | |
1524 | 1540 |
# @require_http_methods(["GET", "POST"]) |
1525 | 1541 |
# @signed_terms_required |
1526 | 1542 |
# @login_required |
1527 |
# def project_application_detail(request, serial):
|
|
1543 |
# def project_application_detail(request, id):
|
|
1528 | 1544 |
# return object_detail( |
1529 | 1545 |
# request, |
1530 | 1546 |
# queryset=ProjectApplication.objects.select_related(), |
1531 |
# slug=serial, |
|
1532 |
# slug_field='serial', |
|
1547 |
# object_id=id, |
|
1533 | 1548 |
# template_name='im/projects/projectapplication_detail.html' |
1534 | 1549 |
# ) |
1535 | 1550 |
|
1536 | 1551 |
@require_http_methods(["GET", "POST"]) |
1537 | 1552 |
@signed_terms_required |
1538 | 1553 |
@login_required |
1539 |
def project_detail(request, serial):
|
|
1554 |
def project_detail(request, id):
|
|
1540 | 1555 |
result = callpoint.list_resources() |
1541 | 1556 |
resource_catalog = ResourcePresentation(RESOURCES_PRESENTATION_DATA) |
1542 | 1557 |
resource_catalog.update_from_result(result) |
1558 |
|
|
1559 |
if request.method == 'POST': |
|
1560 |
addmembers_form = AddGroupMembersForm(request.POST) |
|
1561 |
if addmembers_form.is_valid(): |
|
1562 |
try: |
|
1563 |
obj = Project.objects.get(id=id) |
|
1564 |
map(obj.approve_member, addmembers_form.valid_users) |
|
1565 |
except AssertionError: |
|
1566 |
msg = _(astakos_messages.GROUP_MAX_PARTICIPANT_NUMBER_REACHED) |
|
1567 |
messages.error(request, msg) |
|
1568 |
except AssertionError: |
|
1569 |
msg = _(astakos_messages.GROUP_MAX_PARTICIPANT_NUMBER_REACHED) |
|
1570 |
messages.error(request, msg) |
|
1571 |
addmembers_form = AddGroupMembersForm() |
|
1572 |
|
|
1543 | 1573 |
return object_detail( |
1544 | 1574 |
request, |
1545 | 1575 |
queryset=ProjectApplication.objects.select_related(), |
1546 |
slug=serial, |
|
1547 |
slug_field='serial', |
|
1576 |
object_id=id, |
|
1548 | 1577 |
template_name='im/projects/project_detail.html', |
1549 | 1578 |
extra_context={ |
1550 | 1579 |
'resource_catalog':resource_catalog, |
1551 |
'sorting':request.GET.get('sorting', request.POST.get('sorting')) |
|
1580 |
'sorting':request.GET.get('sorting', request.POST.get('sorting')), |
|
1581 |
'addmembers_form':AddGroupMembersForm() |
|
1552 | 1582 |
} |
1553 | 1583 |
) |
1554 | 1584 |
|
... | ... | |
1567 | 1597 |
@require_http_methods(["GET", "POST"]) |
1568 | 1598 |
@signed_terms_required |
1569 | 1599 |
@login_required |
1570 |
def project_join(request, serial):
|
|
1600 |
def project_join(request, id):
|
|
1571 | 1601 |
pass |
1572 | 1602 |
|
1573 | 1603 |
@require_http_methods(["GET", "POST"]) |
1574 | 1604 |
@signed_terms_required |
1575 | 1605 |
@login_required |
1576 |
def project_leave(request, serial):
|
|
1606 |
def project_leave(request, id):
|
|
1577 | 1607 |
pass |
1578 | 1608 |
|
1579 | 1609 |
@require_http_methods(["POST"]) |
1580 | 1610 |
@signed_terms_required |
1581 | 1611 |
@login_required |
1582 |
def project_approve_member(request, serial, user_id):
|
|
1612 |
def project_approve_member(request, id, user_id):
|
|
1583 | 1613 |
pass |
1584 | 1614 |
|
1585 | 1615 |
@require_http_methods(["POST"]) |
1586 | 1616 |
@signed_terms_required |
1587 | 1617 |
@login_required |
1588 |
def project_remove_member(request, serial, user_id):
|
|
1618 |
def project_remove_member(request, id, user_id):
|
|
1589 | 1619 |
pass |
1590 | 1620 |
|
Also available in: Unified diff