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
30fd51c2
Commit
30fd51c2
authored
Sep 06, 2016
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Asset group detail
parent
dc01833a
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
465 additions
and
168 deletions
+465
-168
models.py
apps/assets/models.py
+46
-18
asset_group_detail.html
apps/assets/templates/assets/asset_group_detail.html
+200
-0
asset_group_list.html
apps/assets/templates/assets/asset_group_list.html
+1
-1
delete_confirm.html
apps/assets/templates/assets/delete_confirm.html
+16
-0
views.py
apps/assets/views.py
+32
-3
django.po
apps/locale/zh/LC_MESSAGES/django.po
+168
-126
jumpserver.css
apps/static/css/jumpserver.css
+1
-0
_list_base.html
apps/templates/_list_base.html
+0
-1
_pagination.html
apps/templates/_pagination.html
+0
-5
user_detail.html
apps/users/templates/users/user_detail.html
+1
-14
No files found.
apps/assets/models.py
View file @
30fd51c2
...
@@ -2,19 +2,10 @@
...
@@ -2,19 +2,10 @@
from
__future__
import
unicode_literals
,
absolute_import
from
__future__
import
unicode_literals
,
absolute_import
from
django.db
import
models
from
django.db
import
models
import
logging
from
django.utils.translation
import
ugettext_lazy
as
_
from
django.utils.translation
import
ugettext_lazy
as
_
logger
=
logging
.
getLogger
(
__name__
)
class
AssetGroup
(
models
.
Model
):
name
=
models
.
CharField
(
max_length
=
64
,
unique
=
True
,
null
=
True
,
blank
=
True
,
verbose_name
=
_
(
'Name'
))
created_by
=
models
.
CharField
(
max_length
=
32
,
null
=
True
,
blank
=
True
,
verbose_name
=
_
(
'Created by'
))
comment
=
models
.
TextField
(
blank
=
True
,
verbose_name
=
_
(
'Comment'
))
def
__unicode__
(
self
):
return
self
.
name
class
Meta
:
db_table
=
'asset_group'
class
IDC
(
models
.
Model
):
class
IDC
(
models
.
Model
):
...
@@ -24,7 +15,7 @@ class IDC(models.Model):
...
@@ -24,7 +15,7 @@ class IDC(models.Model):
phone
=
models
.
CharField
(
max_length
=
32
,
blank
=
True
,
verbose_name
=
_
(
'Phone'
))
phone
=
models
.
CharField
(
max_length
=
32
,
blank
=
True
,
verbose_name
=
_
(
'Phone'
))
address
=
models
.
CharField
(
max_length
=
128
,
blank
=
True
,
verbose_name
=
_
(
"Address"
))
address
=
models
.
CharField
(
max_length
=
128
,
blank
=
True
,
verbose_name
=
_
(
"Address"
))
network
=
models
.
TextField
(
blank
=
True
,
verbose_name
=
_
(
'Network'
))
network
=
models
.
TextField
(
blank
=
True
,
verbose_name
=
_
(
'Network'
))
date_created
=
models
.
DateField
(
auto_now
=
True
,
null
=
True
,
verbose_name
=
_
(
'Date added'
))
date_created
=
models
.
Date
Time
Field
(
auto_now
=
True
,
null
=
True
,
verbose_name
=
_
(
'Date added'
))
operator
=
models
.
CharField
(
max_length
=
32
,
blank
=
True
,
verbose_name
=
_
(
'Operator'
))
operator
=
models
.
CharField
(
max_length
=
32
,
blank
=
True
,
verbose_name
=
_
(
'Operator'
))
created_by
=
models
.
CharField
(
max_length
=
32
,
blank
=
True
,
verbose_name
=
_
(
'Created by'
))
created_by
=
models
.
CharField
(
max_length
=
32
,
blank
=
True
,
verbose_name
=
_
(
'Created by'
))
comment
=
models
.
TextField
(
blank
=
True
,
verbose_name
=
_
(
'Comment'
))
comment
=
models
.
TextField
(
blank
=
True
,
verbose_name
=
_
(
'Comment'
))
...
@@ -47,7 +38,7 @@ class AssetExtend(models.Model):
...
@@ -47,7 +38,7 @@ class AssetExtend(models.Model):
return
self
.
name
return
self
.
name
class
Meta
:
class
Meta
:
db_table
=
'assetextend'
db_table
=
'asset
_
extend'
class
AdminUser
(
models
.
Model
):
class
AdminUser
(
models
.
Model
):
...
@@ -65,10 +56,10 @@ class AdminUser(models.Model):
...
@@ -65,10 +56,10 @@ class AdminUser(models.Model):
return
self
.
name
return
self
.
name
class
Meta
:
class
Meta
:
db_table
=
'adminuser'
db_table
=
'admin
_
user'
class
SysUser
(
models
.
Model
):
class
Sys
tem
User
(
models
.
Model
):
PROTOCOL_CHOICES
=
(
PROTOCOL_CHOICES
=
(
(
'ssh'
,
'ssh'
),
(
'ssh'
,
'ssh'
),
(
'telnet'
,
'telnet'
),
(
'telnet'
,
'telnet'
),
...
@@ -94,7 +85,44 @@ class SysUser(models.Model):
...
@@ -94,7 +85,44 @@ class SysUser(models.Model):
return
self
.
name
return
self
.
name
class
Meta
:
class
Meta
:
db_table
=
'sysuser'
db_table
=
'system_user'
class
AssetGroup
(
models
.
Model
):
name
=
models
.
CharField
(
max_length
=
64
,
unique
=
True
,
verbose_name
=
_
(
'Name'
))
system_users
=
models
.
ManyToManyField
(
SystemUser
,
related_name
=
'asset_groups'
,
blank
=
True
)
created_by
=
models
.
CharField
(
max_length
=
32
,
blank
=
True
,
verbose_name
=
_
(
'Created by'
))
date_created
=
models
.
DateTimeField
(
auto_now
=
True
,
null
=
True
,
verbose_name
=
_
(
'Date added'
))
comment
=
models
.
TextField
(
blank
=
True
,
verbose_name
=
_
(
'Comment'
))
def
__unicode__
(
self
):
return
self
.
name
class
Meta
:
db_table
=
'asset_group'
@classmethod
def
initial
(
cls
):
asset_group
=
cls
(
name
=
_
(
'Default'
),
commont
=
_
(
'Default asset group'
))
asset_group
.
save
()
@classmethod
def
generate_fake
(
cls
,
count
=
100
):
from
random
import
seed
import
forgery_py
from
django.db
import
IntegrityError
seed
()
for
i
in
range
(
count
):
group
=
cls
(
name
=
forgery_py
.
name
.
full_name
(),
comment
=
forgery_py
.
lorem_ipsum
.
sentence
(),
created_by
=
'Fake'
)
try
:
group
.
save
()
logger
.
debug
(
'Generate fake asset group:
%
s'
%
group
.
name
)
except
IntegrityError
:
print
(
'Error continue'
)
continue
class
Asset
(
models
.
Model
):
class
Asset
(
models
.
Model
):
...
@@ -106,8 +134,8 @@ class Asset(models.Model):
...
@@ -106,8 +134,8 @@ class Asset(models.Model):
groups
=
models
.
ManyToManyField
(
AssetGroup
,
related_name
=
'assets'
,
verbose_name
=
_
(
'Asset groups'
))
groups
=
models
.
ManyToManyField
(
AssetGroup
,
related_name
=
'assets'
,
verbose_name
=
_
(
'Asset groups'
))
username
=
models
.
CharField
(
max_length
=
16
,
null
=
True
,
blank
=
True
,
verbose_name
=
_
(
'Admin user'
))
username
=
models
.
CharField
(
max_length
=
16
,
null
=
True
,
blank
=
True
,
verbose_name
=
_
(
'Admin user'
))
password
=
models
.
CharField
(
max_length
=
256
,
null
=
True
,
blank
=
True
,
verbose_name
=
_
(
"Admin password"
))
password
=
models
.
CharField
(
max_length
=
256
,
null
=
True
,
blank
=
True
,
verbose_name
=
_
(
"Admin password"
))
admin_user
=
models
.
ForeignKey
(
AdminUser
,
null
=
True
,
blank
=
True
,
on_delete
=
models
.
SET_NULL
,
verbose_name
=
_
(
"Admin user"
))
admin_user
=
models
.
ForeignKey
(
AdminUser
,
null
=
True
,
on_delete
=
models
.
SET_NULL
,
verbose_name
=
_
(
"Admin user"
))
sys
_user
=
models
.
ManyToManyField
(
SysUser
,
null
=
True
,
blank
=
True
,
verbose_name
=
_
(
"System User"
))
sys
tem_user
=
models
.
ManyToManyField
(
SystemUser
,
blank
=
True
,
verbose_name
=
_
(
"System User"
))
idc
=
models
.
ForeignKey
(
IDC
,
null
=
True
,
blank
=
True
,
on_delete
=
models
.
SET_NULL
,
verbose_name
=
_
(
'IDC'
))
idc
=
models
.
ForeignKey
(
IDC
,
null
=
True
,
blank
=
True
,
on_delete
=
models
.
SET_NULL
,
verbose_name
=
_
(
'IDC'
))
mac_addr
=
models
.
CharField
(
max_length
=
20
,
null
=
True
,
blank
=
True
,
verbose_name
=
_
(
"Mac address"
))
mac_addr
=
models
.
CharField
(
max_length
=
20
,
null
=
True
,
blank
=
True
,
verbose_name
=
_
(
"Mac address"
))
brand
=
models
.
CharField
(
max_length
=
64
,
null
=
True
,
blank
=
True
,
verbose_name
=
_
(
'Brand'
))
brand
=
models
.
CharField
(
max_length
=
64
,
null
=
True
,
blank
=
True
,
verbose_name
=
_
(
'Brand'
))
...
...
apps/assets/templates/assets/asset_group_detail.html
0 → 100644
View file @
30fd51c2
{% extends 'base.html' %}
{% load common_tags %}
{% load users_tags %}
{% load static %}
{% load i18n %}
{% block custom_head_css_js %}
<link
href=
"{% static "
css
/
plugins
/
select2
/
select2
.
min
.
css
"
%}"
rel=
"stylesheet"
>
<script
src=
"{% static "
js
/
plugins
/
select2
/
select2
.
full
.
min
.
js
"
%}"
></script>
{% endblock %}
{% block content %}
<div
class=
"wrapper wrapper-content animated fadeInRight"
>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"ibox float-e-margins"
>
<div
class=
"panel-options"
>
<ul
class=
"nav nav-tabs"
>
<li
class=
"active"
><a
href=
""
class=
"text-center"
><i
class=
"fa fa-laptop"
></i>
{% trans 'Detail' %}
</a>
</li>
<li><a
href=
""
class=
"text-center"
><i
class=
"fa fa-bar-chart-o"
></i>
{% trans 'Asset group perm' %}
</a></li>
</ul>
</div>
<div
class=
"tab-content"
>
<div
class=
"col-sm-7"
style=
"padding-left: 0;"
>
<div
class=
"ibox float-e-margins"
>
<div
class=
"ibox-title"
>
<span
class=
"label"
><b>
{{ asset_group.name }}
</b></span>
<div
class=
"ibox-tools"
>
<a
class=
"collapse-link"
>
<i
class=
"fa fa-chevron-up"
></i>
</a>
<a
class=
"dropdown-toggle"
data-toggle=
"dropdown"
href=
"#"
>
<i
class=
"fa fa-wrench"
></i>
</a>
<ul
class=
"dropdown-menu dropdown-user"
>
<li><a
href=
"#"
></a>
</li>
<li><a
href=
"#"
></a>
</li>
</ul>
<a
class=
"close-link"
>
<i
class=
"fa fa-times"
></i>
</a>
</div>
</div>
<div
class=
"ibox-content"
>
<table
class=
"table"
>
<tbody>
<tr
class=
"no-borders-tr"
>
<td>
{% trans 'Name' %}:
</td>
<td><b>
{{ asset_group.name }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Date created' %}:
</td>
<td><b>
{{ asset_group.date_created }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Created by' %}:
</td>
<td><b>
{{ asset_group.created_by }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Comment' %}:
</td>
<td><b>
{{ asset_group.comment }}
</b></td>
</tr>
</tbody>
</table>
</div>
</div>
<div
class=
"ibox float-e-margins"
>
<div
class=
"ibox-title"
>
<span
class=
"label"
><b>
{{ asset_group.name }}
</b></span>
<div
class=
"ibox-tools"
>
<a
class=
"collapse-link"
>
<i
class=
"fa fa-chevron-up"
></i>
</a>
<a
class=
"dropdown-toggle"
data-toggle=
"dropdown"
href=
"#"
>
<i
class=
"fa fa-wrench"
></i>
</a>
<ul
class=
"dropdown-menu dropdown-user"
>
<li><a
href=
"#"
></a>
</li>
<li><a
href=
"#"
></a>
</li>
</ul>
<a
class=
"close-link"
>
<i
class=
"fa fa-times"
></i>
</a>
</div>
</div>
<div
class=
"ibox-content"
>
<table
class=
"table"
>
<tbody>
<tr
class=
"no-borders-tr"
>
<td>
{% trans 'Name' %}:
</td>
<td><b>
{{ asset_group.name }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Date created' %}:
</td>
<td><b>
{{ asset_group.date_created }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Created by' %}:
</td>
<td><b>
{{ asset_group.created_by }}
</b></td>
</tr>
<tr>
<td>
{% trans 'Comment' %}:
</td>
<td><b>
{{ asset_group.comment }}
</b></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div
class=
"col-sm-5"
style=
"padding-left: 0;padding-right: 0"
>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<i
class=
"fa fa-info-circle"
></i>
{% trans 'Associate asset user(system/admin)' %}
</div>
<div
class=
"panel-body"
>
<table
class=
"table"
>
<tbody>
<tr
class=
"no-borders-tr"
>
<td
width=
"50%"
>
{% trans 'repush system user' %}:
</td>
<td>
<span
style=
"float: right"
>
<button
class=
"btn btn-danger btn-xs"
type=
"button"
><i
class=
"fa fa-refresh"
></i></button>
</span>
</td>
</tr>
<form>
<tr>
<td
colspan=
"2"
>
<select
class=
"select2 form-control"
>
<option
value=
"1"
>
{% trans 'System user' %}
</option>
<option
value=
"2"
>
{% trans 'Admin user' %}
</option>
</select>
</td>
</tr>
<tr
class=
"no-borders-tr"
>
<td
colspan=
"2"
>
<select
data-placeholder=
"{% trans 'Select asset user' %}"
class=
"select2"
style=
"width: 100%"
multiple=
""
tabindex=
"4"
>
{% for group in groups %}
<option
value=
"{{ group.id }}"
>
{{ group.name }}
</option>
{% endfor %}
</select>
</td>
</tr>
<tr
class=
"no-borders-tr"
>
<td
colspan=
"2"
>
<button
type=
"button"
class=
"btn btn-primary btn-sm"
>
{% trans 'Associate' %}
</button>
</td>
</tr>
</form>
{% for group in user.groups.all %}
<tr>
<td
><b>
{{ group.name }}
</b></td>
<td>
<button
class=
"btn btn-danger btn-xs"
type=
"button"
style=
"float: right;"
><i
class=
"fa fa-minus"
></i></button>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block custom_foot_js %}
<script>
function
switch_user_status
(
obj
)
{
var
status
=
$
(
obj
).
prop
(
'checked'
);
$
.
ajax
({
url
:
"{% url 'users:user-active-api' pk=user.id %}"
,
type
:
"PUT"
,
data
:
{
'is_active'
:
status
},
success
:
function
(
data
,
status
)
{
console
.
log
(
data
)
},
error
:
function
()
{
console
.
log
(
'error'
)
}
})
}
$
(
document
).
ready
(
function
()
{
$
(
'.select2'
).
select2
();
})
</script>
{% endblock %}
\ No newline at end of file
apps/assets/templates/assets/asset_group_list.html
View file @
30fd51c2
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
</a>
</a>
</td>
</td>
<td
class=
"text-center"
>
{{ asset_group.assets.count }}
</td>
<td
class=
"text-center"
>
{{ asset_group.assets.count }}
</td>
<td
class=
"text-center"
>
{{ asset_group.comment }}
</td>
<td
class=
"text-center"
>
{{ asset_group.comment
|truncatewords:8
}}
</td>
<td
class=
"text-center"
>
<td
class=
"text-center"
>
<a
href=
"{% url 'assets:asset-group-update' pk=asset_group.id %}"
class=
"btn btn-xs btn-info"
>
{% trans 'Update' %}
</a>
<a
href=
"{% url 'assets:asset-group-update' pk=asset_group.id %}"
class=
"btn btn-xs btn-info"
>
{% trans 'Update' %}
</a>
<a
href=
"{% url 'assets:asset-group-delete' pk=asset_group.id %}"
class=
"btn btn-xs btn-danger del"
>
{% trans 'Delete' %}
</a>
<a
href=
"{% url 'assets:asset-group-delete' pk=asset_group.id %}"
class=
"btn btn-xs btn-danger del"
>
{% trans 'Delete' %}
</a>
...
...
apps/assets/templates/assets/delete_confirm.html
0 → 100644
View file @
30fd51c2
{% load i18n %}
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<title>
{% trans 'Confirm delete' %}
</title>
</head>
<body>
<form
action=
""
method=
"post"
>
{% csrf_token %}
<p>
Are you sure you want to delete "{{ object.name }}"?
</p>
<input
type=
"submit"
value=
"Confirm"
/>
</form>
</body>
</html>
\ No newline at end of file
apps/assets/views.py
View file @
30fd51c2
...
@@ -6,6 +6,8 @@ from django.shortcuts import get_object_or_404
...
@@ -6,6 +6,8 @@ from django.shortcuts import get_object_or_404
from
django.views.generic
import
TemplateView
,
ListView
from
django.views.generic
import
TemplateView
,
ListView
from
django.urls
import
reverse_lazy
from
django.urls
import
reverse_lazy
from
django.views.generic.edit
import
CreateView
,
DeleteView
,
FormView
,
UpdateView
from
django.views.generic.edit
import
CreateView
,
DeleteView
,
FormView
,
UpdateView
from
django.conf
import
settings
from
django.db.models
import
Q
from
django.views.generic
import
TemplateView
,
ListView
from
django.views.generic
import
TemplateView
,
ListView
from
django.views.generic.edit
import
CreateView
,
DeleteView
,
FormView
,
UpdateView
from
django.views.generic.edit
import
CreateView
,
DeleteView
,
FormView
,
UpdateView
from
django.urls
import
reverse_lazy
from
django.urls
import
reverse_lazy
...
@@ -70,20 +72,45 @@ class AssetGroupCreateView(CreateView):
...
@@ -70,20 +72,45 @@ class AssetGroupCreateView(CreateView):
class
AssetGroupListView
(
ListView
):
class
AssetGroupListView
(
ListView
):
model
=
AssetGroup
model
=
AssetGroup
paginate_by
=
settings
.
CONFIG
.
DISPLAY_PER_PAGE
context_object_name
=
'asset_group_list'
context_object_name
=
'asset_group_list'
template_name
=
'assets/asset_group_list.html'
template_name
=
'assets/asset_group_list.html'
def
get_context_data
(
self
,
**
kwargs
):
def
get_context_data
(
self
,
**
kwargs
):
context
=
{
context
=
{
'app'
:
_
(
'Assets'
),
'app'
:
_
(
'Assets'
),
'action'
:
_
(
'Asset group list'
)
'action'
:
_
(
'Asset group list'
),
'keyword'
:
self
.
request
.
GET
.
get
(
'keyword'
,
''
)
}
}
kwargs
.
update
(
context
)
kwargs
.
update
(
context
)
return
super
(
AssetGroupListView
,
self
)
.
get_context_data
(
**
kwargs
)
return
super
(
AssetGroupListView
,
self
)
.
get_context_data
(
**
kwargs
)
def
get_queryset
(
self
):
self
.
queryset
=
super
(
AssetGroupListView
,
self
)
.
get_queryset
()
self
.
keyword
=
keyword
=
self
.
request
.
GET
.
get
(
'keyword'
,
''
)
self
.
sort
=
sort
=
self
.
request
.
GET
.
get
(
'sort'
,
'-date_created'
)
if
keyword
:
self
.
queryset
=
self
.
queryset
.
filter
(
Q
(
name__icontains
=
keyword
)
|
Q
(
comment__icontains
=
keyword
))
if
sort
:
self
.
queryset
=
self
.
queryset
.
order_by
(
sort
)
return
self
.
queryset
class
AssetGroupDetailView
(
DetailView
):
class
AssetGroupDetailView
(
DetailView
):
pass
template_name
=
'assets/asset_group_detail.html'
model
=
AssetGroup
context_object_name
=
'asset_group'
def
get_context_data
(
self
,
**
kwargs
):
context
=
{
'app'
:
_
(
'Assets'
),
'action'
:
_
(
'Asset group detail'
)
}
kwargs
.
update
(
context
)
return
super
(
AssetGroupDetailView
,
self
)
.
get_context_data
(
**
kwargs
)
class
AssetGroupUpdateView
(
UpdateView
):
class
AssetGroupUpdateView
(
UpdateView
):
...
@@ -103,4 +130,6 @@ class AssetGroupUpdateView(UpdateView):
...
@@ -103,4 +130,6 @@ class AssetGroupUpdateView(UpdateView):
class
AssetGroupDeleteView
(
DeleteView
):
class
AssetGroupDeleteView
(
DeleteView
):
pass
template_name
=
'assets/delete_confirm.html'
model
=
AssetGroup
success_url
=
reverse_lazy
(
'assets:asset-group-list'
)
apps/locale/zh/LC_MESSAGES/django.po
View file @
30fd51c2
...
@@ -8,7 +8,7 @@ msgid ""
...
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
msgstr ""
"Project-Id-Version: Jumpserver 0.3.3\n"
"Project-Id-Version: Jumpserver 0.3.3\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-09-06 1
5:08
+0800\n"
"POT-Creation-Date: 2016-09-06 1
9:12
+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: ibuler <ibuler@qq.com>\n"
"Last-Translator: ibuler <ibuler@qq.com>\n"
"Language-Team: Jumpserver team<ibuler@qq.com>\n"
"Language-Team: Jumpserver team<ibuler@qq.com>\n"
...
@@ -21,7 +21,7 @@ msgstr ""
...
@@ -21,7 +21,7 @@ msgstr ""
msgid "Select asset groups"
msgid "Select asset groups"
msgstr "添加到资产组"
msgstr "添加到资产组"
#: assets/forms.py:25 assets/models.py:1
44
templates/_nav.html:21
#: assets/forms.py:25 assets/models.py:1
71
templates/_nav.html:21
msgid "Asset"
msgid "Asset"
msgstr "资产"
msgstr "资产"
...
@@ -29,67 +29,79 @@ msgstr "资产"
...
@@ -29,67 +29,79 @@ msgstr "资产"
msgid "Select assets"
msgid "Select assets"
msgstr "选择资产"
msgstr "选择资产"
#: assets/models.py:
9 assets/models.py:21 assets/models.py:54
#: assets/models.py:
12 assets/models.py:48 assets/models.py:81
#: assets/models.py:
76 assets/templates/assets/asset_group_list.html:12
#: assets/models.py:
103 assets/templates/assets/asset_group_detail.html:63
#:
users/models.py:60 users/models.py:107
#:
assets/templates/assets/asset_group_list.html:12 users/models.py:60
#: users/templates/users/user_detail.html:69
#: users/
models.py:107 users/
templates/users/user_detail.html:69
#: users/templates/users/user_list.html:12
#: users/templates/users/user_list.html:12
msgid "Name"
msgid "Name"
msgstr "名称"
msgstr "名称"
#: assets/models.py:1
0 assets/models.py:29 assets/models.py:42
#: assets/models.py:1
3 assets/models.py:56 assets/models.py:69
#: assets/models.py:
61 assets/models.py:90 assets/models.py:125
#: assets/models.py:
88 assets/models.py:117 assets/models.py:152
#: assets/models.py:1
45
users/models.py:122
#: assets/models.py:1
72
users/models.py:122
#: users/templates/users/user_detail.html:101
#: users/templates/users/user_detail.html:101
msgid "Created by"
msgid "Created by"
msgstr "创建者"
msgstr "创建者"
#: assets/models.py:11 assets/models.py:30 assets/models.py:44
#: assets/models.py:14 assets/models.py:54 assets/models.py:154
#: assets/models.py:62 assets/models.py:91 assets/models.py:128
msgid "Date added"
#: assets/models.py:147 assets/templates/assets/asset_group_list.html:14
msgstr "加入日期"
#: users/models.py:61 users/models.py:118
#: users/templates/users/user_detail.html:113
#: assets/models.py:15 assets/models.py:57 assets/models.py:71
#: assets/models.py:89 assets/models.py:118 assets/models.py:155
#: assets/models.py:174 assets/templates/assets/asset_group_detail.html:75
#: assets/templates/assets/asset_group_list.html:14 users/models.py:61
#: users/models.py:118 users/templates/users/user_detail.html:113
msgid "Comment"
msgid "Comment"
msgstr "备注"
msgstr "备注"
#: assets/models.py:22
#: assets/models.py:25
#, fuzzy
#| msgid "As default"
msgid "Default"
msgstr "默认使用"
#: assets/models.py:25
#, fuzzy
#| msgid "Create asset group"
msgid "Default asset group"
msgstr "创建资产组"
#: assets/models.py:49
msgid "Bandwidth"
msgid "Bandwidth"
msgstr "带宽"
msgstr "带宽"
#: assets/models.py:
23
#: assets/models.py:
50
msgid "Contact"
msgid "Contact"
msgstr "联系人"
msgstr "联系人"
#: assets/models.py:
24
users/models.py:113
#: assets/models.py:
51
users/models.py:113
#: users/templates/users/user_detail.html:82
#: users/templates/users/user_detail.html:82
msgid "Phone"
msgid "Phone"
msgstr "手机"
msgstr "手机"
#: assets/models.py:
25
#: assets/models.py:
52
msgid "Address"
msgid "Address"
msgstr "地址"
msgstr "地址"
#: assets/models.py:
26
#: assets/models.py:
53
msgid "Network"
msgid "Network"
msgstr "网络"
msgstr "网络"
#: assets/models.py:27 assets/models.py:127
#: assets/models.py:55
msgid "Date added"
msgstr "加入日期"
#: assets/models.py:28
msgid "Operator"
msgid "Operator"
msgstr "运营商"
msgstr "运营商"
#: assets/models.py:
40 assets/models.py:142
#: assets/models.py:
67 assets/models.py:169
msgid "KEY"
msgid "KEY"
msgstr "KEY"
msgstr "KEY"
#: assets/models.py:
41 assets/models.py:143
#: assets/models.py:
68 assets/models.py:170
msgid "VALUE"
msgid "VALUE"
msgstr "VALUE"
msgstr "VALUE"
#: assets/models.py:
55 assets/models.py:77
users/forms.py:13
#: assets/models.py:
82 assets/models.py:104
users/forms.py:13
#: users/models.py:106 users/templates/users/login.html:53
#: users/models.py:106 users/templates/users/login.html:53
#: users/templates/users/user_detail.html:73
#: users/templates/users/user_detail.html:73
#: users/templates/users/user_list.html:13
#: users/templates/users/user_list.html:13
...
@@ -97,7 +109,7 @@ msgstr "VALUE"
...
@@ -97,7 +109,7 @@ msgstr "VALUE"
msgid "Username"
msgid "Username"
msgstr "用户名"
msgstr "用户名"
#: assets/models.py:
56 assets/models.py:78
users/forms.py:15
#: assets/models.py:
83 assets/models.py:105
users/forms.py:15
#: users/templates/users/login.html:56
#: users/templates/users/login.html:56
#: users/templates/users/reset_password.html:52
#: users/templates/users/reset_password.html:52
#: users/templates/users/user_create.html:8
#: users/templates/users/user_create.html:8
...
@@ -107,149 +119,151 @@ msgstr "用户名"
...
@@ -107,149 +119,151 @@ msgstr "用户名"
msgid "Password"
msgid "Password"
msgstr "密码"
msgstr "密码"
#: assets/models.py:
57 assets/models.py:80
#: assets/models.py:
84 assets/models.py:107
msgid "SSH private key"
msgid "SSH private key"
msgstr "ssh密钥"
msgstr "ssh密钥"
#: assets/models.py:
58 assets/models.py:82
#: assets/models.py:
85 assets/models.py:109
msgid "As default"
msgid "As default"
msgstr "默认使用"
msgstr "默认使用"
#: assets/models.py:
59 assets/models.py:84
#: assets/models.py:
86 assets/models.py:111
msgid "Auto update pass/key"
msgid "Auto update pass/key"
msgstr "自动更新密码/密钥"
msgstr "自动更新密码/密钥"
#: assets/models.py:
79
#: assets/models.py:
106
msgid "Protocol"
msgid "Protocol"
msgstr "协议"
msgstr "协议"
#: assets/models.py:
81
#: assets/models.py:
108
msgid "SSH public key"
msgid "SSH public key"
msgstr "ssh公钥"
msgstr "ssh公钥"
#: assets/models.py:
83
#: assets/models.py:
110
msgid "Auto push"
msgid "Auto push"
msgstr "自动推送"
msgstr "自动推送"
#: assets/models.py:
85
#: assets/models.py:
112
msgid "Sudo"
msgid "Sudo"
msgstr "Sudo"
msgstr "Sudo"
#: assets/models.py:
86
#: assets/models.py:
113
msgid "Shell"
msgid "Shell"
msgstr "Shell"
msgstr "Shell"
#: assets/models.py:
87
templates/_header_bar.html:41 templates/_nav.html:4
#: assets/models.py:
114
templates/_header_bar.html:41 templates/_nav.html:4
msgid "Home"
msgid "Home"
msgstr "仪表盘"
msgstr "仪表盘"
#: assets/models.py:
88
#: assets/models.py:
115
msgid "Uid"
msgid "Uid"
msgstr "Uid"
msgstr "Uid"
#: assets/models.py:1
01
#: assets/models.py:1
28
msgid "IP"
msgid "IP"
msgstr "IP"
msgstr "IP"
#: assets/models.py:1
02
#: assets/models.py:1
29
msgid "Other IP"
msgid "Other IP"
msgstr "其它IP"
msgstr "其它IP"
#: assets/models.py:1
03
#: assets/models.py:1
30
msgid "Remote card IP"
msgid "Remote card IP"
msgstr "远控卡IP"
msgstr "远控卡IP"
#: assets/models.py:1
04
#: assets/models.py:1
31
msgid "Hostname"
msgid "Hostname"
msgstr "用户名"
msgstr "用户名"
#: assets/models.py:1
05
#: assets/models.py:1
32
msgid "Port"
msgid "Port"
msgstr "端口"
msgstr "端口"
#: assets/models.py:1
06
#: assets/models.py:1
33
msgid "Asset groups"
msgid "Asset groups"
msgstr "用户组"
msgstr "用户组"
#: assets/models.py:1
07 assets/models.py:109
templates/_nav.html:24
#: assets/models.py:1
34 assets/models.py:136
templates/_nav.html:24
msgid "Admin user"
msgid "Admin user"
msgstr "管理用户"
msgstr "管理用户"
#: assets/models.py:1
08
#: assets/models.py:1
35
msgid "Admin password"
msgid "Admin password"
msgstr "管理员密码"
msgstr "管理员密码"
#: assets/models.py:1
10
#: assets/models.py:1
37
msgid "System User"
msgid "System User"
msgstr "系统用户"
msgstr "系统用户"
#: assets/models.py:1
11
templates/_nav.html:23
#: assets/models.py:1
38
templates/_nav.html:23
msgid "IDC"
msgid "IDC"
msgstr "机房"
msgstr "机房"
#: assets/models.py:1
12
#: assets/models.py:1
39
msgid "Mac address"
msgid "Mac address"
msgstr "Mac地址"
msgstr "Mac地址"
#: assets/models.py:1
13
#: assets/models.py:1
40
msgid "Brand"
msgid "Brand"
msgstr "品牌"
msgstr "品牌"
#: assets/models.py:1
14
#: assets/models.py:1
41
msgid "CPU"
msgid "CPU"
msgstr "CPU"
msgstr "CPU"
#: assets/models.py:1
15
#: assets/models.py:1
42
msgid "Memory"
msgid "Memory"
msgstr "内存"
msgstr "内存"
#: assets/models.py:1
16
#: assets/models.py:1
43
msgid "Disk"
msgid "Disk"
msgstr "硬盘"
msgstr "硬盘"
#: assets/models.py:1
17
#: assets/models.py:1
44
msgid "OS"
msgid "OS"
msgstr "操作系统"
msgstr "操作系统"
#: assets/models.py:1
18
#: assets/models.py:1
45
msgid "Cabinet number"
msgid "Cabinet number"
msgstr "机柜编号"
msgstr "机柜编号"
#: assets/models.py:1
19
#: assets/models.py:1
46
msgid "Cabinet position"
msgid "Cabinet position"
msgstr "机柜层号"
msgstr "机柜层号"
#: assets/models.py:1
20
#: assets/models.py:1
47
msgid "Asset number"
msgid "Asset number"
msgstr "资产编号"
msgstr "资产编号"
#: assets/models.py:1
21
#: assets/models.py:1
48
msgid "Asset status"
msgid "Asset status"
msgstr "资产状态"
msgstr "资产状态"
#: assets/models.py:1
22
#: assets/models.py:1
49
msgid "Asset type"
msgid "Asset type"
msgstr "系统类型"
msgstr "系统类型"
#: assets/models.py:1
23
#: assets/models.py:1
50
msgid "Asset environment"
msgid "Asset environment"
msgstr "资产环境"
msgstr "资产环境"
#: assets/models.py:1
24
#: assets/models.py:1
51
msgid "Serial number"
msgid "Serial number"
msgstr "序列号"
msgstr "序列号"
#: assets/models.py:1
26
#: assets/models.py:1
53
msgid "Is active"
msgid "Is active"
msgstr "是否激活"
msgstr "是否激活"
#: assets/templates/assets/asset_group_create.html:16
#: assets/templates/assets/asset_group_create.html:16
#: assets/templates/assets/asset_group_list.html:5 assets/views.py:6
0
#: assets/templates/assets/asset_group_list.html:5 assets/views.py:6
2
#: assets/views.py:
98
#: assets/views.py:
117
msgid "Create asset group"
msgid "Create asset group"
msgstr "创建资产组"
msgstr "创建资产组"
#: assets/templates/assets/asset_group_create.html:50
#: assets/templates/assets/asset_group_create.html:50
#: assets/templates/assets/asset_group_detail.html:124
#: assets/templates/assets/asset_group_detail.html:132
#: users/templates/users/_user.html:70
#: users/templates/users/_user.html:70
#: users/templates/users/user_detail.html:162
#: users/templates/users/user_detail.html:162
#: users/templates/users/user_detail.html:170
#: users/templates/users/user_detail.html:170
...
@@ -264,6 +278,65 @@ msgstr "重置"
...
@@ -264,6 +278,65 @@ msgstr "重置"
msgid "Submit"
msgid "Submit"
msgstr "提交"
msgstr "提交"
#: assets/templates/assets/asset_group_detail.html:18
msgid "Detail"
msgstr ""
#: assets/templates/assets/asset_group_detail.html:20
#, fuzzy
#| msgid "Asset group list"
msgid "Asset group assets"
msgstr "资产组列表"
#: assets/templates/assets/asset_group_detail.html:28
#: templates/_header_bar.html:8 users/templates/users/user_detail.html:29
msgid "Search"
msgstr "搜索"
#: assets/templates/assets/asset_group_detail.html:67
#, fuzzy
#| msgid "Date added"
msgid "Date create"
msgstr "加入日期"
#: assets/templates/assets/asset_group_detail.html:71
#, fuzzy
#| msgid "Created by"
msgid "Create by"
msgstr "创建者"
#: assets/templates/assets/asset_group_detail.html:86
#: users/templates/users/user_detail.html:124
msgid "Quick modify"
msgstr "快速修改"
#: assets/templates/assets/asset_group_detail.html:121
#: users/templates/users/reset_password.html:45
#: users/templates/users/user_detail.html:159 users/utils.py:98
msgid "Reset password"
msgstr "重置密码"
#: assets/templates/assets/asset_group_detail.html:129
#: users/templates/users/user_detail.html:167
msgid "Reset ssh key"
msgstr "重置密钥"
#: assets/templates/assets/asset_group_detail.html:143 templates/_nav.html:13
#: users/models.py:109 users/templates/users/user_detail.html:181
#: users/templates/users/user_list.html:15
msgid "User group"
msgstr "用户组"
#: assets/templates/assets/asset_group_detail.html:151 users/forms.py:34
#: users/forms.py:54 users/templates/users/user_detail.html:189
msgid "Join user groups"
msgstr "添加到用户组"
#: assets/templates/assets/asset_group_detail.html:160
#: users/templates/users/user_detail.html:198
msgid "Join"
msgstr "加入"
#: assets/templates/assets/asset_group_list.html:13
#: assets/templates/assets/asset_group_list.html:13
#: users/templates/users/user_list.html:16
#: users/templates/users/user_list.html:16
msgid "Asset num"
msgid "Asset num"
...
@@ -303,19 +376,20 @@ msgstr "批量导出"
...
@@ -303,19 +376,20 @@ msgstr "批量导出"
msgid "Create asset"
msgid "Create asset"
msgstr "创建资产"
msgstr "创建资产"
#: assets/views.py:59 assets/views.py:78 assets/views.py:97
#: assets/templates/assets/delete_confirm.html:6
#: users/templates/users/user_delete_confirm.html:6
msgid "Confirm delete"
msgstr "确认删除"
#: assets/views.py:61 assets/views.py:81 assets/views.py:116
#: templates/_nav.html:18
#: templates/_nav.html:18
msgid "Assets"
msgid "Assets"
msgstr "资产管理"
msgstr "资产管理"
#: assets/views.py:
79
#: assets/views.py:
82
msgid "Asset group list"
msgid "Asset group list"
msgstr "资产组列表"
msgstr "资产组列表"
#: templates/_header_bar.html:8 users/templates/users/user_detail.html:29
msgid "Search"
msgstr "搜索"
#: templates/_header_bar.html:14
#: templates/_header_bar.html:14
msgid "Welcome to use Jumpserver system"
msgid "Welcome to use Jumpserver system"
msgstr "欢迎使用Jumpserver开源跳板机系统"
msgstr "欢迎使用Jumpserver开源跳板机系统"
...
@@ -333,8 +407,8 @@ msgstr "注销登录"
...
@@ -333,8 +407,8 @@ msgstr "注销登录"
msgid "Login"
msgid "Login"
msgstr "登录"
msgstr "登录"
#: templates/_nav.html:9 users/views.py:
50 users/views.py:63 users/views.py:103
#: templates/_nav.html:9 users/views.py:
92 users/views.py:105
#: users/views.py:1
20 users/views.py:145 users/views.py:158
#: users/views.py:1
45 users/views.py:162 users/views.py:187 users/views.py:200
msgid "Users"
msgid "Users"
msgstr "用户管理"
msgstr "用户管理"
...
@@ -342,12 +416,6 @@ msgstr "用户管理"
...
@@ -342,12 +416,6 @@ msgstr "用户管理"
msgid "User"
msgid "User"
msgstr "用户"
msgstr "用户"
#: templates/_nav.html:13 users/models.py:109
#: users/templates/users/user_detail.html:181
#: users/templates/users/user_list.html:15
msgid "User group"
msgstr "用户组"
#: templates/_nav.html:22
#: templates/_nav.html:22
msgid "Asset group"
msgid "Asset group"
msgstr "资产组"
msgstr "资产组"
...
@@ -408,11 +476,6 @@ msgstr ""
...
@@ -408,11 +476,6 @@ msgstr ""
msgid "Captcha"
msgid "Captcha"
msgstr "验证码"
msgstr "验证码"
#: users/forms.py:34 users/forms.py:54
#: users/templates/users/user_detail.html:189
msgid "Join user groups"
msgstr "添加到用户组"
#: users/models.py:102 users/models.py:225
#: users/models.py:102 users/models.py:225
msgid "Administrator"
msgid "Administrator"
msgstr "管理员"
msgstr "管理员"
...
@@ -459,7 +522,7 @@ msgid "System"
...
@@ -459,7 +522,7 @@ msgid "System"
msgstr "系统"
msgstr "系统"
#: users/templates/users/_user.html:17 users/templates/users/user_list.html:5
#: users/templates/users/_user.html:17 users/templates/users/user_list.html:5
#: users/views.py:
63
#: users/views.py:
105
msgid "Create user"
msgid "Create user"
msgstr "创建用户"
msgstr "创建用户"
...
@@ -484,11 +547,6 @@ msgstr "输入您的邮箱, 将会发一封重置短信邮件到您的邮箱中"
...
@@ -484,11 +547,6 @@ msgstr "输入您的邮箱, 将会发一封重置短信邮件到您的邮箱中"
msgid "Captcha invalid"
msgid "Captcha invalid"
msgstr "验证码错误"
msgstr "验证码错误"
#: users/templates/users/reset_password.html:45
#: users/templates/users/user_detail.html:159 users/utils.py:98
msgid "Reset password"
msgstr "重置密码"
#: users/templates/users/reset_password.html:55
#: users/templates/users/reset_password.html:55
msgid "Password again"
msgid "Password again"
msgstr "再次输入密码"
msgstr "再次输入密码"
...
@@ -501,11 +559,7 @@ msgstr "设置"
...
@@ -501,11 +559,7 @@ msgstr "设置"
msgid "Reset link will be generated and sent to the user. "
msgid "Reset link will be generated and sent to the user. "
msgstr "生成重置密码连接,通过邮件发送给用户"
msgstr "生成重置密码连接,通过邮件发送给用户"
#: users/templates/users/user_delete_confirm.html:6
#: users/templates/users/user_detail.html:18 users/views.py:162
msgid "Confirm delete"
msgstr "确认删除"
#: users/templates/users/user_detail.html:18 users/views.py:120
msgid "User detail"
msgid "User detail"
msgstr "用户详情"
msgstr "用户详情"
...
@@ -525,19 +579,7 @@ msgstr "创建日期"
...
@@ -525,19 +579,7 @@ msgstr "创建日期"
msgid "Last login"
msgid "Last login"
msgstr "最后登录"
msgstr "最后登录"
#: users/templates/users/user_detail.html:124
#: users/templates/users/user_group_create.html:16 users/views.py:200
msgid "Quick modify"
msgstr "快速修改"
#: users/templates/users/user_detail.html:167
msgid "Reset ssh key"
msgstr "重置密钥"
#: users/templates/users/user_detail.html:198
msgid "Join"
msgstr "加入"
#: users/templates/users/user_group_create.html:16 users/views.py:158
msgid "Create user group"
msgid "Create user group"
msgstr "创建用户组"
msgstr "创建用户组"
...
@@ -546,18 +588,10 @@ msgstr "创建用户组"
...
@@ -546,18 +588,10 @@ msgstr "创建用户组"
msgid "Active"
msgid "Active"
msgstr "激活"
msgstr "激活"
#: users/templates/users/user_update.html:3 users/views.py:1
03
#: users/templates/users/user_update.html:3 users/views.py:1
45
msgid "Update user"
msgid "Update user"
msgstr "编辑用户"
msgstr "编辑用户"
#: users/urls.py:23
msgid "Logout success"
msgstr "退出登录成功"
#: users/urls.py:24
msgid "Logout success, return login page"
msgstr "退出登录成功,返回到登录页面"
#: users/utils.py:47
#: users/utils.py:47
msgid "Begin to generate ssh private key ..."
msgid "Begin to generate ssh private key ..."
msgstr "开始生成ssh密钥"
msgstr "开始生成ssh密钥"
...
@@ -659,45 +693,53 @@ msgstr ""
...
@@ -659,45 +693,53 @@ msgstr ""
" </br>\n"
" </br>\n"
" "
" "
#: users/views.py:50
#: users/views.py:62
msgid "Logout success"
msgstr "退出登录成功"
#: users/views.py:63
msgid "Logout success, return login page"
msgstr "退出登录成功,返回到登录页面"
#: users/views.py:92
msgid "User list"
msgid "User list"
msgstr "用户列表"
msgstr "用户列表"
#: users/views.py:
59
#: users/views.py:
101
#, python-format
#, python-format
msgid "Create user <a href=\"%s\">%s</a> success."
msgid "Create user <a href=\"%s\">%s</a> success."
msgstr "创建用户 <a href=\"%s\">%s</a> 成功"
msgstr "创建用户 <a href=\"%s\">%s</a> 成功"
#: users/views.py:1
45
#: users/views.py:1
87
msgid "User group list"
msgid "User group list"
msgstr "用户组列表"
msgstr "用户组列表"
#: users/views.py:
190
#: users/views.py:
232
msgid "Email address invalid, input again"
msgid "Email address invalid, input again"
msgstr "邮箱地址错误,重新输入"
msgstr "邮箱地址错误,重新输入"
#: users/views.py:2
01
#: users/views.py:2
43
msgid "Send reset password message"
msgid "Send reset password message"
msgstr "发送重置密码邮件"
msgstr "发送重置密码邮件"
#: users/views.py:2
02
#: users/views.py:2
44
msgid "Send reset password mail success, login your mail box and follow it "
msgid "Send reset password mail success, login your mail box and follow it "
msgstr ""
msgstr ""
"发送重置邮件成功, 请登录邮箱查看, 按照提示操作 (如果没收到,请等待3-5分钟)"
"发送重置邮件成功, 请登录邮箱查看, 按照提示操作 (如果没收到,请等待3-5分钟)"
#: users/views.py:2
14
#: users/views.py:2
56
msgid "Reset password success"
msgid "Reset password success"
msgstr "重置密码成功"
msgstr "重置密码成功"
#: users/views.py:2
15
#: users/views.py:2
57
msgid "Reset password success, return to login page"
msgid "Reset password success, return to login page"
msgstr "重置密码成功,返回到登录页面"
msgstr "重置密码成功,返回到登录页面"
#: users/views.py:2
31 users/views.py:244
#: users/views.py:2
73 users/views.py:286
msgid "Token invalid or expired"
msgid "Token invalid or expired"
msgstr "Token错误或失效"
msgstr "Token错误或失效"
#: users/views.py:2
40
#: users/views.py:2
82
msgid "Password not same"
msgid "Password not same"
msgstr "密码不一致"
msgstr "密码不一致"
...
...
apps/static/css/jumpserver.css
View file @
30fd51c2
...
@@ -38,6 +38,7 @@ th a {
...
@@ -38,6 +38,7 @@ th a {
color
:
white
;
color
:
white
;
}
}
.select2-selection--single
,
.select2-selection--multiple
{
.select2-selection--multiple
{
border
:
1px
solid
#e5e6e7
!important
;
border
:
1px
solid
#e5e6e7
!important
;
cursor
:
text
!important
;
cursor
:
text
!important
;
...
...
apps/templates/_list_base.html
View file @
30fd51c2
...
@@ -22,7 +22,6 @@
...
@@ -22,7 +22,6 @@
<div
class=
"ibox-content"
>
<div
class=
"ibox-content"
>
<div
class=
""
>
<div
class=
""
>
{# left button add #}
{% block content_left_head %} {% endblock %}
{% block content_left_head %} {% endblock %}
<form
id=
"search_form"
method=
"get"
action=
""
class=
"pull-right mail-search"
>
<form
id=
"search_form"
method=
"get"
action=
""
class=
"pull-right mail-search"
>
<div
class=
"input-group"
>
<div
class=
"input-group"
>
...
...
apps/templates/_pagination.html
View file @
30fd51c2
...
@@ -34,11 +34,6 @@
...
@@ -34,11 +34,6 @@
</div>
</div>
{% endif %}
{% endif %}
<script>
<script>
{
#
function
sleep
(
n
)
{
//n表示的毫秒数#}
{
#
var
start
=
new
Date
().
getTime
();
#
}
{
#
while
(
true
)
if
(
new
Date
().
getTime
()
-
start
>
n
)
break
;
#
}
{
#
}
#
}
$
(
document
).
ready
(
function
()
{
$
(
document
).
ready
(
function
()
{
$
(
'.page'
).
click
(
function
()
{
$
(
'.page'
).
click
(
function
()
{
var
searchStr
=
location
.
search
;
var
searchStr
=
location
.
search
;
...
...
apps/users/templates/users/user_detail.html
View file @
30fd51c2
...
@@ -19,19 +19,6 @@
...
@@ -19,19 +19,6 @@
</li>
</li>
<li><a
href=
""
class=
"text-center"
><i
class=
"fa fa-bar-chart-o"
></i>
{% trans 'User assets' %}
</a></li>
<li><a
href=
""
class=
"text-center"
><i
class=
"fa fa-bar-chart-o"
></i>
{% trans 'User assets' %}
</a></li>
<li><a
href=
""
class=
"text-center"
><i
class=
"fa fa-bar-chart-o"
></i>
{% trans 'User log' %}
</a></li>
<li><a
href=
""
class=
"text-center"
><i
class=
"fa fa-bar-chart-o"
></i>
{% trans 'User log' %}
</a></li>
<div
class=
""
style=
"float: right"
>
<form
id=
"search_form"
method=
"get"
action=
""
class=
"pull-right mail-search"
>
<div
class=
"input-group"
>
<input
type=
"text"
class=
"form-control input-sm"
id=
"keyword"
name=
"keyword"
value=
"{{ keyword }}"
placeholder=
"Search"
>
<div
class=
"input-group-btn"
>
<button
id=
'search_btn'
type=
"submit"
class=
"btn btn-sm btn-primary"
>
{% trans 'Search' %}
</button>
</div>
</div>
</form>
</div>
</ul>
</ul>
</div>
</div>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
...
@@ -118,7 +105,7 @@
...
@@ -118,7 +105,7 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"col-sm-5"
style=
"padding-left: 0
px;
"
>
<div
class=
"col-sm-5"
style=
"padding-left: 0
;padding-right: 0
"
>
<div
class=
"panel panel-primary"
>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<div
class=
"panel-heading"
>
<i
class=
"fa fa-info-circle"
></i>
{% trans 'Quick modify' %}
<i
class=
"fa fa-info-circle"
></i>
{% trans 'Quick modify' %}
...
...
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