Support: OneLab Support Page Added + Fixed other static pages
authorYasin <mohammed-yasin.rahman@lip6.fr>
Fri, 21 Feb 2014 15:34:26 +0000 (16:34 +0100)
committerYasin <mohammed-yasin.rahman@lip6.fr>
Fri, 21 Feb 2014 15:34:26 +0000 (16:34 +0100)
portal/documentationview.py
portal/experimentview.py
portal/supportview.py [new file with mode: 0644]
portal/templates/onelab/onelab__widget-topmenu.html
portal/templates/supportview.html [new file with mode: 0644]
portal/urls.py

index e5c00ff..3d94773 100644 (file)
@@ -1,16 +1,51 @@
-from django.shortcuts           import render
-from django.views.generic       import View
-
-from unfold.loginrequired       import FreeAccessView
-from ui.topmenu                 import topmenu_items
-
-
-# splitting the 2 functions done here
-# GET is for displaying the empty form
-# POST is to process it once filled - or show the form again if anything is missing
-class DocumentationView (FreeAccessView):
-    template_name = "documentationview.html"
-    def _display (self, request):
-        return render(request, 'documentationview.html', {
-                'topmenu_items': topmenu_items('FAQ', request),
-                })
+# this somehow is not used anymore - should it not be ?
+from django.core.context_processors import csrf
+from django.http import HttpResponseRedirect
+from django.contrib.auth import authenticate, login, logout
+from django.template import RequestContext
+from django.shortcuts import render_to_response
+from django.shortcuts import render
+
+from unfold.loginrequired import FreeAccessView
+
+from manifold.manifoldresult import ManifoldResult
+from ui.topmenu import topmenu_items, the_user
+from myslice.configengine import ConfigEngine
+
+from theme import ThemeView
+
+class DocumentationView (FreeAccessView, ThemeView):
+    template_name = 'documentationview.html'
+        
+    # expose this so we can mention the backend URL on the welcome page
+    def default_env (self):
+        return { 
+                 'MANIFOLD_URL':ConfigEngine().manifold_url(),
+                 }
+
+    def post (self,request):
+        env = self.default_env()
+        env['theme'] = self.theme
+        return render_to_response(self.template, env, context_instance=RequestContext(request))
+
+    def get (self, request, state=None):
+        env = self.default_env()
+
+        if request.user.is_authenticated(): 
+            env['person'] = self.request.user
+        else: 
+            env['person'] = None
+    
+        env['theme'] = self.theme
+    
+
+        env['username']=the_user(request)
+        env['topmenu_items'] = topmenu_items(None, request)
+        if state: env['state'] = state
+        elif not env['username']: env['state'] = None
+        # use one or two columns for the layout - not logged in users will see the login prompt
+        env['layout_1_or_2']="layout-unfold2.html" if not env['username'] else "layout-unfold1.html"
+        
+        
+        return render_to_response(self.template, env, context_instance=RequestContext(request))
+
index b4c20b0..2576e66 100644 (file)
@@ -1,19 +1,51 @@
-from django.shortcuts           import render
-from django.views.generic       import View
+# this somehow is not used anymore - should it not be ?
+from django.core.context_processors import csrf
+from django.http import HttpResponseRedirect
+from django.contrib.auth import authenticate, login, logout
+from django.template import RequestContext
+from django.shortcuts import render_to_response
+from django.shortcuts import render
 
-from unfold.loginrequired       import FreeAccessView
-from ui.topmenu                 import topmenu_items
+from unfold.loginrequired import FreeAccessView
 
+from manifold.manifoldresult import ManifoldResult
+from ui.topmenu import topmenu_items, the_user
+from myslice.configengine import ConfigEngine
 
-# splitting the 2 functions done here
-# GET is for displaying the empty form
-# POST is to process it once filled - or show the form again if anything is missing
-class ExperimentView (FreeAccessView):
-    template_name = "experimentview.html"
-    def _display (self, request):
-        return render(request, 'experimentview.html', {
-                'topmenu_items': topmenu_items('experiment', request),
-                })
+from theme import ThemeView
 
+class ExperimentView (FreeAccessView, ThemeView):
+    template_name = 'experimentview.html'
+        
+    # expose this so we can mention the backend URL on the welcome page
+    def default_env (self):
+        return { 
+                 'MANIFOLD_URL':ConfigEngine().manifold_url(),
+                 }
 
+    def post (self,request):
+        env = self.default_env()
+        env['theme'] = self.theme
+        return render_to_response(self.template, env, context_instance=RequestContext(request))
+
+    def get (self, request, state=None):
+        env = self.default_env()
+
+        if request.user.is_authenticated(): 
+            env['person'] = self.request.user
+        else: 
+            env['person'] = None
+    
+        env['theme'] = self.theme
+    
+
+        env['username']=the_user(request)
+        env['topmenu_items'] = topmenu_items(None, request)
+        if state: env['state'] = state
+        elif not env['username']: env['state'] = None
+        # use one or two columns for the layout - not logged in users will see the login prompt
+        env['layout_1_or_2']="layout-unfold2.html" if not env['username'] else "layout-unfold1.html"
+        
+        
+        return render_to_response(self.template, env, context_instance=RequestContext(request))
 
