always allow access to <app>/appadmin/manage/auth if used is admin
This commit is contained in:
@@ -49,7 +49,8 @@ if request.function == 'manage':
|
|||||||
auth.table_group(),
|
auth.table_group(),
|
||||||
auth.table_permission()])
|
auth.table_permission()])
|
||||||
manager_role = manager_action.get('role', None) if manager_action else None
|
manager_role = manager_action.get('role', None) if manager_action else None
|
||||||
auth.requires_membership(manager_role)(lambda: None)()
|
if not (gluon.fileutils.check_credentials(request) or auth.has_membership(manager_role)):
|
||||||
|
raise HTTP(403, "Not authorized")
|
||||||
menu = False
|
menu = False
|
||||||
elif (request.application == 'admin' and not session.authorized) or \
|
elif (request.application == 'admin' and not session.authorized) or \
|
||||||
(request.application != 'admin' and not gluon.fileutils.check_credentials(request)):
|
(request.application != 'admin' and not gluon.fileutils.check_credentials(request)):
|
||||||
@@ -80,7 +81,6 @@ if False and request.tickets_db:
|
|||||||
def get_databases(request):
|
def get_databases(request):
|
||||||
dbs = {}
|
dbs = {}
|
||||||
for (key, value) in global_env.items():
|
for (key, value) in global_env.items():
|
||||||
cond = False
|
|
||||||
try:
|
try:
|
||||||
cond = isinstance(value, GQLDB)
|
cond = isinstance(value, GQLDB)
|
||||||
except:
|
except:
|
||||||
@@ -420,7 +420,7 @@ def ccache():
|
|||||||
'oldest': time.time(),
|
'oldest': time.time(),
|
||||||
'keys': []
|
'keys': []
|
||||||
}
|
}
|
||||||
|
|
||||||
disk = copy.copy(ram)
|
disk = copy.copy(ram)
|
||||||
total = copy.copy(ram)
|
total = copy.copy(ram)
|
||||||
disk['keys'] = []
|
disk['keys'] = []
|
||||||
@@ -480,7 +480,7 @@ def ccache():
|
|||||||
disk['oldest'] = value[0]
|
disk['oldest'] = value[0]
|
||||||
disk['keys'].append((key, GetInHMS(time.time() - value[0])))
|
disk['keys'].append((key, GetInHMS(time.time() - value[0])))
|
||||||
|
|
||||||
ram_keys = ram.keys()
|
ram_keys = ram.keys() # ['hits', 'objects', 'ratio', 'entries', 'keys', 'oldest', 'bytes', 'misses']
|
||||||
ram_keys.remove('ratio')
|
ram_keys.remove('ratio')
|
||||||
ram_keys.remove('oldest')
|
ram_keys.remove('oldest')
|
||||||
for key in ram_keys:
|
for key in ram_keys:
|
||||||
@@ -491,7 +491,7 @@ def ccache():
|
|||||||
total['misses'])
|
total['misses'])
|
||||||
except (KeyError, ZeroDivisionError):
|
except (KeyError, ZeroDivisionError):
|
||||||
total['ratio'] = 0
|
total['ratio'] = 0
|
||||||
|
|
||||||
if disk['oldest'] < ram['oldest']:
|
if disk['oldest'] < ram['oldest']:
|
||||||
total['oldest'] = disk['oldest']
|
total['oldest'] = disk['oldest']
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -49,7 +49,8 @@ if request.function == 'manage':
|
|||||||
auth.table_group(),
|
auth.table_group(),
|
||||||
auth.table_permission()])
|
auth.table_permission()])
|
||||||
manager_role = manager_action.get('role', None) if manager_action else None
|
manager_role = manager_action.get('role', None) if manager_action else None
|
||||||
auth.requires_membership(manager_role)(lambda: None)()
|
if not (gluon.fileutils.check_credentials(request) or auth.has_membership(manager_role)):
|
||||||
|
raise HTTP(403, "Not authorized")
|
||||||
menu = False
|
menu = False
|
||||||
elif (request.application == 'admin' and not session.authorized) or \
|
elif (request.application == 'admin' and not session.authorized) or \
|
||||||
(request.application != 'admin' and not gluon.fileutils.check_credentials(request)):
|
(request.application != 'admin' and not gluon.fileutils.check_credentials(request)):
|
||||||
@@ -80,7 +81,6 @@ if False and request.tickets_db:
|
|||||||
def get_databases(request):
|
def get_databases(request):
|
||||||
dbs = {}
|
dbs = {}
|
||||||
for (key, value) in global_env.items():
|
for (key, value) in global_env.items():
|
||||||
cond = False
|
|
||||||
try:
|
try:
|
||||||
cond = isinstance(value, GQLDB)
|
cond = isinstance(value, GQLDB)
|
||||||
except:
|
except:
|
||||||
@@ -420,7 +420,7 @@ def ccache():
|
|||||||
'oldest': time.time(),
|
'oldest': time.time(),
|
||||||
'keys': []
|
'keys': []
|
||||||
}
|
}
|
||||||
|
|
||||||
disk = copy.copy(ram)
|
disk = copy.copy(ram)
|
||||||
total = copy.copy(ram)
|
total = copy.copy(ram)
|
||||||
disk['keys'] = []
|
disk['keys'] = []
|
||||||
@@ -480,12 +480,12 @@ def ccache():
|
|||||||
disk['oldest'] = value[0]
|
disk['oldest'] = value[0]
|
||||||
disk['keys'].append((key, GetInHMS(time.time() - value[0])))
|
disk['keys'].append((key, GetInHMS(time.time() - value[0])))
|
||||||
|
|
||||||
total['entries'] = ram['entries'] + disk['entries']
|
ram_keys = ram.keys() # ['hits', 'objects', 'ratio', 'entries', 'keys', 'oldest', 'bytes', 'misses']
|
||||||
total['bytes'] = ram['bytes'] + disk['bytes']
|
ram_keys.remove('ratio')
|
||||||
total['objects'] = ram['objects'] + disk['objects']
|
ram_keys.remove('oldest')
|
||||||
total['hits'] = ram['hits'] + disk['hits']
|
for key in ram_keys:
|
||||||
total['misses'] = ram['misses'] + disk['misses']
|
total[key] = ram[key] + disk[key]
|
||||||
total['keys'] = ram['keys'] + disk['keys']
|
|
||||||
try:
|
try:
|
||||||
total['ratio'] = total['hits'] * 100 / (total['hits'] +
|
total['ratio'] = total['hits'] * 100 / (total['hits'] +
|
||||||
total['misses'])
|
total['misses'])
|
||||||
@@ -577,9 +577,7 @@ def bg_graph_model():
|
|||||||
group = meta_graphmodel['group'].replace(' ', '')
|
group = meta_graphmodel['group'].replace(' ', '')
|
||||||
if not subgraphs.has_key(group):
|
if not subgraphs.has_key(group):
|
||||||
subgraphs[group] = dict(meta=meta_graphmodel, tables=[])
|
subgraphs[group] = dict(meta=meta_graphmodel, tables=[])
|
||||||
subgraphs[group]['tables'].append(tablename)
|
subgraphs[group]['tables'].append(tablename)
|
||||||
else:
|
|
||||||
subgraphs[group]['tables'].append(tablename)
|
|
||||||
|
|
||||||
graph.add_node(tablename, name=tablename, shape='plaintext',
|
graph.add_node(tablename, name=tablename, shape='plaintext',
|
||||||
label=table_template(tablename))
|
label=table_template(tablename))
|
||||||
|
|||||||
Reference in New Issue
Block a user