always allow access to <app>/appadmin/manage/auth if used is admin

This commit is contained in:
mdipierro
2015-06-28 16:41:09 -05:00
parent 26d87967c5
commit d2375b4187
2 changed files with 15 additions and 17 deletions
+5 -5
View File
@@ -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:
+10 -12
View File
@@ -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))