slice_name = request['slice_name'],
user_hrn = request['user_hrn'],
authority_hrn = request['authority_hrn'],
- number_of_nodes = request['number_of_nodes'],
+ number_of_nodes = request['exp_url'],
purpose = request['purpose'],
)
s.save()
# Validate input
UserModel = get_user_model()
if (re.search(r'^[\w+\s.@+-]+$', user_request['first_name']) == None):
- errors.append('First Name may contain only letters, numbers, spaces and @/./+/-/_ characters.')
+ errors.append('First name may contain only letters, numbers, spaces and @/./+/-/_ characters.')
if (re.search(r'^[\w+\s.@+-]+$', user_request['last_name']) == None):
- errors.append('Last Name may contain only letters, numbers, spaces and @/./+/-/_ characters.')
+ errors.append('Last name may contain only letters, numbers, spaces and @/./+/-/_ characters.')
# checking in django_db !!
if PendingUser.objects.filter(email__iexact = user_request['email']):
errors.append('Email is pending for validation. Please provide a new email address.')
from myslice.theme import ThemeView
-import json, time
+import json, time, re
class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView):
template_name = 'slicerequest_view.html'
"""
"""
errors = []
-
+ slice_name =''
+ purpose=''
+ exp_url=''
# Retrieve the list of authorities
authorities_query = Query.get('authority').select('name', 'authority_hrn')
authorities = execute_admin_query(wsgi_request, authorities_query)
'authority_hrn' : authority_hrn,
'organization' : wsgi_request.POST.get('org_name', ''),
'slice_name' : wsgi_request.POST.get('slice_name', ''),
- 'number_of_nodes' : wsgi_request.POST.get('number_of_nodes', ''),
+ 'exp_url' : wsgi_request.POST.get('exp_url', ''),
'purpose' : wsgi_request.POST.get('purpose', ''),
'current_site' : current_site
}
+ exp_url = slice_request['exp_url']
+
authority_hrn = slice_request['authority_hrn']
if (authority_hrn is None or authority_hrn == ''):
errors.append('Please, select an authority')
# What kind of slice name is valid?
slice_name = slice_request['slice_name']
if (slice_name is None or slice_name == ''):
- errors.append('Slice Name is mandatory')
+ errors.append('Slice name is mandatory')
+
+ if (re.search(r'^[A-Za-z0-9_]*$', slice_name) == None):
+ errors.append('Slice name may contain only letters, numbers, and underscore.')
+
purpose = slice_request['purpose']
if (purpose is None or purpose == ''):
'username': wsgi_request.user.email,
'topmenu_items': topmenu_items_live('Request a slice', page),
'errors': errors,
+ 'slice_name': slice_name,
+ 'purpose': purpose,
'email': user_email,
'user_hrn': user_hrn,
+ 'exp_url': exp_url,
'pi': pi,
'authority_name': authority_name,
'cc_myself': True,
<input type="email" class="form-control" id="email" style="width:300px" value="{{ email }}" readonly="readonly">
</div>
<div class="form-group">
- <input type="text" class="form-control" name="slice_name" id="slice_name" style="width:300px" placeholder="Slice Name"
+ <input type="text" class="form-control" name="slice_name" id="slice_name" style="width:300px" placeholder="Slice name" value="{{slice_name}}"
title="Please enter a name for your slice"required="required">
</div>
<div class="form-group">
{%endif%}
</div>
<div class="form-group">
- <input type="text" class="form-control" name="number_of_nodes" id="number_of_nodes" style="width:300px" placeholder="Experiment URL (if one exists)"
- title="Please provide the url of your experiment if you have one.">
+ <input type="text" class="form-control" name="exp_url" id="exp_url" style="width:300px" placeholder="Experiment URL (if one exists)"
+ title="Please provide the url of your experiment if you have one." value="{{exp_url}}">
</div>
<div class="form-group">
<textarea id="purpose" name="purpose" class="form-control" rows="6" placeholder="Experiment Purpose" style="width:300px"
<br>
<h1>NEW SLICE REQUEST</h1>
<br>
-<b>slice name :</b> {{slice_name}}</br>
-<b>number of nodes :</b> {{number_of_nodes}}</br>
-<b>purpose :</b> {{purpose}}</br>
-<b>organization :</b> {{organization}}
-<b>email :</b> {{email}}</br>
+<b>Slice name :</b> {{slice_name}}</br>
+<b>URL :</b> {{exp_url}}</br>
+<b>Purpose :</b> {{purpose}}</br>
+<b>Organization :</b> {{organization}}</br>
+<b>Email :</b> {{email}}</br>
<b>Portal url :</b> {{current_site}}</br>
NEW SLICE REQUEST
-slice name : {{slice_name}}
-number of nodes : {{number_of_nodes}}
-purpose : {{purpose}}
-email : {{email}}
-organization : {{organization}}
+Slice name : {{slice_name}}
+URL : {{exp_url}}
+Purpose : {{purpose}}
+Email : {{email}}
+Organization : {{organization}}
Portal url : {{current_site}}