From: Jordan Augé Date: Wed, 28 Aug 2013 08:42:11 +0000 (+0200) Subject: Merge branch 'jordan' of ssh://git.onelab.eu/git/myslice into jordan X-Git-Tag: myslice-0.2-1~41 X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=commitdiff_plain;h=d7fd4a2f12d405812f6a0de5c1a3625d9affe701 Merge branch 'jordan' of ssh://git.onelab.eu/git/myslice into jordan Conflicts: portal/views.py --- d7fd4a2f12d405812f6a0de5c1a3625d9affe701 diff --cc portal/views.py index 87f6cb69,7f96de71..a29beaed --- a/portal/views.py +++ b/portal/views.py @@@ -27,8 -27,8 +27,10 @@@ from django.contrib impor from django.views.generic import View from django.views.generic.base import TemplateView from django.shortcuts import render +from django.template.loader import render_to_string +from django.core.mail import send_mail + from django.utils.decorators import method_decorator + from django.contrib.auth.decorators import login_required from plugins.lists.simplelist import SimpleList from plugins.hazelnut import Hazelnut @@@ -844,42 -889,16 +920,42 @@@ def contact(request) }) - + @login_required def slice_request(request): - if request.method == 'POST': # If the form has been submitted... - form = SliceRequestForm(request.POST) # A form bound to the POST data - if form.is_valid(): # All validation rules pass - # Process the data in form.cleaned_data - slice_name = form.cleaned_data['slice_name'] + errors = [] + + authorities_query = Query.get('authority').filter_by('authority_hrn', 'included', ['ple.inria', 'ple.upmc']).select('name', 'authority_hrn') + #authorities_query = Query.get('authority').select('authority_hrn') + authorities = execute_query(request, authorities_query) + + authority_hrn_tuple = [] + for authority in authorities: + authority_hrn_tuple.append((authority['authority_hrn'], authority['name'])) + authority_hrn_initial = {'authority_hrn': authority_hrn_tuple} + + # request.POST or None ? + if request.method == 'POST': + # The form has been submitted + form = SliceRequestForm(request.POST, initial=authority_hrn_initial) + + if form.is_valid(): + slice_name = form.cleaned_data['slice_name'] + authority_hrn = form.cleaned_data['authority_hrn'] number_of_nodes = form.cleaned_data['number_of_nodes'] - type_of_nodes = form.cleaned_data['type_of_nodes'] - purpose = form.cleaned_data['purpose'] + type_of_nodes = form.cleaned_data['type_of_nodes'] + purpose = form.cleaned_data['purpose'] + + s = PendingSlice( + slice_name = slice_name, + authority_hrn = authority_hrn, + number_of_nodes = number_of_nodes, + type_of_nodes = type_of_nodes, + purpose = purpose + ) + s.save() + + # All validation rules pass; process data in form.cleaned_data + # slice_name, number_of_nodes, type_of_nodes, purpose email = form.cleaned_data['email'] # email of the sender cc_myself = form.cleaned_data['cc_myself']