Commit 2b14fefb authored by guanghongwei's avatar guanghongwei

޸ҳ

parent 25ce24a1
...@@ -9,7 +9,7 @@ database = jumpserver ...@@ -9,7 +9,7 @@ database = jumpserver
[ldap] [ldap]
ldap_enable = 1 ldap_enable = 1
host_url = ldap://192.168.8.230:389 host_url = ldap://127.0.0.1:389
base_dn = dc=jumpserver, dc=org base_dn = dc=jumpserver, dc=org
root_dn = cn=admin,dc=jumpserver,dc=org root_dn = cn=admin,dc=jumpserver,dc=org
root_pw = secret234 root_pw = secret234
......
from django.conf.urls import patterns, include, url from django.conf.urls import patterns, include, url
from api import view_splitter from views import index
from views import index, admin_index
urlpatterns = patterns('', urlpatterns = patterns('',
# Examples: # Examples:
# url(r'^$', 'jumpserver.views.home', name='home'), # url(r'^$', 'jumpserver.views.home', name='home'),
# url(r'^blog/', include('blog.urls')), # url(r'^blog/', include('blog.urls')),
(r'^$', view_splitter, {'su': index, 'adm': admin_index}), (r'^$', index),
(r'^api/user/$', 'jumpserver.api.api_user'), (r'^api/user/$', 'jumpserver.api.api_user'),
(r'^skin_config/$', 'jumpserver.views.skin_config'), (r'^skin_config/$', 'jumpserver.views.skin_config'),
(r'^install/$', 'jumpserver.views.install'), (r'^install/$', 'jumpserver.views.install'),
......
...@@ -2,13 +2,9 @@ ...@@ -2,13 +2,9 @@
from __future__ import division from __future__ import division
import datetime
from django.db.models import Count from django.db.models import Count
from django.shortcuts import render_to_response from django.shortcuts import render_to_response
from django.template import RequestContext from django.template import RequestContext
from jasset.models import IDC
from juser.models import DEPT
from jperm.models import Apply from jperm.models import Apply
from jumpserver.api import * from jumpserver.api import *
...@@ -69,18 +65,19 @@ def index_cu(request): ...@@ -69,18 +65,19 @@ def index_cu(request):
return render_to_response('index_cu.html', locals(), context_instance=RequestContext(request)) return render_to_response('index_cu.html', locals(), context_instance=RequestContext(request))
@require_login @require_admin
@require_super_user def admin_index(request):
def index(request): user_id = request.session.get('user_id', '')
if request.session.get('role_id') == 0: user = User.objects.get(id=user_id)
return index_cu(request) dept = user.dept
users = User.objects.all() dept_name = user.dept.name
hosts = Asset.objects.all() users = User.objects.filter(dept=dept)
online = Log.objects.filter(is_finished=0) hosts = Asset.objects.filter(dept=dept)
online = Log.objects.filter(dept_name=dept_name, is_finished=0)
online_host = online.values('host').distinct() online_host = online.values('host').distinct()
online_user = online.values('user').distinct() online_user = online.values('user').distinct()
active_users = User.objects.filter(is_active=1) active_users = users.filter(is_active=1)
active_hosts = Asset.objects.filter(is_active=1) active_hosts = hosts.filter(is_active=1)
# percent of dashboard # percent of dashboard
percent_user = format(active_users.count() / users.count(), '.0%') percent_user = format(active_users.count() / users.count(), '.0%')
...@@ -91,7 +88,7 @@ def index(request): ...@@ -91,7 +88,7 @@ def index(request):
li_date, li_str = getDaysByNum(7) li_date, li_str = getDaysByNum(7)
today = datetime.datetime.now().day today = datetime.datetime.now().day
from_week = datetime.datetime.now() - datetime.timedelta(days=7) from_week = datetime.datetime.now() - datetime.timedelta(days=7)
week_data = Log.objects.filter(start_time__range=[from_week, datetime.datetime.now()]) week_data = Log.objects.filter(dept_name=dept_name, start_time__range=[from_week, datetime.datetime.now()])
user_top_ten = week_data.values('user').annotate(times=Count('user')).order_by('-times')[:10] user_top_ten = week_data.values('user').annotate(times=Count('user')).order_by('-times')[:10]
host_top_ten = week_data.values('host').annotate(times=Count('host')).order_by('-times')[:10] host_top_ten = week_data.values('host').annotate(times=Count('host')).order_by('-times')[:10]
user_dic, host_dic = get_data(week_data, user_top_ten, 'user'), get_data(week_data, host_top_ten, 'host') user_dic, host_dic = get_data(week_data, user_top_ten, 'user'), get_data(week_data, host_top_ten, 'host')
...@@ -131,19 +128,21 @@ def index(request): ...@@ -131,19 +128,21 @@ def index(request):
return render_to_response('index.html', locals(), context_instance=RequestContext(request)) return render_to_response('index.html', locals(), context_instance=RequestContext(request))
@require_admin @require_login
def admin_index(request): def index(request):
user_id = request.session.get('user_id', '') if is_common_user(request):
user = User.objects.get(id=user_id) return index_cu(request)
dept = user.dept
dept_name = user.dept.name if is_group_admin(request):
users = User.objects.filter(dept=dept) return admin_index(request)
hosts = Asset.objects.filter(dept=dept)
online = Log.objects.filter(dept_name=dept_name, is_finished=0) users = User.objects.all()
hosts = Asset.objects.all()
online = Log.objects.filter(is_finished=0)
online_host = online.values('host').distinct() online_host = online.values('host').distinct()
online_user = online.values('user').distinct() online_user = online.values('user').distinct()
active_users = users.filter(is_active=1) active_users = User.objects.filter(is_active=1)
active_hosts = hosts.filter(is_active=1) active_hosts = Asset.objects.filter(is_active=1)
# percent of dashboard # percent of dashboard
percent_user = format(active_users.count() / users.count(), '.0%') percent_user = format(active_users.count() / users.count(), '.0%')
...@@ -154,7 +153,7 @@ def admin_index(request): ...@@ -154,7 +153,7 @@ def admin_index(request):
li_date, li_str = getDaysByNum(7) li_date, li_str = getDaysByNum(7)
today = datetime.datetime.now().day today = datetime.datetime.now().day
from_week = datetime.datetime.now() - datetime.timedelta(days=7) from_week = datetime.datetime.now() - datetime.timedelta(days=7)
week_data = Log.objects.filter(dept_name=dept_name, start_time__range=[from_week, datetime.datetime.now()]) week_data = Log.objects.filter(start_time__range=[from_week, datetime.datetime.now()])
user_top_ten = week_data.values('user').annotate(times=Count('user')).order_by('-times')[:10] user_top_ten = week_data.values('user').annotate(times=Count('user')).order_by('-times')[:10]
host_top_ten = week_data.values('host').annotate(times=Count('host')).order_by('-times')[:10] host_top_ten = week_data.values('host').annotate(times=Count('host')).order_by('-times')[:10]
user_dic, host_dic = get_data(week_data, user_top_ten, 'user'), get_data(week_data, host_top_ten, 'host') user_dic, host_dic = get_data(week_data, user_top_ten, 'user'), get_data(week_data, host_top_ten, 'host')
...@@ -194,6 +193,9 @@ def admin_index(request): ...@@ -194,6 +193,9 @@ def admin_index(request):
return render_to_response('index.html', locals(), context_instance=RequestContext(request)) return render_to_response('index.html', locals(), context_instance=RequestContext(request))
def skin_config(request): def skin_config(request):
return render_to_response('skin_config.html') return render_to_response('skin_config.html')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment