From 5855b9068af672b2fb2a1e22a40182c253361202 Mon Sep 17 00:00:00 2001 From: Yasin Date: Fri, 21 Feb 2014 16:34:26 +0100 Subject: [PATCH] Support: OneLab Support Page Added + Fixed other static pages --- portal/documentationview.py | 67 ++++++++++++++----- portal/experimentview.py | 58 ++++++++++++---- portal/supportview.py | 51 ++++++++++++++ .../onelab/onelab__widget-topmenu.html | 2 +- portal/templates/supportview.html | 52 ++++++++++++++ portal/urls.py | 3 + 6 files changed, 203 insertions(+), 30 deletions(-) create mode 100644 portal/supportview.py create mode 100644 portal/templates/supportview.html diff --git a/portal/documentationview.py b/portal/documentationview.py index e5c00ff7..3d947737 100644 --- a/portal/documentationview.py +++ b/portal/documentationview.py @@ -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)) + diff --git a/portal/experimentview.py b/portal/experimentview.py index b4c20b02..2576e66f 100644 --- a/portal/experimentview.py +++ b/portal/experimentview.py @@ -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 index 00000000..c16c89fd --- /dev/null +++ b/portal/supportview.py @@ -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)) + diff --git a/portal/templates/onelab/onelab__widget-topmenu.html b/portal/templates/onelab/onelab__widget-topmenu.html index da638c5f..649bbfbb 100644 --- a/portal/templates/onelab/onelab__widget-topmenu.html +++ b/portal/templates/onelab/onelab__widget-topmenu.html @@ -25,7 +25,7 @@
  • SLICES
  • REQUESTS
  • INSTITUTION
  • -
  • SUPPORT
  • +
  • SUPPORT
  • |
  • {{ username }}
  • LOGOUT
  • diff --git a/portal/templates/supportview.html b/portal/templates/supportview.html new file mode 100644 index 00000000..8da135fa --- /dev/null +++ b/portal/templates/supportview.html @@ -0,0 +1,52 @@ +{% extends "layout-unfold1.html" %} + +{% block head %} +{{ wizard.form.media }} +{% endblock %} + +{% block unfold_main %} + +

    OneLab Portal Support

    + +

    Report a Bug

    +

    If you have found a bug or having difficulties accesing some features or found some anomalies, please report it using our ticketing system.

    +

    Unresolved Tickets

    + + +
    +
    + + + + + + + + + + + + + + + + + + + + +
    Ticket NoReported ByDescriptionStatus
    1yasin.upmc@gmail.com Slice_request page is not working Unresolved
    2azerty@lip6.frUnable to RegisterUnresolved
    +
    +
    + + + + + + +

    FAQ

    +

    Contact Us

    + + +{% endblock %} + diff --git a/portal/urls.py b/portal/urls.py index 5e4634e1..a1d4f081 100644 --- a/portal/urls.py +++ b/portal/urls.py @@ -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 -- 2.43.0