diff --git a/portal/supportview.py b/portal/supportview.py
new file mode 100644 (file)
index 0000000..c16c89f
--- /dev/null
@@ -0,0 +1,51 @@
+# this somehow is not used anymore - should it not be ?
+from django.core.context_processors import csrf
+from django.http import HttpResponseRedirect
+from django.contrib.auth import authenticate, login, logout
+from django.template import RequestContext
+from django.shortcuts import render_to_response
+from django.shortcuts import render
+
+from unfold.loginrequired import FreeAccessView
+
+from manifold.manifoldresult import ManifoldResult
+from ui.topmenu import topmenu_items, the_user
+from myslice.configengine import ConfigEngine
+
+from theme import ThemeView
+
+class SupportView (FreeAccessView, ThemeView):
+    template_name = 'supportview.html'
+        
+    # expose this so we can mention the backend URL on the welcome page
+    def default_env (self):
+        return { 
+                 'MANIFOLD_URL':ConfigEngine().manifold_url(),
+                 }
+
+    def post (self,request):
+        env = self.default_env()
+        env['theme'] = self.theme
+        return render_to_response(self.template, env, context_instance=RequestContext(request))
+
+    def get (self, request, state=None):
+        env = self.default_env()
+
+        if request.user.is_authenticated(): 
+            env['person'] = self.request.user
+        else: 
+            env['person'] = None
+    
+        env['theme'] = self.theme
+    
+
+        env['username']=the_user(request)
+        env['topmenu_items'] = topmenu_items(None, request)
+        if state: env['state'] = state
+        elif not env['username']: env['state'] = None
+        # use one or two columns for the layout - not logged in users will see the login prompt
+        env['layout_1_or_2']="layout-unfold2.html" if not env['username'] else "layout-unfold1.html"
+        
+        
+        return render_to_response(self.template, env, context_instance=RequestContext(request))
+
index da638c5..649bbfb 100644 (file)
@@ -25,7 +25,7 @@
                        <li>SLICES</li>
                        <li>REQUESTS</li>
                        <li><a href="/portal/institution">INSTITUTION</a></li>
-                       <li><a href="/portal/contact">SUPPORT</a></li>
+                       <li><a href="/portal/support">SUPPORT</a></li>
                        <li>|</li>
                        <li><a href="/portal/account">{{ username }}</a></li>
                        <li><a id="logout" style="cursor:pointer;" data-username="{{ username }}">LOGOUT</a></li>
diff --git a/portal/templates/supportview.html b/portal/templates/supportview.html
new file mode 100644 (file)
index 0000000..8da135f
--- /dev/null
@@ -0,0 +1,52 @@
+{% extends "layout-unfold1.html" %}
+
+{% block head %}
+{{ wizard.form.media }}
+{% endblock %}
+
+{% block unfold_main %}
+
+<h1>OneLab Portal Support</h1>
+
+<h2>Report a Bug</h2>
+<p>If you have found a bug or having difficulties accesing some features or found some anomalies, please report it using our ticketing system.</p>
+<h3>Unresolved Tickets</h3>
+
+
+<div id="middle" align="center">
+    <div class="well">
+        <table class="mytable table table-bordered table-hover">
+            <tr>
+                <th>Ticket No</th>
+                               <th>Reported By</th>
+                               <th>Description</th>
+                <th>Status</th>
+            </tr>
+            <tr>
+                <td>1</td>
+                               <td>yasin.upmc@gmail.com</td>
+                               <td> Slice_request page is not working </td>
+                               <td> Unresolved</td>
+            </tr>
+                       <tr>
+                       <td>2</td>
+                               <td>azerty@lip6.fr</td>
+                       <td>Unable to Register</td>
+                       <td>Unresolved</td>
+                       </tr>
+
+        </table>
+    </div>
+</div>
+</div>
+
+
+
+
+
+<h2><a href="/portal/support/documentation">FAQ</a></h2>
+<h2><a href="/portal/contact">Contact Us</a></h2>
+
+
+{% endblock %}
+
index 5e4634e..a1d4f08 100644 (file)
@@ -40,6 +40,8 @@ from portal.sliceview           import SliceView
 from portal.validationview      import ValidatePendingView
 from portal.experimentview      import ExperimentView
 from portal.documentationview   import DocumentationView
+from portal.supportview         import SupportView
+
 # hopefully these should move in dedicated source files too
 from portal.views               import PresViewView, pres_view_static, pres_view_methods, pres_view_animation
 from portal.django_passresetview import password_reset, password_reset_done, password_reset_confirm, password_reset_complete 
@@ -78,6 +80,7 @@ urlpatterns = patterns('',
     url(r'^join/?$', JoinView.as_view(), name='join'),
     url(r'^contact/?$', ContactView.as_view(), name='contact'),
     url(r'^experiment?$', ExperimentView.as_view(), name='experiment'),
+    url(r'^support/?$', SupportView.as_view(), name='support'),
     url(r'^support/documentation?$', DocumentationView.as_view(), name='FAQ'),
     #url(r'^pass_reset/?$', PassResetView.as_view(), name='pass_rest'),
     # Slice request