- slice_name = request.POST.get('slice_name', '')
- authority_hrn = request.POST.get('authority_hrn', '')
- number_of_nodes = request.POST.get('number_of_nodes', '')
- purpose = request.POST.get('purpose', '')
- email = self.user_email
- cc_myself = True
+
+ # get the domain url
+ current_site = Site.objects.get_current()
+ current_site = current_site.domain
+
+ # getting the authority_hrn from the selected organization
+ for authority in authorities:
+ if authority['name'] == wsgi_request.POST.get('org_name', ''):
+ authority_hrn = authority['authority_hrn']
+
+ # Handle the case when we use only hrn and not name
+ if authority_hrn is None:
+ authority_hrn = wsgi_request.POST.get('org_name', '')
+
+ # Handle project if used
+ project = wsgi_request.POST.get('project', None)
+ if project is not None and project != '':
+ authority_hrn = project
+
+ slice_request = {
+ 'type' : 'slice',
+ 'id' : None,
+ 'user_hrn' : user_hrn,
+ 'email' : user_email,
+ 'timestamp' : time.time(),
+ 'authority_hrn' : authority_hrn,
+ 'organization' : wsgi_request.POST.get('org_name', ''),
+ 'slice_name' : wsgi_request.POST.get('slice_name', ''),
+ 'url' : wsgi_request.POST.get('url', ''),
+ 'purpose' : wsgi_request.POST.get('purpose', ''),
+ 'current_site' : current_site
+ }
+
+ # create slice_hrn based on authority_hrn and slice_name
+ slice_name = slice_request['slice_name']
+ # slice name is unique among all authorities
+ slice_query = Query().get('myslice:slice').select('slice_hrn')
+ slice_details_sfa = execute_admin_query(wsgi_request, slice_query)
+ for _slice in slice_details_sfa:
+ split_list = _slice['slice_hrn'].split('.')
+ sfa_slice_name = split_list[-1]
+ if sfa_slice_name == slice_name:
+ errors.append('Slice already exists. Please use a different slice name.')