mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
Merge branch 'pretzel-unstable' into 'pretzel'
Added user list with users attached to role on role config page. See merge request crafty-controller/crafty-commander!42
This commit is contained in:
commit
e62b24fdb8
@ -258,6 +258,8 @@ class PanelHandler(BaseHandler):
|
|||||||
elif page == 'panel_config':
|
elif page == 'panel_config':
|
||||||
auth_servers = {}
|
auth_servers = {}
|
||||||
auth_role_servers = {}
|
auth_role_servers = {}
|
||||||
|
users_list = []
|
||||||
|
role_users = {}
|
||||||
roles = db_helper.get_all_roles()
|
roles = db_helper.get_all_roles()
|
||||||
role_servers = []
|
role_servers = []
|
||||||
user_roles = {}
|
user_roles = {}
|
||||||
@ -279,6 +281,7 @@ class PanelHandler(BaseHandler):
|
|||||||
data = {role['role_id']: role_servers}
|
data = {role['role_id']: role_servers}
|
||||||
auth_role_servers.update(data)
|
auth_role_servers.update(data)
|
||||||
|
|
||||||
|
|
||||||
page_data['auth-servers'] = auth_servers
|
page_data['auth-servers'] = auth_servers
|
||||||
page_data['role-servers'] = auth_role_servers
|
page_data['role-servers'] = auth_role_servers
|
||||||
page_data['user-roles'] = user_roles
|
page_data['user-roles'] = user_roles
|
||||||
@ -341,14 +344,14 @@ class PanelHandler(BaseHandler):
|
|||||||
page_data['roles_all'] = db_helper.get_all_roles()
|
page_data['roles_all'] = db_helper.get_all_roles()
|
||||||
page_data['servers_all'] = self.controller.list_defined_servers()
|
page_data['servers_all'] = self.controller.list_defined_servers()
|
||||||
|
|
||||||
if not exec_user['superuser']:
|
if user_id is None:
|
||||||
|
self.redirect("/panel/error?error=Invalid User ID")
|
||||||
|
return
|
||||||
|
elif not exec_user['superuser']:
|
||||||
page_data['servers'] = []
|
page_data['servers'] = []
|
||||||
page_data['role-servers'] = []
|
page_data['role-servers'] = []
|
||||||
page_data['roles_all'] = []
|
page_data['roles_all'] = []
|
||||||
page_data['servers_all'] = []
|
page_data['servers_all'] = []
|
||||||
elif user_id is None:
|
|
||||||
self.redirect("/panel/error?error=Invalid User ID")
|
|
||||||
return
|
|
||||||
|
|
||||||
if exec_user['user_id'] != page_data['user']['user_id']:
|
if exec_user['user_id'] != page_data['user']['user_id']:
|
||||||
page_data['user']['api_token'] = "********"
|
page_data['user']['api_token'] = "********"
|
||||||
@ -382,6 +385,12 @@ class PanelHandler(BaseHandler):
|
|||||||
self.redirect("/panel/panel_config")
|
self.redirect("/panel/panel_config")
|
||||||
|
|
||||||
elif page == "add_role":
|
elif page == "add_role":
|
||||||
|
user_roles = {}
|
||||||
|
for user in db_helper.get_all_users():
|
||||||
|
user_roles_list = db_helper.get_user_roles_names(user.user_id)
|
||||||
|
user_servers = db_helper.get_all_authorized_servers(user.user_id)
|
||||||
|
data = {user.user_id: user_roles_list}
|
||||||
|
user_roles.update(data)
|
||||||
page_data['new_role'] = True
|
page_data['new_role'] = True
|
||||||
page_data['role'] = {}
|
page_data['role'] = {}
|
||||||
page_data['role']['role_name'] = ""
|
page_data['role']['role_name'] = ""
|
||||||
@ -389,6 +398,8 @@ class PanelHandler(BaseHandler):
|
|||||||
page_data['role']['created'] = "N/A"
|
page_data['role']['created'] = "N/A"
|
||||||
page_data['role']['last_update'] = "N/A"
|
page_data['role']['last_update'] = "N/A"
|
||||||
page_data['role']['servers'] = set()
|
page_data['role']['servers'] = set()
|
||||||
|
page_data['user-roles'] = user_roles
|
||||||
|
page_data['users'] = db_helper.get_all_users()
|
||||||
|
|
||||||
if not exec_user['superuser']:
|
if not exec_user['superuser']:
|
||||||
self.redirect("/panel/error?error=Unauthorized access: not superuser")
|
self.redirect("/panel/error?error=Unauthorized access: not superuser")
|
||||||
@ -398,10 +409,20 @@ class PanelHandler(BaseHandler):
|
|||||||
template = "panel/panel_edit_role.html"
|
template = "panel/panel_edit_role.html"
|
||||||
|
|
||||||
elif page == "edit_role":
|
elif page == "edit_role":
|
||||||
|
auth_servers = {}
|
||||||
|
|
||||||
|
user_roles = {}
|
||||||
|
for user in db_helper.get_all_users():
|
||||||
|
user_roles_list = db_helper.get_user_roles_names(user.user_id)
|
||||||
|
user_servers = db_helper.get_all_authorized_servers(user.user_id)
|
||||||
|
data = {user.user_id: user_roles_list}
|
||||||
|
user_roles.update(data)
|
||||||
page_data['new_role'] = False
|
page_data['new_role'] = False
|
||||||
role_id = self.get_argument('id', None)
|
role_id = self.get_argument('id', None)
|
||||||
page_data['role'] = db_helper.get_role(role_id)
|
page_data['role'] = db_helper.get_role(role_id)
|
||||||
page_data['servers_all'] = self.controller.list_defined_servers()
|
page_data['servers_all'] = self.controller.list_defined_servers()
|
||||||
|
page_data['user-roles'] = user_roles
|
||||||
|
page_data['users'] = db_helper.get_all_users()
|
||||||
|
|
||||||
if not exec_user['superuser']:
|
if not exec_user['superuser']:
|
||||||
self.redirect("/panel/error?error=Unauthorized access: not superuser")
|
self.redirect("/panel/error?error=Unauthorized access: not superuser")
|
||||||
|
@ -105,6 +105,7 @@
|
|||||||
<tr class="rounded">
|
<tr class="rounded">
|
||||||
<th>Role</th>
|
<th>Role</th>
|
||||||
<th>Allowed Servers</th>
|
<th>Allowed Servers</th>
|
||||||
|
<th>Role Users</th>
|
||||||
<th>Edit</th>
|
<th>Edit</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@ -117,6 +118,16 @@
|
|||||||
<li>{{item}}</li>
|
<li>{{item}}</li>
|
||||||
{% end %}
|
{% end %}
|
||||||
</ul></td>
|
</ul></td>
|
||||||
|
<td><ul>
|
||||||
|
{% for user in data['users'] %}
|
||||||
|
{% for ruser in data['user-roles'][user.user_id] %}
|
||||||
|
{% if ruser == role.role_name %}
|
||||||
|
<li>{{ user.username }}</li>
|
||||||
|
{% end %}
|
||||||
|
{% end %}
|
||||||
|
{% end %}
|
||||||
|
</ul>
|
||||||
|
</td>
|
||||||
<td><a href="/panel/edit_role?id={{role.role_id}}"><i class="fas fa-pencil-alt"></i></a></td>
|
<td><a href="/panel/edit_role?id={{role.role_id}}"><i class="fas fa-pencil-alt"></i></a></td>
|
||||||
</tr>
|
</tr>
|
||||||
{% end %}
|
{% end %}
|
||||||
|
@ -48,7 +48,6 @@
|
|||||||
<i class="fas fa-folder-tree"></i>Other</a>
|
<i class="fas fa-folder-tree"></i>Other</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6 col-sm-12">
|
<div class="col-md-6 col-sm-12">
|
||||||
{% if data['new_role'] %}
|
{% if data['new_role'] %}
|
||||||
@ -97,9 +96,22 @@
|
|||||||
<button type="submit" class="btn btn-success mr-2">Save</button>
|
<button type="submit" class="btn btn-success mr-2">Save</button>
|
||||||
<button type="reset" onclick="location.href='/panel/panel_config'" class="btn btn-light">Cancel</button>
|
<button type="reset" onclick="location.href='/panel/panel_config'" class="btn btn-light">Cancel</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-md-6 col-sm-12">
|
</div>
|
||||||
|
<div class="col-md-3 col-sm-12">
|
||||||
|
<h6>Users Assigned to Role:</h6>
|
||||||
|
<ul>
|
||||||
|
{% for user in data['users'] %}
|
||||||
|
{% for ruser in data['user-roles'][user.user_id] %}
|
||||||
|
{% if ruser == data['role']['role_name'] %}
|
||||||
|
<li>{{ user.username }}</li>
|
||||||
|
{% end %}
|
||||||
|
{% end %}
|
||||||
|
{% end %}
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3 col-sm-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h4 class="card-title">Role Config Area</h4>
|
<h4 class="card-title">Role Config Area</h4>
|
||||||
@ -113,6 +125,8 @@
|
|||||||
</p>
|
</p>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
{% if data['new_role'] %}
|
{% if data['new_role'] %}
|
||||||
@ -123,8 +137,6 @@
|
|||||||
{% end %}
|
{% end %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user