# View for my_account form
def my_account(request):
- return render(request, 'my_account.html')
+ return render(request, 'my_account.html', {
+ #'form': form,
+ 'topmenu_items': topmenu_items('My Account', request),
+ 'username': the_user (request)
+ })
+
+# View for platforms
+class PlatformsView(TemplateView):
+ template_name = "platforms.html"
+
+ def get_context_data(self, **kwargs):
+ page = Page(self.request)
+
+ network_query = Query().get('local:platform').select('platform')
+ page.enqueue_query(network_query)
+
+ page.expose_js_metadata()
+ page.expose_queries()
+
+ networklist = SimpleList(
+ title = None,
+ page = page,
+ key = 'platform',
+ query = network_query,
+ )
+
+ context = super(PlatformsView, self).get_context_data(**kwargs)
+ context['person'] = self.request.user
+ context['networks'] = networklist.render(self.request)
+
+ # XXX This is repeated in all pages
+ # more general variables expected in the template
+ context['title'] = 'Platforms connected to MySlice'
+ # the menu items on the top
+ context['topmenu_items'] = topmenu_items('Platforms', self.request)
+ # so we can sho who is logged
+ context['username'] = the_user(self.request)
+
+ context.update(page.prelude_env())
+
+ return context
#my_acc form value processing
def acc_process(request):
file_name = up_file.name
file_extension = os.path.splitext(file_name)[1]
allowed_extension = ['.pub','.txt']
- if file_extension in allowed_extension:
+ if file_extension in allowed_extension and re.search(r'ssh-rsa',file_content):
file_content = '{"user_public_key":"'+ file_content +'"}'
file_content = re.sub("\r", "", file_content)
file_content = re.sub("\n", "\\n",file_content)
get_user.save()
return HttpResponse('Success: Publickey uploaded! Old records overwritten')
else:
- return HttpResponse('Please upload a valid public key [.txt or .pub].')
+ return HttpResponse('Please upload a valid RSA public key [.txt or .pub].')
else:
message = 'You submitted an empty form.'
return HttpResponse(message)
def register_4m_f4f(request):
- return render(request, 'register_4m_f4f.html')
+ #return render(request, 'register_4m_f4f.html')
-def reg_4m_f4f_process(request):
+#def reg_4m_f4f_process(request):
if 'submit' in request.POST:
#get_email = PendingUser.objects.get(email)
reg_fname = request.POST['firstname']
#POST value validation
if (re.search(r'^[\w+\s.@+-]+$', reg_fname)==None):
- return HttpResponse("Only Letters, Numbers, - and _ allowd in First Name")
+ messages.error(request, 'First Name may contain only letters, numbers, spaces and @/./+/-/_ characters.')
+ #return HttpResponse("Only Letters, Numbers, - and _ allowd in First Name")
+ return render(request, 'register_4m_f4f.html')
if (re.search(r'^[\w+\s.@+-]+$', reg_lname) == None):
- return HttpResponse("Only Letters, Numbers, - and _ is allowed in Last name")
+ messages.error(request, 'Last Name may contain only letters, numbers, spaces and @/./+/-/_ characters.')
+ #return HttpResponse("Only Letters, Numbers, - and _ is allowed in Last name")
+ return render(request, 'register_4m_f4f.html')
if (re.search(r'^[\w+\s.@+-]+$', reg_aff) == None):
- return HttpResponse("Only Letters, Numbers and _ is allowed in Affiliation")
+ messages.error(request, 'Affiliation may contain only letters, numbers, spaces and @/./+/-/_ characters.')
+ #return HttpResponse("Only Letters, Numbers and _ is allowed in Affiliation")
+ return render(request, 'register_4m_f4f.html')
if PendingUser.objects.filter(email__iexact=reg_email):
- return HttpResponse("Email Already exists")
+ messages.error(request, 'Email already registered.Please provide a new email address.')
+ #return HttpResponse("Email Already exists")
+ return render(request, 'register_4m_f4f.html')
if 'generate' in request.POST['question']:
#import os
#from M2Crypto import Rand, RSA, BIO
file_name = up_file.name
file_extension = os.path.splitext(file_name)[1]
allowed_extension = ['.pub','.txt']
- if file_extension in allowed_extension:
+ if file_extension in allowed_extension and re.search(r'ssh-rsa',file_content):
keypair = '{"user_public_key":"'+ file_content +'"}'
keypair = re.sub("\r", "", keypair)
keypair = re.sub("\n", "\\n",keypair)
keypair = ''.join(keypair.split())
else:
- return HttpResponse('Please upload a valid public key [.txt or .pub].')
+ return HttpResponse('Please upload a valid RSA public key [.txt or .pub].')
b = PendingUser(first_name=reg_fname, last_name=reg_lname, affiliation=reg_aff,
email=reg_email, password=request.POST['password'], keypair=keypair)
b.save()
- return HttpResponse('Registration Successful. Please wait for account validation.')
-
+ return render(request, 'user_register_complete.html')
+ return render(request, 'register_4m_f4f.html')
# view for contact form
return render(request,'contact_sent.html') # Redirect after POST
else:
form = ContactForm() # An unbound form
-
+
return render(request, 'contact.html', {
'form': form,
+ 'topmenu_items': topmenu_items('Contact Us', request),
+ 'username': the_user (request)
+
})