-
{% if content %} {% if view %} -

{{ view }}

+

{{ view }}

+
+
{% endif %} {{ content }}
Back to top diff --git a/photonic/views/domains.py b/photonic/views/domains.py index ba8fa4c..2996203 100644 --- a/photonic/views/domains.py +++ b/photonic/views/domains.py @@ -36,7 +36,7 @@ from photonic.models.domains import luxon_domain from photonic.views.datatable import datatable -g.nav_menu.add('/System/Domains', href='/system/domains', view='admin') +g.nav_menu.add('/System/Domains', href='/system/domains', tag='admin') @register.resources() @@ -45,27 +45,27 @@ def __init__(self): router.add('GET', '/system/domains', self.list, - tag='role:root') - - router.add('GET', - '/system/domains/delete/{id}', - self.delete, - tag='role:root') + tag='domains:view') router.add('GET', '/system/domains/{id}', self.view, - tag='role:root') + tag='domains:view') + + router.add('GET', + '/system/domains/delete/{id}', + self.delete, + tag='domains:admin') router.add(('GET', 'POST',), '/system/domains/add', self.add, - tag='role:root') + tag='domains:admin') router.add(('GET', 'POST',), '/system/domains/edit/{id}', self.edit, - tag='role:root') + tag='domains:admin') def list(self, req, resp): list_html = datatable(req, 'domains_view', diff --git a/photonic/views/endpoints.py b/photonic/views/endpoints.py index 36c3984..fbb843b 100644 --- a/photonic/views/endpoints.py +++ b/photonic/views/endpoints.py @@ -36,7 +36,7 @@ from photonic.models.endpoints import luxon_endpoint from photonic.views.datatable import datatable -g.nav_menu.add('/System/Endpoints', href='/system/endpoints', view='role:root') +g.nav_menu.add('/System/Endpoints', href='/system/endpoints', tag='role:root') @register.resources() @@ -45,27 +45,27 @@ def __init__(self): router.add('GET', '/system/endpoints', self.list, - tag='role:root') - - router.add('GET', - '/system/endpoints/delete/{id}', - self.delete, - tag='role:root') + tag='login') router.add('GET', '/system/endpoints/{id}', self.view, - tag='role:root') + tag='login') + + router.add('GET', + '/system/endpoints/delete/{id}', + self.delete, + tag='admin') router.add(('GET', 'POST',), '/system/endpoints/add', self.add, - tag='role:root') + tag='admin') router.add(('GET', 'POST',), '/system/endpoints/edit/{id}', self.edit, - tag='role:root') + tag='admin') def list(self, req, resp): list_html = datatable(req, 'endpoints_view', diff --git a/photonic/views/rbac.py b/photonic/views/rbac.py index 4545b68..3fbdd9c 100644 --- a/photonic/views/rbac.py +++ b/photonic/views/rbac.py @@ -38,7 +38,7 @@ def __init__(self): router.add(['POST', 'DELETE'], '/system/rbac/user/{id}', self.userrole, - tag='admin') + tag='users:admin') def userrole(self, req, resp, id): """View to assign Role to User. diff --git a/photonic/views/roles.py b/photonic/views/roles.py index 5742d64..e59e7e7 100644 --- a/photonic/views/roles.py +++ b/photonic/views/roles.py @@ -36,7 +36,7 @@ from photonic.models.roles import luxon_role from photonic.views.datatable import datatable -g.nav_menu.add('/System/Roles', href='/system/roles', view='admin') +g.nav_menu.add('/System/Roles', href='/system/roles', tag='admin') @register.resources() @@ -45,27 +45,27 @@ def __init__(self): router.add('GET', '/system/roles', self.list, - tag='role:root') - - router.add('GET', - '/system/roles/delete/{id}', - self.delete, - tag='role:root') + tag='roles:view') router.add('GET', '/system/roles/{id}', self.view, - tag='role:root') + tag='roles:view') + + router.add('GET', + '/system/roles/delete/{id}', + self.delete, + tag='roles:admin') router.add(('GET', 'POST',), '/system/roles/add', self.add, - tag='role:root') + tag='roles:admin') router.add(('GET', 'POST',), '/system/roles/edit/{id}', self.edit, - tag='role:root') + tag='roles:admin') def list(self, req, resp): list_html = datatable(req, 'roles_view', diff --git a/photonic/views/tenants.py b/photonic/views/tenants.py index b2f9b4e..c32e1ab 100644 --- a/photonic/views/tenants.py +++ b/photonic/views/tenants.py @@ -37,7 +37,7 @@ from photonic.views.datatable import datatable -g.nav_menu.add('/System/Tenants', href='/system/tenants', view='admin') +g.nav_menu.add('/System/Tenants', href='/system/tenants', tag='users:admin') @register.resources() @@ -46,27 +46,27 @@ def __init__(self): router.add('GET', '/system/tenants', self.list, - tag='role:root') - - router.add('GET', - '/system/tenants/delete/{id}', - self.delete, - tag='role:root') + tag='tenants:view') router.add('GET', '/system/tenants/{id}', self.view, - tag='role:root') + tag='tenants:view') + + router.add('GET', + '/system/tenants/delete/{id}', + self.delete, + tag='tenants:admin') router.add(('GET', 'POST',), '/system/tenants/add', self.add, - tag='role:root') + tag='tenants:admin') router.add(('GET', 'POST',), '/system/tenants/edit/{id}', self.edit, - tag='role:root') + tag='tenants:admin') def list(self, req, resp): list_html = datatable(req, 'tenants_view', diff --git a/photonic/views/users.py b/photonic/views/users.py index a04c53b..91a0a1c 100644 --- a/photonic/views/users.py +++ b/photonic/views/users.py @@ -38,12 +38,12 @@ from photonic.models.user_roles import luxon_user_role from photonic.views.datatable import datatable -g.nav_menu.add('/System/Users', href='/system/users', view='admin') +g.nav_menu.add('/System/Users', href='/system/users', tag='admin') def none_to_blank(lst): """Replaces all None values with "" - + Args: lst (list): list of list or dict objects to parse. @@ -70,27 +70,27 @@ def __init__(self): router.add('GET', '/system/users', self.list, - tag='role:root') - - router.add('GET', - '/system/users/delete/{id}', - self.delete, - tag='role:root') + tag='users:view') router.add('GET', '/system/users/{id}', self.view, - tag='role:root') + tag='users:view') + + router.add('GET', + '/system/users/delete/{id}', + self.delete, + tag='users:admin') router.add(('GET', 'POST',), '/system/users/add', self.add, - tag='role:root') + tag='users:admin') router.add(('GET', 'POST',), '/system/users/edit/{id}', self.edit, - tag='role:root') + tag='users:admin') def list(self, req, resp): list_html = datatable(req, 'users_view', From 0edad9433c9079c7712d5c6248882d97e9ae42e2 Mon Sep 17 00:00:00 2001 From: Christiaan Frans Rademan Date: Wed, 23 May 2018 22:28:10 +0200 Subject: [PATCH 2/2] Photonic code cleanup #35 --- photonic/static/photonic/photonic.css | 107 +++++++++----------------- photonic/static/photonic/photonic.js | 15 ++-- photonic/templates/header.html | 4 +- photonic/templates/sidebar.html | 2 +- photonic/templates/view.html | 3 +- 5 files changed, 49 insertions(+), 82 deletions(-) diff --git a/photonic/static/photonic/photonic.css b/photonic/static/photonic/photonic.css index ad15ee6..e92f956 100644 --- a/photonic/static/photonic/photonic.css +++ b/photonic/static/photonic/photonic.css @@ -27,6 +27,7 @@ body { header { display: flex; position: fixed; + align-items:center; padding-left: 1rem; padding-right: 1rem; height: 3rem; @@ -36,24 +37,45 @@ header { z-index: 1000; background-color: #343a40; box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); + font-size: 1rem; } -.header-brand { - display: inline-block; - font-size: 1rem; + +header a { + display: flex; + align-items:center; + float: right; + padding-left: 5px; + padding-right: 5px; white-space: nowrap; line-height: inherit; - color: #fff; - padding-top: .75rem; - padding-bottom: .75rem; + color: #999; } -.header-brand:hover, .header-brand:focus { +header a .feather { + color: #999; + margin-right: 0.3rem; + height: 3rem; +} + +header a:hover { color: #fff; text-decoration: none; } -img.header-brand { +header a:hover .feather { + color: #fff; +} + +header span { + display: flex; + align-items:center; + white-space: nowrap; + color: #fff; +} + +header img { + height: 3rem; padding-top: .2rem; padding-bottom: .2rem; margin-right: 5px; @@ -66,27 +88,6 @@ div.header-links { justify-content: space-between; } -.header-link { - align-items:center; - display: flex; - float: right; - padding-top: .75rem; - padding-bottom: .75rem; - padding-left: 5px; - padding-right: 5px; - white-space: nowrap; - line-height: inherit; - color: rgba(255,255,255,.5); -} - -.header-link .feather { - padding-right: 0.3rem; -} - -.header-link:hover, .header-link:focus { - color: rgba(255,255,255,.75); - text-decoration: none; -} .application { height: 100%; @@ -170,7 +171,8 @@ main { background-color: #ffffff; padding: 0px; margin-left: 250px; - max-width: 1000px; + width: calc(100% - 260px); + max-width: 1100px; border-right: 1px solid #ddd; } @@ -179,32 +181,19 @@ div.view { padding-right: 5px; } -span.toggler-icon { +.toggler-icon { display: none; - padding-top: .75rem; - padding-bottom: .75rem; - margin: 0px; - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); - vertical-align: middle; - width: 1.5em; - height: 1.5em; - content: ""; - height: 48px; - background-repeat: none; - background-position: center; - background-size: 100% 100%; - margin-right: 10px; - } @media screen and (max-width: 1100px) { - div.navigation { + div.sidebar { display: none; } main { margin-left: 0px; + width: 100%; } - span.toggler-icon { + .toggler-icon { display: inline-block !important; } } @@ -217,8 +206,8 @@ h1 { line-height: 1.5rem; color: #427FA2; display: block; - width: 100%; border-bottom: 1px solid #ddd; + width: 100%; } h1 .feather { @@ -231,28 +220,6 @@ h1 .feather { vertical-align: text-bottom; } -h1.page_view { - position: fixed; - z-index: 1000; -} - -h1.page_view .feather { - position: fixed; - right: 0; - color: #999; - margin-right: 5px; - width: 1.5rem; - height: 1.5rem; - vertical-align: text-bottom; -} - -div.push_page_view { - height: 2rem; - width: 100%; - clear: both; - z-index: 1; -} - footer { background-color: #343a40; left: 0px; diff --git a/photonic/static/photonic/photonic.js b/photonic/static/photonic/photonic.js index efa2851..07ba5fe 100644 --- a/photonic/static/photonic/photonic.js +++ b/photonic/static/photonic/photonic.js @@ -28,21 +28,22 @@ function reloadStylesheets() { /** * Toggle Navigation */ -function toggle_navigation() { - var display = document.getElementById('navigation').style.display; +function toggle_sidebar() { + var display = document.getElementById('sidebar').style.display; if (display == "none" || display == "") { - document.getElementById('navigation').style.display = "block"; + document.getElementById('sidebar').style.display = "block"; } else { - document.getElementById('navigation').style.display = "none"; + document.getElementById('sidebar').style.display = "none"; } } + window.onresize = function() { - if (window.innerWidth >= 1100) { - document.getElementById('navigation').style.display = "block"; + if (window.innerWidth > 1100) { + document.getElementById('sidebar').style.display = "block"; } else { - document.getElementById('navigation').style.display = "none"; + document.getElementById('sidebar').style.display = "none"; } } diff --git a/photonic/templates/header.html b/photonic/templates/header.html index 0d53d13..679ba80 100644 --- a/photonic/templates/header.html +++ b/photonic/templates/header.html @@ -1,8 +1,8 @@
- + Logo - {{ G.app.config.get("application", 'name', fallback='Tachonic UI') }} + {{ G.app.config.get("application", 'name', fallback='Tachonic UI') }}
{{ REQ.context.tenants_html }} diff --git a/photonic/templates/sidebar.html b/photonic/templates/sidebar.html index 82ab7dd..5828c83 100644 --- a/photonic/templates/sidebar.html +++ b/photonic/templates/sidebar.html @@ -1,7 +1,7 @@