authorities_query = Query.get('authority').select('name', 'authority_hrn')
authorities = execute_admin_query(request, authorities_query)
if authorities is not None:
- authorities = sorted(authorities, key=lambda k: k['authority_hrn'])
- authorities = sorted(authorities, key=lambda k: k['name'])
+ # Remove the root authority from the list
+ matching = [s for s in authorities if "." in s['authority_hrn']]
+ authorities = sorted(matching, key=lambda k: k['authority_hrn'])
+ authorities = sorted(matching, key=lambda k: k['name'])
return authorities
def getUserAuthority(self, request):
'purpose' : wsgi_request.POST.get('purpose', ''),
}
- if (post['authority_hrn'] is None or post['authority_hrn'] == ''):
- errors.append('Organization is mandatory')
+ #if (post['authority_hrn'] is None or post['authority_hrn'] == ''):
+ # errors.append('Organization is mandatory')
if (post['purpose'] is None or post['purpose'] == ''):
- errors.append('Experiment purpose is mandatory')
+ errors.append('Project purpose is mandatory')
if (re.search(r'^[A-Za-z0-9_]*$', post['project_name']) == None):
errors.append('Project name may contain only letters, numbers, and underscore.')
# What kind of project name is valid?
if (post['project_name'] is None or post['project_name'] == ''):
errors.append('Project name is mandatory')
+
+ # max project_name length is 10
+ if (len(post['project_name']) >10):
+ errors.append('Project name can be maximum 10 characters long')
+
if not errors:
print "is_pi on auth_hrn = ", user_authority
hrn = post['authority_hrn'] + '.' + post['project_name']
sfa_add_authority(wsgi_request, {'authority_hrn':hrn})
authority_add_pis(wsgi_request, hrn, user_hrn)
- self.template_name = 'slice-request-done-view.html'
+ self.template_name = 'project-request-done-view.html'
else:
# Otherwise a wsgi_request is sent to the PI
if 'join' in wsgi_request.POST:
create_pending_join(wsgi_request, post)
else:
create_pending_project(wsgi_request, post)
- self.template_name = 'slice-request-ack-view.html'
+ self.template_name = 'project-request-ack-view.html'
# retrieves the pending projects creation list
pending_projects = PendingProject.objects.all().filter(user_hrn=user_hrn)