From a7337c66c2c7c3312c4205a8119252f04a1fbd58 Mon Sep 17 00:00:00 2001 From: Ciro Scognamiglio Date: Thu, 20 Feb 2014 17:06:44 +0100 Subject: [PATCH] added theme --- .settings/org.eclipse.core.resources.prefs | 5 + auth/static/js/logout.js | 2 +- devel/server-loop.sh | 4 +- myslice/configengine.py | 14 + portal/accountview.py | 5 +- portal/adminview.py | 6 +- portal/contactview.py | 9 +- portal/dashboardview.py | 6 +- portal/homeview.py | 26 +- portal/joinview.py | 5 +- portal/manageuserview.py | 5 +- portal/platformsview.py | 5 +- portal/platformview.py | 5 +- portal/registrationview.py | 5 +- portal/resourceview.py | 5 +- portal/sliceview.py | 8 +- portal/static/css/fed4fire.css | 628 ++++++++++++++++++ portal/static/css/onelab.css | 24 +- portal/static/img/f4f-logo.png | Bin 0 -> 77358 bytes portal/templates/fed4fire/_widget-login.html | 26 + .../templates/fed4fire/_widget-topmenu.html | 38 ++ portal/templates/fed4fire/home-view.html | 19 + portal/templates/home-view.html | 36 +- portal/templates/onelab/_widget-topmenu.html | 9 +- portal/templates/onelab/home-view.html | 97 +++ portal/theme.py | 13 + portal/validationview.py | 7 +- ui/templates/base.html | 7 +- 28 files changed, 967 insertions(+), 52 deletions(-) create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 portal/static/css/fed4fire.css create mode 100644 portal/static/img/f4f-logo.png create mode 100644 portal/templates/fed4fire/_widget-login.html create mode 100644 portal/templates/fed4fire/_widget-topmenu.html create mode 100644 portal/templates/fed4fire/home-view.html create mode 100644 portal/templates/onelab/home-view.html create mode 100644 portal/theme.py diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..2bdc1575 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +encoding//portal/django_passresetview.py=utf-8 +encoding//portal/urls.py=utf-8 +encoding//portal/validationview.py=utf-8 +encoding//portal/views.py=utf-8 diff --git a/auth/static/js/logout.js b/auth/static/js/logout.js index c417bb59..9c9b4532 100644 --- a/auth/static/js/logout.js +++ b/auth/static/js/logout.js @@ -7,4 +7,4 @@ function logout () { if (confirm(msg)) window.location="/logout/"; } /* attach this function to the logout button */ -$(document).ready(function() { $('#logout').click(logout); }) +$(document).ready(function() { $('#logout').click(logout); $('#logoutbtn').click(logout); }); diff --git a/devel/server-loop.sh b/devel/server-loop.sh index c77258fc..49d433e5 100755 --- a/devel/server-loop.sh +++ b/devel/server-loop.sh @@ -3,8 +3,8 @@ DIRNAME=$(dirname $0) cd $DIRNAME/.. # default port : if hostname starts with z -> use 8080 ; otherwise take 80 -#hostname | grep -q '^z' && port=8080 || port=8080 -hostname | grep -q '^z' && port=8080 || port=80 +hostname | grep -q '^z' && port=8080 || port=8080 +#hostname | grep -q '^z' && port=8080 || port=80 [[ -n "$@" ]] && port=$1 while true; do diff --git a/myslice/configengine.py b/myslice/configengine.py index 8c98b4c0..e512adf4 100644 --- a/myslice/configengine.py +++ b/myslice/configengine.py @@ -46,6 +46,10 @@ class ConfigEngine(object): parser.read (os.path.join(ROOT,'myslice/myslice.ini')) self.config_parser=parser + def __getattr__(self, section): + if self.config_parser.has_section(section): + return ConfigSection(self.config_parser, section) + def manifold_url (self): return self.config_parser.get('manifold','url') @@ -59,3 +63,13 @@ class ConfigEngine(object): # exporting these details to js def manifold_js_export (self): return "var MANIFOLD_URL = '%s';\n"%self.manifold_url(); + +class ConfigSection(object) : + + def __init__(self, parser, section): + self._parser = parser + self._section = section + + def __getattr__(self, key): + if self._parser.has_option(self._section, key): + return self._parser.get(self._section, key) diff --git a/portal/accountview.py b/portal/accountview.py index 2a929bde..d4499a89 100644 --- a/portal/accountview.py +++ b/portal/accountview.py @@ -12,11 +12,13 @@ from django.contrib import messages from django.contrib.auth.decorators import login_required from django.core.mail import send_mail +from theme import ThemeView + # import json, os, re, itertools # requires login -class AccountView(LoginRequiredAutoLogoutView): +class AccountView(LoginRequiredAutoLogoutView, ThemeView): template_name = "account-view.html" def dispatch(self, *args, **kwargs): return super(AccountView, self).dispatch(*args, **kwargs) @@ -200,6 +202,7 @@ class AccountView(LoginRequiredAutoLogoutView): context['topmenu_items'] = topmenu_items_live('My Account', page) # so we can sho who is logged context['username'] = the_user(self.request) + context['theme'] = self.theme # context ['firstname'] = config['firstname'] prelude_env = page.prelude_env() context.update(prelude_env) diff --git a/portal/adminview.py b/portal/adminview.py index 8a51da99..6560d9d2 100644 --- a/portal/adminview.py +++ b/portal/adminview.py @@ -6,11 +6,11 @@ from manifold.manifoldapi import execute_admin_query from plugins.querytable import QueryTable from unfold.loginrequired import LoginRequiredAutoLogoutView - +from theme import ThemeView import json # View for platforms -class AdminView(LoginRequiredAutoLogoutView): +class AdminView(LoginRequiredAutoLogoutView, ThemeView): template_name = "adminview.html" def get_context_data(self, **kwargs): @@ -80,7 +80,7 @@ class AdminView(LoginRequiredAutoLogoutView): context['topmenu_items'] = topmenu_items_live('Admin', page) # so we can sho who is logged context['username'] = the_user(self.request) - + context['theme'] = self.theme context.update(page.prelude_env()) context['layout_1_or_2']="layout-unfold2.html" if not context['username'] else "layout-unfold1.html" diff --git a/portal/contactview.py b/portal/contactview.py index caee44a4..a97d697d 100644 --- a/portal/contactview.py +++ b/portal/contactview.py @@ -8,10 +8,12 @@ from ui.topmenu import topmenu_items, the_user from portal.forms import ContactForm +from theme import ThemeView + # 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 ContactView (FreeAccessView): +class ContactView (FreeAccessView, ThemeView): def post (self, request): form = ContactForm(request.POST) # A form bound to the POST data if form.is_valid(): # All validation rules pass @@ -31,7 +33,7 @@ class ContactView (FreeAccessView): msg = render_to_string('contact-support-email.txt', form.cleaned_data) send_mail("Onelab user %s submitted a query "%email, msg, email, recipients) - return render(request,'contact_sent.html') # Redirect after POST + return render(request,'contact_sent.html', { 'theme' : self.theme}) # Redirect after POST else: return self._display (request, form) @@ -42,5 +44,6 @@ class ContactView (FreeAccessView): return render(request, 'contact.html', { 'form': form, 'topmenu_items': topmenu_items('Contact', request), - 'username': the_user (request) + 'username': the_user (request), + 'theme' : self.theme }) diff --git a/portal/dashboardview.py b/portal/dashboardview.py index dea1c74c..3910726c 100644 --- a/portal/dashboardview.py +++ b/portal/dashboardview.py @@ -11,8 +11,10 @@ from unfold.loginrequired import LoginRequiredAutoLogoutView from ui.topmenu import topmenu_items_live, the_user +from theme import ThemeView + #This view requires login -class DashboardView (LoginRequiredAutoLogoutView): +class DashboardView (LoginRequiredAutoLogoutView, ThemeView): template_name = "dashboard.html" @@ -75,6 +77,8 @@ class DashboardView (LoginRequiredAutoLogoutView): # so we can sho who is logged context['username'] = the_user(self.request) + context['theme'] = self.theme + page.expose_js_metadata() # the page header and other stuff diff --git a/portal/homeview.py b/portal/homeview.py index efdf71e1..57041648 100644 --- a/portal/homeview.py +++ b/portal/homeview.py @@ -4,6 +4,7 @@ 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 @@ -11,8 +12,11 @@ from manifold.manifoldresult import ManifoldResult from ui.topmenu import topmenu_items, the_user from myslice.configengine import ConfigEngine -class HomeView (FreeAccessView): +from theme import ThemeView +class HomeView (FreeAccessView, ThemeView): + template_name = 'home-view.html' + # expose this so we can mention the backend URL on the welcome page def default_env (self): return { @@ -21,6 +25,7 @@ class HomeView (FreeAccessView): def post (self,request): env = self.default_env() + env['theme'] = self.theme username = request.POST.get('username') password = request.POST.get('password') @@ -39,7 +44,7 @@ class HomeView (FreeAccessView): # let's use ManifoldResult.__repr__ env['state']="%s"%manifoldresult env['layout_1_or_2']="layout-unfold2.html" - return render_to_response('home-view.html',env, context_instance=RequestContext(request)) + return render_to_response(self.template,env, context_instance=RequestContext(request)) # user was authenticated at the backend elif auth_result is not None: user=auth_result @@ -50,21 +55,32 @@ class HomeView (FreeAccessView): else: env['state'] = "Your account is not active, please contact the site admin." env['layout_1_or_2']="layout-unfold2.html" - return render_to_response('home-view.html',env, context_instance=RequestContext(request)) + return render_to_response(self.template,env, context_instance=RequestContext(request)) # otherwise else: env['state'] = "Your username and/or password were incorrect." env['layout_1_or_2']="layout-unfold2.html" - return render_to_response('home-view.html',env, context_instance=RequestContext(request)) + return render_to_response(self.template, env, context_instance=RequestContext(request)) # login-ok sets state="Welcome to MySlice" in urls.py 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('home-view.html',env, context_instance=RequestContext(request)) + + + return render_to_response(self.template, env, context_instance=RequestContext(request)) diff --git a/portal/joinview.py b/portal/joinview.py index e513a603..5d2d3639 100644 --- a/portal/joinview.py +++ b/portal/joinview.py @@ -19,10 +19,12 @@ from manifold.core.query import Query from portal.models import PendingUser,PendingAuthority from portal.actions import authority_get_pi_emails, manifold_add_user,manifold_add_account +from theme import ThemeView + # since we inherit from FreeAccessView we cannot redefine 'dispatch' # so let's override 'get' and 'post' instead # -class JoinView (FreeAccessView): +class JoinView (FreeAccessView, ThemeView): def post (self, request): return self.get_or_post (request, 'POST') @@ -204,6 +206,7 @@ class JoinView (FreeAccessView): 'root_authority_hrn': request.POST.get('root_authority_hrn', '').lower(), 'root_authorities': root_authorities, 'authorities': authorities, + 'theme': self.theme } template_env.update(page.prelude_env ()) return render(request, 'join_view.html',template_env) diff --git a/portal/manageuserview.py b/portal/manageuserview.py index 59fc1d62..cbed7ab0 100644 --- a/portal/manageuserview.py +++ b/portal/manageuserview.py @@ -11,12 +11,12 @@ from django.http import HttpResponse, HttpResponseRedirec from django.contrib import messages from django.contrib.auth.decorators import login_required from django.core.mail import send_mail - +from theme import ThemeView # import json, os, re, itertools # requires login -class UserView(LoginRequiredAutoLogoutView): +class UserView(LoginRequiredAutoLogoutView, ThemeView): template_name = "manageuserview.html" def dispatch(self, *args, **kwargs): return super(UserView, self).dispatch(*args, **kwargs) @@ -208,6 +208,7 @@ class UserView(LoginRequiredAutoLogoutView): context['topmenu_items'] = topmenu_items_live('My Account', page) # so we can sho who is logged context['username'] = the_user(self.request) + context['theme'] = self.theme # context ['firstname'] = config['firstname'] prelude_env = page.prelude_env() context.update(prelude_env) diff --git a/portal/platformsview.py b/portal/platformsview.py index 8c7640b4..eef773a3 100644 --- a/portal/platformsview.py +++ b/portal/platformsview.py @@ -5,9 +5,10 @@ from unfold.loginrequired import FreeAccessView from ui.topmenu import topmenu_items_live, the_user from plugins.querytable import QueryTable +from theme import ThemeView # View for platforms -class PlatformsView(FreeAccessView): +class PlatformsView(FreeAccessView, ThemeView): template_name = "platforms.html" def get_context_data(self, **kwargs): @@ -45,7 +46,7 @@ class PlatformsView(FreeAccessView): context['topmenu_items'] = topmenu_items_live('Platforms', page) # so we can sho who is logged context['username'] = the_user(self.request) - + context['theme'] = self.theme context.update(page.prelude_env()) context['layout_1_or_2']="layout-unfold2.html" if not context['username'] else "layout-unfold1.html" diff --git a/portal/platformview.py b/portal/platformview.py index a39fce99..d70c99b5 100644 --- a/portal/platformview.py +++ b/portal/platformview.py @@ -15,9 +15,10 @@ from ui.topmenu import topmenu_items_live, the_user from plugins.querytable import QueryTable from myslice.configengine import ConfigEngine +from theme import ThemeView # View for 1 platform and its details -class PlatformView(FreeAccessView): +class PlatformView(FreeAccessView, ThemeView): template_name = "platform.html" def get_context_data(self, **kwargs): @@ -140,7 +141,7 @@ class PlatformView(FreeAccessView): context['topmenu_items'] = topmenu_items_live('Platforms', page) # so we can sho who is logged context['username'] = the_user(self.request) - + context['theme'] = self.theme context.update(page.prelude_env()) return context diff --git a/portal/registrationview.py b/portal/registrationview.py index 455b1754..e04652cf 100644 --- a/portal/registrationview.py +++ b/portal/registrationview.py @@ -19,10 +19,12 @@ from manifold.core.query import Query from portal.models import PendingUser from portal.actions import authority_get_pi_emails, manifold_add_user,manifold_add_account +from theme import ThemeView + # since we inherit from FreeAccessView we cannot redefine 'dispatch' # so let's override 'get' and 'post' instead # -class RegistrationView (FreeAccessView): +class RegistrationView (FreeAccessView, ThemeView): def post (self, request): return self.get_or_post (request, 'POST') @@ -193,6 +195,7 @@ class RegistrationView (FreeAccessView): 'email': request.POST.get('email', ''), 'password': request.POST.get('password', ''), 'authorities': authorities, + 'theme': self.theme } template_env.update(page.prelude_env ()) return render(request, 'registration_view.html',template_env) diff --git a/portal/resourceview.py b/portal/resourceview.py index ac1813c7..a407725a 100644 --- a/portal/resourceview.py +++ b/portal/resourceview.py @@ -10,9 +10,10 @@ from plugins.lists.simplelist import SimpleList from plugins.slicestat import SliceStat from myslice.configengine import ConfigEngine +from theme import ThemeView # View for 1 platform and its details -class ResourceView(FreeAccessView): +class ResourceView(FreeAccessView, ThemeView): template_name = "resource.html" def get_context_data(self, **kwargs): @@ -88,7 +89,7 @@ class ResourceView(FreeAccessView): context['topmenu_items'] = topmenu_items_live(None, page) # so we can sho who is logged context['username'] = the_user(self.request) - + context['theme'] = self.theme context.update(page.prelude_env()) return context diff --git a/portal/sliceview.py b/portal/sliceview.py index eaec3faa..a48b846f 100644 --- a/portal/sliceview.py +++ b/portal/sliceview.py @@ -31,6 +31,8 @@ from plugins.slicestat import SliceStat from myslice.configengine import ConfigEngine +from theme import ThemeView + tmp_default_slice='ple.upmc.myslicedemo' # temporary : turn off the users part to speed things up @@ -46,7 +48,7 @@ insert_grid=False insert_messages=False #insert_messages=True -class SliceView (LoginRequiredAutoLogoutView): +class SliceView (LoginRequiredAutoLogoutView, ThemeView): def get (self,request, slicename=tmp_default_slice): @@ -427,7 +429,9 @@ class SliceView (LoginRequiredAutoLogoutView): template_env [ 'topmenu_items' ] = topmenu_items_live('Slice', page) # so we can sho who is logged template_env [ 'username' ] = the_user (request) - + + template_env ['theme'] = self.theme + # don't forget to run the requests page.expose_js_metadata() # the prelude object in page contains a summary of the requirements() for all plugins diff --git a/portal/static/css/fed4fire.css b/portal/static/css/fed4fire.css new file mode 100644 index 00000000..a014b34d --- /dev/null +++ b/portal/static/css/fed4fire.css @@ -0,0 +1,628 @@ +/* @override unfold/static/css/plugin.css */ +/* GENERAL */ +body { + padding-top: 60px; + padding-bottom: 20px; +} +*/ +/* center the buttons vertically in the header */ +div.topmenu { padding-top: 40px; } +ul.logged-in { + padding-top: 12px; +} +button.logged-in { + font-size: small; + margin-left: 5px; +} +li.username { + margin-bottom: 10px; + font-size: x-small; +} + +.logoTxt{ + font-size: 35px; + position: absolute; + margin-left: 20px; + font-family: verdana,arial,sans-serif; + font-weight: bold; +} +a{ + color: #777777; + text-decoration: none; +} +a:hover{ + color: red; + text-decoration: none; +} +.container { + padding: 0 !important; + color: black; + background-color: white; + margin: 0; + width: 100%; + max-width: 100%; + min-height: 100% !important; + height: 100% !important; + font-family: Ubuntu, Arial, sans-serif !important; +} +div.f4f-title{ + margin-top:20px; + margin-bottom:20px; + text-align: center; + border: 1px solid #61210B; + background-color: orange; +} +.container h1 { + color: #777777; + margin-top: 5px; +} +table { + color:black; +} + +.container h1, .container h2 { + color: #fff !important; +} + +div.plugin-outline-complete, +div.plugin-outline-body { + border: 0px solid; + border-radius: 0; + border-color: #ccc; + -webkit-transition: padding 200ms ease-out; + -moz-transition: padding 200ms ease-out; + -o-transition: padding 200ms ease-out; + transition: padding 0.2s ease-out; + padding: 20px; + margin: 0; +} +/* +div.plugin-outline-complete:hover, +div.plugin-outline-body:hover { + padding: 80px 80px 120px 80px; +} +*/ +a.plugin-tooltip { + font-size: 130%; + font-style: normal; + font-weight: bold; + padding: 5px; + color: #333; + font-family: Ubuntu, Arial, sans-serif; + text-transform: uppercase; +} + +a.plugin-tooltip:hover { + color: #fff; + text-decoration: none; +} + + + +/* LIST VIEW */ + +h2.well.well-lg { + border-radius:0; + border: 0; + font-family: Ubuntu, arial, sans-serif; + /* text-transform: ; */ + font-weight: normal; + font-size: 40px; + /* color: #30196d; */ + color: white; + margin-bottom: 0px; + margin-top: 0; + padding: 40px; + opacity: 1; + text-align: center; + background-color: #30196d; +} + +#complete-resources { +/* background-color: #92f79e ; */ + background-color: #B8B2FF ; +} + +#complete-filters { +/* background-color: #4af25d; */ + background-color: #add7ff; +} + +#complete-users { +/* background-color: #ff7394 ; */ + background-color: #add7ff ; +} +/* +#complete-measurements { + background-color: ; +} +*/ +#complete-pending { +/* background-color: #add7ff ; */ + background-color: #B8B2FF ; + +} + +#complete-customize-resources { + background-color: #efdfdf; +} + +#complete-msgs-pre { + background-color: #ccc; +} + +#complete-resources, +#complete-filters, +#complete-users, +#complete-measurements, +#complete-pending, +#complete-customize-resources, +#complete-msgs-pre { + opacity: 1; + text-align: center; + color: #333; +} + +#complete-resources:hover, +#complete-filters:hover, +#complete-users:hover, +#complete-measurements:hover, +#complete-pending:hover, +#complete-customize-resources:hover, +#complete-msgs-pre:hover { + opacity: 1; +} + +.nav.nav-tabs { + font-family: Ubuntu, Arial, sans-serif; + border: 0 !important; + border-bottom: 3px solid #fff !important; + margin-bottom: 40px; +} + +.nav.nav-tabs li.active a { + color: red; + border-left: 0px solid #572bc9; + border-top: 0px solid #572bc9; + border-right: 0px solid #572bc9; + background-color: orange; +} + +.nav.nav-tabs li a { + color: #333; + border: 0 !important; + margin-right: 5px; +} + +.nav.nav-tabs li a:hover { + color: #333; + background: red; + color: #fff; + border: 0 !important; +} + +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + background-color: orange; +} + +/* TOPMENU.CSS */ + +body { + /* background: #30196d !important; */ + /* background: black !important; */ + background: white !important; + padding-top: 0px; + padding-bottom: 0px; +} + +.navbar-fixed-top { + position: relative !important; +} + +.navbar-nav li a:hover { + color: red !important; +} + +.navbar-nav li.active a { + background: #eee !important; + background-color: orange; + color: #572bc9 ; +} + +.navbar-nav li.active a { + background: #eee ; +} + +/* Thierry : turning this off +ul.logged-in { + padding-top: 25px; +} +Thierry */ +button.logged-in { + font-size: 1em; + font-weight: bold; + margin-left: 5px; + margin-top: -5px; + /* background: #572bc9; */ + background: #FFD69B; + border: 1px solid orange; + color: #777777; + padding: 5px 15px; + border-radius:5px; +} + +button.logged-in:hover { + /* background: #4af25d; */ + background: orange; + border: 1px solid #777777; + color: #777777; +} +li.username { + margin-bottom: 10px; + font-size: 0.8em; + text-transform: none; + font-weight: normal; + color: #999; +} + + +/* BOOTSTRAP */ + + +ul.pagination li a { + /* background: ; */ + color: #572bc9; + font-family: Ubuntu, Arial, sans-serif; +} + +ul.pagination li.active a { + /* background: #572bc9; */ + background: orange; + border: 1px solid red; +} + +.btn.btn-default { + /* background: #572bc9; */ + background: #FFD69B; + color: #777777; + font-family: Ubuntu, Arial, sans-serif; + font-weight: bold; + border-color: #eea236; +} + +.btn.btn-default:hover { + /* background: #4af25d; */ + /* background: #ff7394; */ + background: orange; + color: #333; + font-family: Ubuntu, Arial, sans-serif; + font-weight: bold; + border-color: #927143; +} + +input { + border-radius: 3px; + border: none; + border: 1px solid #ccc; +} + +div.dataTables_length label, +div.dataTables_filter label, +div.dataTables_info { + font-family: Ubuntu, Arial, sans-serif ; +} + + + + +/* QUERYTABLE */ + +div.QueryTable table.dataTable th { + font: bold 12px/22px Ubuntu, Arial, sans-serif; + color: #333 ; + border-right: 0px solid #333 ; + border-bottom: 0px solid #C1DAD7 ; + border-top: 0px solid #C1DAD7 ; + letter-spacing: 1px; + text-transform: uppercase; + text-align: left; + padding: 8px 12px 4px 20px; + vertical-align:middle; + background: url('../img/tablesort-header.png') no-repeat ; +} + +div.QueryTable table.dataTable td, div.QueryTable table.dataTable textarea, div.QueryTable table.dataTable input [type="text"] { + font: normal 12px Ubuntu, Arial, Helvetica, sans-serif; + border-right: 0px solid #fff ; + border-bottom: 1px solid #fff ; +} + +div.QueryTable table.dataTable thead { + background: url('../img/tablesort-header.png') repeat-x ; + background-color: #caebea; +} + +div.QueryTable table.dataTable tfoot { + background: url('../img/tablesort-header.png') repeat-x ; + /* background-color: # ; */ +} + + +/* QUERY EDITOR */ + +table.query-editor { + margin: 40px auto ; + clear: both; + /* width: 80%;*/ + width: 100% ; + font-family: Ubuntu; +} + +.query-editor-spacer, +.plugin.QueryUpdater, +.plugin.Tabs { + margin-top: 60px !important; +/* Thierry : turning this off +.plugin.Tabs +Thierry */ +{ + margin-top: 60px ; +>>>>>>> 804932e8a431ddbf0d7c56457625457967b48d4c:portal/static/css/onelab_marko.css +} + +table.query-editor td { + padding: 5px 5px ; + font: normal 12px Ubuntu, Arial, sans-serif ; +} + + + +/* DASHBOARD */ + +#ms-dashboard-profile, +#ms-dashboard-testbeds, +#ms-dashboard-slices { + -webkit-transition: all 50ms ease-out; + -moz-transition: all 50ms ease-out; + -o-transition: all 50ms ease-out; + transition: all 0.05s ease-out; + padding-top: 140px; + padding-bottom: 60px; + margin-top: 60px; + color: #777777; + font-family: Ubuntu, Arial, sans-serif; + text-align: center; + +} + +#ms-dashboard-profile:hover, +#ms-dashboard-testbeds:hover, +#ms-dashboard-slices:hover { + margin-top: 65px; +} + +#ms-dashboard-profile { + background: url("../img/icon_users_color.png") top center no-repeat; +} + +#ms-dashboard-testbeds { + background: url("../img/icon_testbed_color.png") top center no-repeat; +} + +#ms-dashboard-slices { + background: url("../img/icon_slices_color.png") top center no-repeat; +} + +.ms-dashboard-content ul { + list-style-type: none ; + padding-left: 0; + text-align: center ; +} + +.ms-dashboard-content { + padding: 0 !important; +} + +.ms-dashboard-content a { +/* color: #ff7394 !important; */ + color: orange !important; +/* color: #ff0099 !important; */ +} + +.ms-dashboard-content a:hover { + color: red !important; +} +.ms-dashboard-caption h2 { + font-family: Ubuntu, Arial, sans-serif; + border-bottom: 0 !important; + text-transform: uppercase; + color: #777777 !important; +} + +#ms-dashboard-profile>div.ms-dashboard-caption { + background: no-repeat url(#) ; + padding-left: 0 ; +} + +#ms-dashboard-testbeds>div.ms-dashboard-caption { + background: no-repeat url(#) ; + padding-left: 0 ; +} + +#ms-dashboard-slices>div.ms-dashboard-caption { + background: no-repeat url(#) ; + padding-left: 0 ; +} + +.simplelist { + font-size: 100%; + text-align: center !important; + margin: 0 auto; +} + +/*** NEW CSS STYLES FOR ONLEAB ***/ + +body { + background-color:white; + color:black; +} +div.wrapper { + width:980px; + margin:0 auto; + position:relative; +} +/* HEADER */ +div#header { + height:100px; + background-color:white; +} + +div#secondary { + +} + +div#secondary ul { + position:absolute; + top:20px; + right:0; +} + +div#secondary li { + font-size:10pt; + float:left; + list-style:none; + margin-right:30px; +} +div#secondary li a { + color:black; +} +div#secondary li a:hover { + color:#270A5A; + text-decoration:none; +} +div#secondary li:last-child { + margin-right:0; +} + +div#navigation { + background-color:black; + width:100%; + height:40px; +} +div#navigation div.wrapper { + text-align:center; +} +div#navigation ul { + margin:0; + padding:0; + display: inline-block; + list-style-type: none; + white-space: nowrap; +} + +div#navigation li { + color:white; + font-family:helvetica, sans-serif; + font-size:10pt ; + font-weight:normal; + line-height:0.8em; + letter-spacing:0.6pt; + list-style:none; + float:left; + padding:0; + margin:15px 50px 0 0; +} +div#navigation li a { + color:white; +} +div#navigation li a:hover { + text-decoration:none; + color:#B8B2FF; +} +div#navigation li:last-child { + margin-right:0; +} + +/* HOME DASHBOARD */ +div#home-dashboard { + color:black; + margin:25px 0; +} +div#home-dashboard table { + margin:25px; + width:100%; +} +div#home-dashboard table td { + text-align:center; + padding:15px 0; + width:33%; +} +div#home-dashboard table tr:first-child td { + font-size:12pt; + font-weight:bold; + color:#270A5A; +} +div#home-dashboard table tr:last-child td { + text-align:left; +} +div#home-dashboard table td.support { + font-size:14pt; + vertical-align:top; + padding-left:11%; +} +div#home-dashboard table td.support a { +} +div#home-dashboard table td.support a:hover { + text-decoration:none; +} + + +.login-submit { + vertical-align:middle; + padding:0; +} +.lost-password { + font-size:10pt; + color:#CCCCCC; + text-align:right; + padding:0px; +} +.lost-password a { +} +.login-signup { + border-top:1px solid #CCCCCC; + text-align:center; + margin-top:15px; + padding:5px 0 0 0; +} +/**/ + +/* NAV TABS */ + +.nav.nav-tabs { +} + +.nav.nav-tabs li.active a { + +} + +.nav.nav-tabs li a { +} + +.nav.nav-tabs li a:hover { +} + +/**/ +/* WELL */ +div.well { +} +/**/ +/* BUTTON */ +.btn.btn-default { + font-weight: bold; +} + +.btn.btn-default:hover { + font-weight: bold; +} \ No newline at end of file diff --git a/portal/static/css/onelab.css b/portal/static/css/onelab.css index 06925d37..d5047550 100644 --- a/portal/static/css/onelab.css +++ b/portal/static/css/onelab.css @@ -345,6 +345,12 @@ div.wrapper { position:relative; } +span.label { + font-size:11pt; + color:gray; + font-weight:normal; + padding:0; +} /***** Notifications *****/ .warning { border: 1px solid red; @@ -429,8 +435,7 @@ div#navigation li:last-child { /* HOME DASHBOARD */ div#home-dashboard { color:black; - margin:25px 0; - border:1px red solid; + margin:25px auto; } div#home-dashboard table { margin:25px; @@ -447,12 +452,21 @@ div#home-dashboard table tr:first-child td { color:#270A5A; } div#home-dashboard table tr:last-child td { + font-size:12pt; + vertical-align:top; + border-right:1px solid #DDDDDD; + padding:25px; +} +div#home-dashboard table tr:last-child td:first-child { +} +div#home-dashboard table tr:last-child td:last-child { + border-right:0; +} +div#home-dashboard table tr:last-child td div { text-align:left; + padding:25px 0; } div#home-dashboard table td.support { - font-size:14pt; - vertical-align:top; - padding-left:11%; } div#home-dashboard table td.support a { } diff --git a/portal/static/img/f4f-logo.png b/portal/static/img/f4f-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8a72315d2058c741e692b01881ee8727399927d9 GIT binary patch literal 77358 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 uU}Axj%mNc&KglX|ayk + {% if state %} + {{ state }} + {% endif %} +
+ {% csrf_token %} + {% if next %} + + {% endif %} +
+ + +
+
+ + +
+ + +
+ diff --git a/portal/templates/fed4fire/_widget-topmenu.html b/portal/templates/fed4fire/_widget-topmenu.html new file mode 100644 index 00000000..4b2ae0ee --- /dev/null +++ b/portal/templates/fed4fire/_widget-topmenu.html @@ -0,0 +1,38 @@ +{% insert_str prelude "js/bootstrap.js" %} +{% insert_str prelude "css/bootstrap.css" %} +{% insert_str prelude "css/topmenu.css" %} +{% insert_str prelude "js/logout.js" %} +