Top Menue Updated + /portal/register improved
authorYasin <mohammed-yasin.rahman@lip6.fr>
Wed, 21 Aug 2013 12:51:33 +0000 (14:51 +0200)
committerYasin <mohammed-yasin.rahman@lip6.fr>
Wed, 21 Aug 2013 12:51:33 +0000 (14:51 +0200)
myslice/viewutils.py
portal/templates/register_4m_f4f.html
portal/urls.py
portal/views.py

index fd364bc..c469d5c 100644 (file)
@@ -8,6 +8,7 @@ standard_topmenu_items = [
 #    { 'label':'One Plugin', 'href': '/plugin/'},
     { 'label':'Dashboard', 'href': '/portal/dashboard/'},
     { 'label':'Slice', 'href': '/slice/'},
+    #{'label':'My Account', 'href': '/portal/account/'}
     ]
 
 #login_out_items = { False: { 'label':'Login', 'href':'/login/'},
@@ -17,10 +18,14 @@ def topmenu_items (current,request=None):
     has_user=request.user.is_authenticated()
     if has_user:
         result=deepcopy(standard_topmenu_items)
+        result.append({'label':'My Account', 'href': '/portal/account/'})
         result.append({ 'label':'Request a slice', 'href': '/portal/slice_request/'})
+        result.append({'label':'Contact Support', 'href': '/portal/contact/'})
     else:
         result = []
+        result.append({'label':'Home', 'href': '/login'})
         result.append({ 'label':'Register', 'href': '/portal/user/register/'})
+        result.append({'label':'Contact Support', 'href': '/portal/contact/'})
     for d in result:
         #if d['label'].lower()find(current)>=0: d['is_active']=True
         if d['label'] == current: d['is_active']=True
index ed75f81..b13196d 100644 (file)
 
 
 
+{% if messages %}
+<ul class="messages">
+    {% for message in messages %}
+    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
+    {% endfor %}
+</ul>
+{% endif %}
 
 
-
-<form class="cmxform" id="commentForm" method="post" action="reg_process" enctype="multipart/form-data" >
+<form class="cmxform" id="commentForm" method="post" action="" enctype="multipart/form-data" >
 {% csrf_token %}
  <fieldset>
     <div class="fed4fireTitle">
index 20bddfd..eba1c9c 100644 (file)
@@ -46,7 +46,7 @@ urlpatterns = patterns('',
     url(r'^account/?$', views.my_account),
     url(r'^acc_process/?$', views.acc_process),
     url(r'^register/?$', views.register_4m_f4f),
-    url(r'^reg_process/?$', views.reg_4m_f4f_process),
+    #url(r'^reg_process/?$', views.reg_4m_f4f_process),
     url(r'^contact/?$', views.contact),
     # Slice request
     url(r'^slice_request/?$', views.slice_request),
index 7805dd5..df281fc 100644 (file)
@@ -473,7 +473,12 @@ class UserValidateView(ActivationView):
 
 # 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)
+    })
+
 
 #my_acc form value processing
 def acc_process(request):
@@ -567,9 +572,9 @@ def acc_process(request):
         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']
@@ -579,13 +584,21 @@ def reg_4m_f4f_process(request):
         
         #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
@@ -634,8 +647,8 @@ def reg_4m_f4f_process(request):
                         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
@@ -661,9 +674,12 @@ def contact(request):
             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)
+
     })