Commit 546393d9 authored by guanghongwei's avatar guanghongwei

--broken encoding: IBM420_ltr

parent 80d4272e
......@@ -108,11 +108,11 @@ def test_add_log():
if __name__ == '__main__':
# test_add_dept()
# test_add_group()
# test_add_user()
# test_add_idc()
# test_add_asset_group()
test_add_dept()
test_add_group()
test_add_user()
test_add_idc()
test_add_asset_group()
test_add_asset()
# test_add_log()
......
......@@ -4,8 +4,7 @@ from jasset.models import Asset, BisGroup
class Perm(models.Model):
name = models.CharField(max_length=100)
user_group = models.ManyToManyField(UserGroup)
user_group = models.ForeignKey(UserGroup)
asset_group = models.ManyToManyField(BisGroup)
comment = models.CharField(max_length=100)
......
......@@ -42,8 +42,6 @@ def perm_add(request):
if request.method == 'GET':
user_groups = UserGroup.objects.filter(id__gt=2)
asset_groups = BisGroup.objects.all()
users = User.objects.all()
assets = Asset.objects.all()
else:
name = request.POST.get('name', '')
......@@ -62,39 +60,51 @@ def perm_add(request):
return render_to_response('jperm/perm_add.html', locals(), context_instance=RequestContext(request))
def dept_add_asset(dept_list, asset_list):
for dept_id in dept_list:
dept = DEPT.objects.filter(id=dept_id)
if dept:
dept = dept[0]
for asset_id in asset_list:
asset = Asset.objects.filter(id=asset_id)
if asset:
asset = asset[0]
DeptPerm(dept=dept, asset=asset).save()
def dept_add_asset(dept_id, asset_list):
dept = DEPT.objects.filter(id=dept_id)
if dept:
dept = dept[0]
old_perm_asset = [perm.asset for perm in dept.deptperm_set.all()]
new_perm_asset = []
for asset_id in asset_list:
asset = Asset.objects.filter(id=asset_id)
new_perm_asset.extend(asset)
asset_add = [asset for asset in new_perm_asset if asset not in old_perm_asset]
asset_del = [asset for asset in old_perm_asset if asset not in new_perm_asset]
for asset in asset_del:
DeptPerm.objects.filter(dept=dept, asset=asset).delete()
for asset in asset_add:
DeptPerm(dept=dept, asset=asset).save()
def dept_perm_edit(request):
header_title, path1, path2 = u'部门授权添加', u'授权管理', u'部门授权添加'
depts = DEPT.objects.all()
assets = Asset.objects.all()
if request.method == 'POST':
dept_select = request.POST.getlist('dept_select')
if request.method == 'GET':
dept_id = request.GET.get('id', '')
dept = DEPT.objects.filter(id=dept_id)
if dept:
dept = dept[0]
asset_all = Asset.objects.all()
asset_select = [perm.asset for perm in dept.deptperm_set.all()]
assets = [asset for asset in asset_all if asset not in asset_select]
else:
dept_id = request.POST.get('dept_id')
asset_select = request.POST.getlist('asset_select')
dept_add_asset(dept_select, asset_select)
msg = '添加成功'
dept_add_asset(dept_id, asset_select)
return HttpResponseRedirect('/jperm/dept_perm_list/')
return render_to_response('jperm/dept_perm_edit.html', locals(), context_instance=RequestContext(request))
def perm_list(request):
header_title, path1, path2 = u'主机授权', u'授权管理', u'授权详情'
header_title, path1, path2 = u'小组授权', u'授权管理', u'授权详情'
keyword = request.GET.get('search', '')
if keyword:
contact_list = Perm.objects.filter(name__icontains=keyword)
contact_list = UserGroup.objects.filter(Q(name__icontains=keyword) | Q(comment__icontains=keyword))
else:
contact_list = Perm.objects.all()
contact_list = UserGroup.objects.all().order_by('name')
contact_list, p, contacts, page_range, current_page, show_first, show_end = pages(contact_list, request)
return render_to_response('jperm/perm_list.html', locals(), context_instance=RequestContext(request))
......
......@@ -99,6 +99,15 @@ def perm_count(group_id):
return group.perm_set.count()
@register.filter(name='dept_perm_count')
def dept_perm_count(dept_id):
dept = DEPT.objects.filter(id=dept_id)
if dept:
dept = dept[0]
return dept.deptperm_set.all().count()
return 0
@register.filter(name='group_type_to_str')
def group_type_to_str(type_name):
group_types = {
......
......@@ -39,30 +39,10 @@
<div class="row">
<div class="form-group">
<label for="" class="col-sm-2 control-label">部门<span class="red-fonts">*</span></label>
<div class="col-sm-4">
<div>
<select id="depts" name="depts" class="form-control" size="12" multiple>
{% for dept in depts %}
<option value="{{ dept.id }}">{{ dept.name }}</option>
{% endfor %}
</select>
</div>
</div>
<div class="col-sm-1">
<div class="btn-group" style="margin-top: 60px;">
<button type="button" class="btn btn-white" onclick="move('depts', 'dept_select')"><i class="fa fa-chevron-right"></i></button>
<button type="button" class="btn btn-white" onclick="move('dept_select', 'depts')"><i class="fa fa-chevron-left"></i> </button>
</div>
</div>
<div class="col-sm-3">
<div>
<select id="dept_select" name="dept_select" class="form-control m-b" size="12" multiple>
</select>
</div>
<label for="group_name" class="col-sm-2 control-label">部门</label>
<div class="col-sm-8">
<input id="dept_id" name="dept_id" type="text" class="form-control" value="{{ dept.id }}" style="display: none">
<input id="dept_name" name="dept_name" type="text" class="form-control" value="{{ dept.name }}" readonly>
</div>
</div>
......@@ -90,6 +70,9 @@
<div class="col-sm-3">
<div>
<select id="asset_select" name="asset_select" class="form-control m-b" size="12" multiple>
{% for asset in asset_select %}
<option value="{{ asset.id }}">{{ asset.ip }}</option>
{% endfor %}
</select>
</div>
</div>
......
......@@ -48,7 +48,7 @@
<tr>
<th class="text-center">部门名称</th>
<th class="text-center">成员数量</th>
<th class="text-center">部门成员数量</th>
<th class="text-center">授权主机数量</th>
<th class="text-center">备注</th>
<th class="text-center">操作</th>
......@@ -59,7 +59,7 @@
<tr class="gradeX">
<td class="text-center"> {{ dept.name }} </td>
<td class="text-center"> {{ dept.id | dept_member }} </td>
<td class="text-center"> {{ dept.id | dept_member }} </td>
<td class="text-center"> {{ dept.id | dept_perm_count }} </td>
<td class="text-center"> {{ dept.comment }} </td>
<td class="text-center">
<a title="[ {{ dept.name }} ] 成员信息" href="../dept_detail/?id={{ dept.id }}" class="iframe btn btn-xs btn-primary">主机</a>
......
......@@ -36,43 +36,21 @@
{% if msg %}
<div class="alert alert-success text-center">{{ msg }}</div>
{% endif %}
<select multiple="multiple" id="user_all" style="display: none;">
{% for user in users %}
<option value="{{ user.id }}">{{ user.name }}</option>
{% endfor %}
</select>
<select multiple="multiple" id="user_group_all" style="display: none;">
{% for user_group in user_groups %}
<option value="{{ user_group.id }}">{{ user_group.name }}</option>
{% endfor %}
</select>
<select multiple="multiple" id="asset_all" style="display: none;">
{% for asset in assets %}
<option value="{{ asset.id }}">{{ asset.ip }}</option>
{% endfor %}
</select>
<select multiple="multiple" id="asset_group_all" style="display: none;" >
{% for asset_group in asset_groups %}
<option value="{{ asset_group.id }}">{{ asset_group.name }}</option>
{% endfor %}
</select>
</select>
<div class="row">
<div class="form-group">
<label for="name" class="col-sm-2 control-label">授权名<span class="red-fonts">*</span></label>
<div class="col-sm-8">
<input id="name" name="name" placeholder="授权名称" type="text" class="form-control">
<span class="help-block m-b-none">取个名字方便辨识</span>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<label for="" class="col-sm-2 control-label" >
<select id="user_type" name="user_type" onchange="userChoice(this.value)">
<option value="1">用户组</option>
<option value="0">用户</option>
</select>
</label>
<label for="" class="col-sm-2 control-label">用户组<span class="red-fonts">*</span></label>
<div class="col-sm-4">
<div>
<select id="user_groups" name="user_groups" class="form-control" size="10" multiple>
<select id="user_groups" name="user_groups" class="form-control" size="12" multiple>
{% for user_group in user_groups %}
<option value="{{ user_group.id }}">{{ user_group.name }}</option>
{% endfor %}
......@@ -90,7 +68,7 @@
<div class="col-sm-3">
<div>
<select id="user_groups_select" name="user_groups_select" class="form-control m-b" size="10" multiple>
<select id="user_groups_select" name="user_groups_select" class="form-control m-b" size="12" multiple>
</select>
</div>
</div>
......@@ -99,23 +77,10 @@
<div class="hr-line-dashed"></div>
<div class="form-group">
<label for="" class="col-sm-2 control-label">
</label>
<div class="col-sm-4">
<input id="comment" name="comment" placeholder="过滤" type="text" class="form-control">
</div>
</div>
<div class="form-group">
<label for="" class="col-sm-2 control-label">
<select id="asset_type" name="user_type" onchange="assetChoice(this.value)" >
<option value="1">主机组</option>
<option value="0">主机</option>
</select>
</label>
<label for="" class="col-sm-2 control-label">主机组<span class="red-fonts">*</span></label>
<div class="col-sm-4">
<div>
<select id="asset_groups" name="asset_groups" class="form-control m-b" size="10" multiple>
<select id="asset_groups" name="asset_groups" class="form-control m-b" size="12" multiple>
{% for asset_group in asset_groups %}
<option value="{{ asset_group.id }}">{{ asset_group.name }}</option>
{% endfor %}
......@@ -132,7 +97,7 @@
<div class="col-sm-3">
<div>
<select id="asset_groups_select" name="asset_groups_select" class="form-control m-b" size="10" multiple>
<select id="asset_groups_select" name="asset_groups_select" class="form-control m-b" size="12" multiple>
</select>
</div>
</div>
......@@ -198,43 +163,14 @@ $('#sudoPerm').validator({
$(document).ready(function(){
$("#submit_button").click(function(){
$('#users_selected option').each(function(){
$('#user_groups_select option').each(function(){
$(this).prop('selected', true)
})
$('#asset_groups_select option').each(function(){
$(this).prop('selected', true)
})
})
})
function userChoice(value){
if (value == "1"){
$("#user_groups").children().each(function(){$(this).remove()});
$("#user_groups_select").children().each(function(){$(this).remove()});
$("#user_group_all").children().each(function(){
$("#user_groups").append($(this).clone())
})
}
else
$("#user_groups").children().each(function(){$(this).remove()});
$("#user_groups_select").children().each(function(){$(this).remove()});
$("#user_all").children().each(function(){
$("#user_groups").append($(this).clone())
})
}
function assetChoice(value){
if (value == "1"){
$("#asset_groups").children().each(function(){$(this).remove()});
$("#asset_groups_select").children().each(function(){$(this).remove()});
$("#asset_group_all").children().each(function(){
$("#asset_groups").append($(this).clone())
})
}
else
$("#asset_groups").children().each(function(){$(this).remove()});
$("#asset_groups_select").children().each(function(){$(this).remove()});
$("#asset_all").children().each(function(){
$("#asset_groups").append($(this).clone())
})
}
</script>
{% endblock %}
\ No newline at end of file
This diff is collapsed.
......@@ -36,17 +36,15 @@
<li id="jperm">
<a href="#"><i class="fa fa-edit"></i> <span class="nav-label">授权管理</span><span class="fa arrow"></span></a>
<ul class="nav nav-second-level">
<li id="dept_perm_add">
<a href="/jperm/dept_perm_add/">部门授权</a>
</li>
<li id="dept_perm_list">
<a href="/jperm/dept_perm_list/">授权查看</a>
<a href="/jperm/dept_perm_list/">部门授权</a>
</li>
<li id="perm_add">
<a href="/jperm/perm_add/">授权添加</a>
</li>
<li id="perm_list">
<a href="/jperm/perm_list/">授权查看</a>
<a href="/jperm/perm_list/">小组授权</a>
</li>
<li id="sudo_add">
......
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