mirror of
https://github.com/kakwa/ldapcherry
synced 2024-11-22 09:24:21 +01:00
implementing conditional navbar
* implementing navbar that displays actions the user is authorized to do
This commit is contained in:
parent
4c3fd72d43
commit
494d553a74
@ -335,6 +335,11 @@ class LdapCherry(object):
|
|||||||
ret[u][attr] = tmp[u][attr]
|
ret[u][attr] = tmp[u][attr]
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
def _check_admin(self):
|
||||||
|
if self.auth_mode == 'none':
|
||||||
|
return True
|
||||||
|
return cherrypy.session['isadmin']
|
||||||
|
|
||||||
def _check_auth(self, must_admin):
|
def _check_auth(self, must_admin):
|
||||||
if self.auth_mode == 'none':
|
if self.auth_mode == 'none':
|
||||||
return 'anonymous'
|
return 'anonymous'
|
||||||
@ -419,53 +424,60 @@ class LdapCherry(object):
|
|||||||
"""main page rendering
|
"""main page rendering
|
||||||
"""
|
"""
|
||||||
self._check_auth(must_admin=False)
|
self._check_auth(must_admin=False)
|
||||||
return self.temp_index.render()
|
is_admin = self._check_admin()
|
||||||
|
return self.temp_index.render(is_admin=is_admin)
|
||||||
|
|
||||||
@cherrypy.expose
|
@cherrypy.expose
|
||||||
def searchuser(self, searchstring=None):
|
def searchuser(self, searchstring=None):
|
||||||
""" search user page """
|
""" search user page """
|
||||||
self._check_auth(must_admin=False)
|
self._check_auth(must_admin=False)
|
||||||
|
is_admin = self._check_admin()
|
||||||
if not searchstring is None:
|
if not searchstring is None:
|
||||||
res = self._search(searchstring)
|
res = self._search(searchstring)
|
||||||
else:
|
else:
|
||||||
res = None
|
res = None
|
||||||
attrs_list = self.attributes.get_search_attributes()
|
attrs_list = self.attributes.get_search_attributes()
|
||||||
return self.temp_searchuser.render(searchresult = res, attrs_list = attrs_list)
|
return self.temp_searchuser.render(searchresult = res, attrs_list = attrs_list, is_admin=is_admin)
|
||||||
|
|
||||||
@cherrypy.expose
|
@cherrypy.expose
|
||||||
def searchadmin(self, searchstring=None):
|
def searchadmin(self, searchstring=None):
|
||||||
""" search user page """
|
""" search user page """
|
||||||
self._check_auth(must_admin=True)
|
self._check_auth(must_admin=True)
|
||||||
|
is_admin = self._check_admin()
|
||||||
if not searchstring is None:
|
if not searchstring is None:
|
||||||
res = self._search(searchstring)
|
res = self._search(searchstring)
|
||||||
else:
|
else:
|
||||||
res = None
|
res = None
|
||||||
attrs_list = self.attributes.get_search_attributes()
|
attrs_list = self.attributes.get_search_attributes()
|
||||||
return self.temp_searchadmin.render(searchresult = res, attrs_list = attrs_list)
|
return self.temp_searchadmin.render(searchresult = res, attrs_list = attrs_list, is_admin=is_admin)
|
||||||
|
|
||||||
@cherrypy.expose
|
@cherrypy.expose
|
||||||
def adduser(self, **params):
|
def adduser(self, **params):
|
||||||
""" add user page """
|
""" add user page """
|
||||||
self._check_auth(must_admin=True)
|
self._check_auth(must_admin=True)
|
||||||
|
is_admin = self._check_admin()
|
||||||
form = self.temp_form.render(attributes=self.attributes.attributes, values=None)
|
form = self.temp_form.render(attributes=self.attributes.attributes, values=None)
|
||||||
roles = self.temp_roles.render(roles=self.roles.flatten, graph=self.roles.graph)
|
roles = self.temp_roles.render(roles=self.roles.flatten, graph=self.roles.graph)
|
||||||
return self.temp_adduser.render(form=form, roles=roles)
|
return self.temp_adduser.render(form=form, roles=roles, is_admin=is_admin)
|
||||||
|
|
||||||
@cherrypy.expose
|
@cherrypy.expose
|
||||||
def delete(self, **params):
|
def delete(self, **params):
|
||||||
""" remove user page """
|
""" remove user page """
|
||||||
self._check_auth(must_admin=True)
|
self._check_auth(must_admin=True, is_admin=is_admin)
|
||||||
|
is_admin = self._check_admin()
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@cherrypy.expose
|
@cherrypy.expose
|
||||||
def modify(self, **params):
|
def modify(self, **params):
|
||||||
""" modify user page """
|
""" modify user page """
|
||||||
self._check_auth(must_admin=True)
|
self._check_auth(must_admin=True, is_admin=is_admin)
|
||||||
|
is_admin = self._check_admin()
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@cherrypy.expose
|
@cherrypy.expose
|
||||||
def selfmodify(self, **params):
|
def selfmodify(self, **params):
|
||||||
""" self modify user page """
|
""" self modify user page """
|
||||||
self._check_auth(must_admin=False)
|
self._check_auth(must_admin=False)
|
||||||
|
is_admin = self._check_admin()
|
||||||
form = self.temp_form.render(attributes=self.attributes.get_selfattributes(), values=None)
|
form = self.temp_form.render(attributes=self.attributes.get_selfattributes(), values=None)
|
||||||
return self.temp_selfmodify.render(form=form)
|
return self.temp_selfmodify.render(form=form, is_admin=is_admin)
|
||||||
|
@ -6,8 +6,10 @@
|
|||||||
<div class="navbar-header">
|
<div class="navbar-header">
|
||||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>
|
||||||
<a class="navbar-brand" href="/selfmodify">Self Modify</a>
|
<a class="navbar-brand" href="/selfmodify">Self Modify</a>
|
||||||
|
% if is_admin:
|
||||||
<a class="navbar-brand" href="/adduser">Add User</a>
|
<a class="navbar-brand" href="/adduser">Add User</a>
|
||||||
<a class="navbar-brand" href="/searchadmin">Delete/Modify User</a>
|
<a class="navbar-brand" href="/searchadmin">Delete/Modify User</a>
|
||||||
|
% endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||||
|
Loading…
Reference in New Issue
Block a user