Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
J
jumpserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
jumpserver
Commits
b7fcf80f
Commit
b7fcf80f
authored
Aug 06, 2018
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Update] 优化用户资产页面
parent
de3695bf
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
17 additions
and
41 deletions
+17
-41
user_asset_list.html
apps/assets/templates/assets/user_asset_list.html
+13
-33
api.py
apps/perms/api.py
+1
-3
user_granted_asset.html
apps/users/templates/users/user_granted_asset.html
+3
-4
user.py
apps/users/views/user.py
+0
-1
No files found.
apps/assets/templates/assets/user_asset_list.html
View file @
b7fcf80f
...
@@ -62,7 +62,7 @@
...
@@ -62,7 +62,7 @@
{% block custom_foot_js %}
{% block custom_foot_js %}
<script>
<script>
var
zTree
,
rMenu
,
asset_table
;
var
zTree
,
asset_table
;
var
inited
=
false
;
var
inited
=
false
;
var
url
;
var
url
;
function
initTable
()
{
function
initTable
()
{
...
@@ -71,14 +71,11 @@ function initTable() {
...
@@ -71,14 +71,11 @@ function initTable() {
}
else
{
}
else
{
inited
=
true
;
inited
=
true
;
}
}
console
.
log
(
"init table"
)
url
=
"{% url 'api-perms:my-assets' %}"
;
var
options
=
{
var
options
=
{
ele
:
$
(
'#user_assets_table'
),
ele
:
$
(
'#user_assets_table'
),
columnDefs
:
[
columnDefs
:
[
{
#
{
targets
:
1
,
createdCell
:
function
(
td
,
cellData
,
rowData
)
{
#
}
{
#
{
%
url
'assets:asset-detail'
pk
=
DEFAULT_PK
as
the_url
%
}
#
}
{
#
var
detail_btn
=
'<a href="{{ the_url }}">'
+
cellData
+
'</a>'
;
#
}
{
#
$
(
td
).
html
(
detail_btn
.
replace
(
'{{ DEFAULT_PK }}'
,
rowData
.
id
));
#
}
{
#
}},
#
}
{
targets
:
1
,
createdCell
:
function
(
td
,
cellData
,
rowData
)
{
{
targets
:
1
,
createdCell
:
function
(
td
,
cellData
,
rowData
)
{
var
detail_btn
=
'<a class="asset_detail" asset-id="rowData_id" data-toggle="modal" data-target="#user_asset_detail_modal" tabindex="0">'
+
cellData
+
'</a>'
var
detail_btn
=
'<a class="asset_detail" asset-id="rowData_id" data-toggle="modal" data-target="#user_asset_detail_modal" tabindex="0">'
+
cellData
+
'</a>'
$
(
td
).
html
(
detail_btn
.
replace
(
"rowData_id"
,
rowData
.
id
));
$
(
td
).
html
(
detail_btn
.
replace
(
"rowData_id"
,
rowData
.
id
));
...
@@ -110,33 +107,13 @@ function initTable() {
...
@@ -110,33 +107,13 @@ function initTable() {
}
}
function
onSelected
(
event
,
treeNode
)
{
function
onSelected
(
event
,
treeNode
)
{
console
.
log
(
"select"
);
url
=
'{% url "api-perms:my-node-assets" node_id=DEFAULT_PK %}'
;
url
=
'{% url "api-perms:my-node-assets" node_id=DEFAULT_PK %}'
;
url
=
url
.
replace
(
"{{ DEFAULT_PK }}"
,
treeNode
.
id
);
url
=
url
.
replace
(
"{{ DEFAULT_PK }}"
,
treeNode
.
node_id
);
initTable
();
setCookie
(
'node_selected'
,
treeNode
.
id
);
setCookie
(
'node_selected'
,
treeNode
.
id
);
asset_table
.
ajax
.
url
(
url
);
asset_table
.
ajax
.
url
(
url
);
asset_table
.
ajax
.
reload
();
asset_table
.
ajax
.
reload
();
}
}
function
selectQueryNode
()
{
var
query_node_id
=
$
.
getUrlParam
(
"node"
);
var
cookie_node_id
=
getCookie
(
'node_selected'
);
var
node
;
var
node_id
;
if
(
query_node_id
!==
null
)
{
node_id
=
query_node_id
}
else
if
(
cookie_node_id
!==
null
)
{
node_id
=
cookie_node_id
;
}
node
=
zTree
.
getNodesByParam
(
"id"
,
node_id
,
null
);
if
(
node
){
zTree
.
selectNode
(
node
[
0
]);
}
}
function
initTree
()
{
function
initTree
()
{
var
setting
=
{
var
setting
=
{
view
:
{
view
:
{
...
@@ -156,22 +133,25 @@ function initTree() {
...
@@ -156,22 +133,25 @@ function initTree() {
var
zNodes
=
[];
var
zNodes
=
[];
$
.
get
(
"{% url 'api-perms:my-nodes' %}"
,
function
(
data
,
status
){
$
.
get
(
"{% url 'api-perms:my-nodes' %}"
,
function
(
data
,
status
){
$
.
each
(
data
,
function
(
index
,
value
)
{
$
.
each
(
data
,
function
(
index
,
value
)
{
value
[
"pId"
]
=
value
[
"parent"
];
value
[
"node_id"
]
=
value
[
"id"
];
if
(
value
[
"key"
]
===
"0"
)
{
value
[
"id"
]
=
value
[
"tree_id"
];
value
[
"open"
]
=
true
;
if
(
value
[
"tree_id"
]
!==
value
[
"tree_parent"
])
{
value
[
"pId"
]
=
value
[
"tree_parent"
];
}
}
value
[
"name"
]
=
value
[
"value"
]
value
[
"isParent"
]
=
value
[
"is_node"
];
value
[
'name'
]
=
value
[
'value'
];
});
});
zNodes
=
data
;
zNodes
=
data
;
$
.
fn
.
zTree
.
init
(
$
(
"#assetTree"
),
setting
,
zNodes
);
$
.
fn
.
zTree
.
init
(
$
(
"#assetTree"
),
setting
,
zNodes
);
zTree
=
$
.
fn
.
zTree
.
getZTreeObj
(
"assetTree"
);
zTree
=
$
.
fn
.
zTree
.
getZTreeObj
(
"assetTree"
);
rMenu
=
$
(
"#rMenu"
)
;
var
root
=
zTree
.
getNodes
()[
0
]
;
selectQueryNode
(
);
zTree
.
expandNode
(
root
);
});
});
}
}
$
(
document
).
ready
(
function
()
{
$
(
document
).
ready
(
function
()
{
initTree
();
initTree
();
initTable
();
})
})
.
on
(
'click'
,
'.asset_detail'
,
function
()
{
.
on
(
'click'
,
'.asset_detail'
,
function
()
{
var
data
=
asset_table
.
ajax
.
json
();
var
data
=
asset_table
.
ajax
.
json
();
...
...
apps/perms/api.py
View file @
b7fcf80f
...
@@ -15,8 +15,6 @@ from .models import AssetPermission
...
@@ -15,8 +15,6 @@ from .models import AssetPermission
from
.hands
import
AssetGrantedSerializer
,
User
,
UserGroup
,
Asset
,
Node
,
\
from
.hands
import
AssetGrantedSerializer
,
User
,
UserGroup
,
Asset
,
Node
,
\
NodeGrantedSerializer
,
SystemUser
,
NodeSerializer
NodeGrantedSerializer
,
SystemUser
,
NodeSerializer
from
.
import
serializers
from
.
import
serializers
from
orgs.utils
import
set_current_org
from
orgs.models
import
Organization
class
AssetPermissionViewSet
(
viewsets
.
ModelViewSet
):
class
AssetPermissionViewSet
(
viewsets
.
ModelViewSet
):
...
@@ -58,7 +56,7 @@ class AssetPermissionViewSet(viewsets.ModelViewSet):
...
@@ -58,7 +56,7 @@ class AssetPermissionViewSet(viewsets.ModelViewSet):
return
permissions
return
permissions
class
UserGrantedAssetsApi
(
ListAPIView
):
class
UserGrantedAssetsApi
(
RootOrgViewMixin
,
ListAPIView
):
"""
"""
用户授权的所有资产
用户授权的所有资产
"""
"""
...
...
apps/users/templates/users/user_granted_asset.html
View file @
b7fcf80f
...
@@ -72,6 +72,7 @@ function initTable() {
...
@@ -72,6 +72,7 @@ function initTable() {
}
else
{
}
else
{
inited
=
true
;
inited
=
true
;
}
}
url
=
"{% url 'api-perms:user-assets' pk=object.id %}"
;
var
options
=
{
var
options
=
{
ele
:
$
(
'#user_assets_table'
),
ele
:
$
(
'#user_assets_table'
),
columnDefs
:
[
columnDefs
:
[
...
@@ -102,15 +103,12 @@ function initTable() {
...
@@ -102,15 +103,12 @@ function initTable() {
{
data
:
"system_users_granted"
,
orderable
:
false
}
{
data
:
"system_users_granted"
,
orderable
:
false
}
]
]
};
};
return
jumpserver
.
initDataTable
(
options
);
asset_table
=
jumpserver
.
initDataTable
(
options
);
}
}
function
onSelected
(
event
,
treeNode
)
{
function
onSelected
(
event
,
treeNode
)
{
url
=
'{% url "api-perms:user-node-assets" pk=object.id node_id=DEFAULT_PK %}'
;
url
=
'{% url "api-perms:user-node-assets" pk=object.id node_id=DEFAULT_PK %}'
;
console
.
log
(
">>>>>>>>>>>>>>>>>>>>>>>"
,
treeNode
.
node_id
,
treeNode
.
id
,
treeNode
);
url
=
url
.
replace
(
"{{ DEFAULT_PK }}"
,
treeNode
.
node_id
);
url
=
url
.
replace
(
"{{ DEFAULT_PK }}"
,
treeNode
.
node_id
);
setCookie
(
'node_selected'
,
treeNode
.
node_id
);
asset_table
=
initTable
();
asset_table
.
ajax
.
url
(
url
);
asset_table
.
ajax
.
url
(
url
);
asset_table
.
ajax
.
reload
();
asset_table
.
ajax
.
reload
();
}
}
...
@@ -153,6 +151,7 @@ function initTree() {
...
@@ -153,6 +151,7 @@ function initTree() {
$
(
document
).
ready
(
function
()
{
$
(
document
).
ready
(
function
()
{
initTree
();
initTree
();
initTable
();
});
});
</script>
</script>
{% endblock %}
{% endblock %}
apps/users/views/user.py
View file @
b7fcf80f
...
@@ -342,7 +342,6 @@ class UserBulkImportView(AdminUserRequiredMixin, JSONResponseMixin, FormView):
...
@@ -342,7 +342,6 @@ class UserBulkImportView(AdminUserRequiredMixin, JSONResponseMixin, FormView):
class
UserGrantedAssetView
(
AdminUserRequiredMixin
,
DetailView
):
class
UserGrantedAssetView
(
AdminUserRequiredMixin
,
DetailView
):
model
=
User
model
=
User
template_name
=
'users/user_granted_asset.html'
template_name
=
'users/user_granted_asset.html'
object
=
None
def
get_context_data
(
self
,
**
kwargs
):
def
get_context_data
(
self
,
**
kwargs
):
context
=
{
context
=
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment