git://git.onelab.eu
/
unfold.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
fc5b98d
)
SliceRequest: Slicename should only be letter, number and underscore + bugfix
author
Yasin
<mohammed-yasin.rahman@lip6.fr>
Tue, 15 Jul 2014 13:53:16 +0000
(15:53 +0200)
committer
Yasin
<mohammed-yasin.rahman@lip6.fr>
Tue, 15 Jul 2014 13:53:16 +0000
(15:53 +0200)
portal/actions.py
patch
|
blob
|
history
portal/registrationview.py
patch
|
blob
|
history
portal/slicerequestview.py
patch
|
blob
|
history
portal/templates/onelab/onelab_slicerequest_view.html
patch
|
blob
|
history
portal/templates/slice_request_email.html
patch
|
blob
|
history
portal/templates/slice_request_email.txt
patch
|
blob
|
history
diff --git
a/portal/actions.py
b/portal/actions.py
index
baf4cca
..
e218126
100644
(file)
--- a/
portal/actions.py
+++ b/
portal/actions.py
@@
-402,7
+402,7
@@
def create_pending_slice(wsgi_request, request, email):
slice_name = request['slice_name'],
user_hrn = request['user_hrn'],
authority_hrn = request['authority_hrn'],
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()
purpose = request['purpose'],
)
s.save()
diff --git
a/portal/registrationview.py
b/portal/registrationview.py
index
6a8322d
..
7967a91
100644
(file)
--- a/
portal/registrationview.py
+++ b/
portal/registrationview.py
@@
-89,9
+89,9
@@
class RegistrationView (FreeAccessView, ThemeView):
# Validate input
UserModel = get_user_model()
if (re.search(r'^[\w+\s.@+-]+$', user_request['first_name']) == None):
# Validate input
UserModel = get_user_model()
if (re.search(r'^[\w+\s.@+-]+$', user_request['first_name']) == None):
- errors.append('First
N
ame may contain only letters, numbers, spaces and @/./+/-/_ characters.')
+ errors.append('First
n
ame may contain only letters, numbers, spaces and @/./+/-/_ characters.')
if (re.search(r'^[\w+\s.@+-]+$', user_request['last_name']) == None):
if (re.search(r'^[\w+\s.@+-]+$', user_request['last_name']) == None):
- errors.append('Last
N
ame may contain only letters, numbers, spaces and @/./+/-/_ characters.')
+ errors.append('Last
n
ame 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.')
# 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.')
diff --git
a/portal/slicerequestview.py
b/portal/slicerequestview.py
index
8cd0af4
..
734ac9c
100644
(file)
--- a/
portal/slicerequestview.py
+++ b/
portal/slicerequestview.py
@@
-14,7
+14,7
@@
from ui.topmenu import topmenu_items_live, the_user
from myslice.theme import ThemeView
from myslice.theme import ThemeView
-import json, time
+import json, time
, re
class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView):
template_name = 'slicerequest_view.html'
class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView):
template_name = 'slicerequest_view.html'
@@
-31,7
+31,9
@@
class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView):
"""
"""
errors = []
"""
"""
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)
# Retrieve the list of authorities
authorities_query = Query.get('authority').select('name', 'authority_hrn')
authorities = execute_admin_query(wsgi_request, authorities_query)
@@
-105,11
+107,13
@@
class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView):
'authority_hrn' : authority_hrn,
'organization' : wsgi_request.POST.get('org_name', ''),
'slice_name' : wsgi_request.POST.get('slice_name', ''),
'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
}
'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')
authority_hrn = slice_request['authority_hrn']
if (authority_hrn is None or authority_hrn == ''):
errors.append('Please, select an authority')
@@
-117,7
+121,11
@@
class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView):
# What kind of slice name is valid?
slice_name = slice_request['slice_name']
if (slice_name is None or slice_name == ''):
# 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 == ''):
purpose = slice_request['purpose']
if (purpose is None or purpose == ''):
@@
-141,8
+149,11
@@
class SliceRequestView (LoginRequiredAutoLogoutView, ThemeView):
'username': wsgi_request.user.email,
'topmenu_items': topmenu_items_live('Request a slice', page),
'errors': errors,
'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,
'email': user_email,
'user_hrn': user_hrn,
+ 'exp_url': exp_url,
'pi': pi,
'authority_name': authority_name,
'cc_myself': True,
'pi': pi,
'authority_name': authority_name,
'cc_myself': True,
diff --git
a/portal/templates/onelab/onelab_slicerequest_view.html
b/portal/templates/onelab/onelab_slicerequest_view.html
index
3c38346
..
82ccd16
100644
(file)
--- a/
portal/templates/onelab/onelab_slicerequest_view.html
+++ b/
portal/templates/onelab/onelab_slicerequest_view.html
@@
-30,7
+30,7
@@
<input type="email" class="form-control" id="email" style="width:300px" value="{{ email }}" readonly="readonly">
</div>
<div class="form-group">
<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">
title="Please enter a name for your slice"required="required">
</div>
<div class="form-group">
@@
-43,8
+43,8
@@
{%endif%}
</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"
</div>
<div class="form-group">
<textarea id="purpose" name="purpose" class="form-control" rows="6" placeholder="Experiment Purpose" style="width:300px"
diff --git
a/portal/templates/slice_request_email.html
b/portal/templates/slice_request_email.html
index
417a8bd
..
8306c2b
100644
(file)
--- a/
portal/templates/slice_request_email.html
+++ b/
portal/templates/slice_request_email.html
@@
-2,10
+2,10
@@
<br>
<h1>NEW SLICE REQUEST</h1>
<br>
<br>
<h1>NEW SLICE REQUEST</h1>
<br>
-<b>
s
lice name :</b> {{slice_name}}</br>
-<b>
number of nodes :</b> {{number_of_nodes
}}</br>
-<b>
p
urpose :</b> {{purpose}}</br>
-<b>
organization :</b> {{organization}}
-<b>
e
mail :</b> {{email}}</br>
+<b>
S
lice name :</b> {{slice_name}}</br>
+<b>
URL :</b> {{exp_url
}}</br>
+<b>
P
urpose :</b> {{purpose}}</br>
+<b>
Organization :</b> {{organization}}</br>
+<b>
E
mail :</b> {{email}}</br>
<b>Portal url :</b> {{current_site}}</br>
<b>Portal url :</b> {{current_site}}</br>
diff --git
a/portal/templates/slice_request_email.txt
b/portal/templates/slice_request_email.txt
index
6cd5a2d
..
c8a51b5
100644
(file)
--- a/
portal/templates/slice_request_email.txt
+++ b/
portal/templates/slice_request_email.txt
@@
-1,9
+1,9
@@
NEW SLICE REQUEST
NEW SLICE REQUEST
-
s
lice name : {{slice_name}}
-
number of nodes : {{number_of_nodes
}}
-
p
urpose : {{purpose}}
-
e
mail : {{email}}
-
o
rganization : {{organization}}
+
S
lice name : {{slice_name}}
+
URL : {{exp_url
}}
+
P
urpose : {{purpose}}
+
E
mail : {{email}}
+
O
rganization : {{organization}}
Portal url : {{current_site}}
Portal url : {{current_site}}