mirror of https://github.com/jumpserver/jumpserver
185 lines
9.0 KiB
HTML
185 lines
9.0 KiB
HTML
{% extends 'base.html' %}
|
||
{% block self_head_css_js %}
|
||
<link href="/static/css/plugins/datepicker/datepicker3.css" rel="stylesheet">
|
||
<link href="/static/css/plugins/chosen/chosen.css" rel="stylesheet">
|
||
<script src="/static/js/plugins/chosen/chosen.jquery.js"></script>
|
||
{% endblock %}
|
||
{% load mytags %}
|
||
{% block content %}
|
||
{% include 'nav_cat_bar.html' %}
|
||
<div class="wrapper wrapper-content animated fadeInRight">
|
||
<div class="row">
|
||
<div class="col-lg-10">
|
||
<div class="ibox float-e-margins">
|
||
<div class="ibox-title">
|
||
<h5>填写基本信息</h5>
|
||
<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>
|
||
<a class="close-link">
|
||
<i class="fa fa-times"></i>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<div class="ibox-content">
|
||
<form method="post" id="ruleForm" class="form-horizontal" action="">
|
||
{% if error %}
|
||
<div class="alert alert-warning text-center">{{ error }}</div>
|
||
{% endif %}
|
||
{% if msg %}
|
||
<div class="alert alert-success text-center">{{ msg }}</div>
|
||
{% endif %}
|
||
<div class="form-group">
|
||
<label for="rulename" class="col-sm-2 control-label">授权名称<span class="red-fonts">*</span></label>
|
||
<div class="col-sm-8">
|
||
<input id="rulename" name="rulename" placeholder="Rule Name" type="text" class="form-control">
|
||
</div>
|
||
</div>
|
||
<div class="hr-line-dashed"></div>
|
||
<div class="form-group">
|
||
<label for="user" class="col-sm-2 control-label">用户</label>
|
||
<div class="col-sm-8">
|
||
<select name="user" id="user" data-placeholder="用户名" class="chosen-select form-control m-b" multiple tabindex="2">
|
||
|
||
{% for user in users %}
|
||
<option>{{ user.name }}</option>
|
||
{% endfor %}
|
||
</select>
|
||
<span class="help-block m-b-none">用户和用户组必选一个</span>
|
||
</div>
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="usergroup" class="col-sm-2 control-label">用户组</label>
|
||
<div class="col-sm-8">
|
||
<select name="usergroup" id="usergroup" data-placeholder="请选择用户组" class="chosen-select form-control m-b" multiple tabindex="2">
|
||
|
||
{% for user_group in user_groups %}
|
||
<option value="{{ user_group.name }}">{{ user_group.name }}</option>
|
||
{% endfor %}
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="hr-line-dashed"></div>
|
||
<div class="form-group">
|
||
<label for="asset" class="col-sm-2 control-label">资产</label>
|
||
<div class="col-sm-8">
|
||
<select name="asset" id="asset" data-placeholder="请选择资产" class="chosen-select form-control m-b" multiple tabindex="2">
|
||
{% for asset in assets %}
|
||
<option value="{{ asset.ip }}">{{ asset.ip }}</option>
|
||
{% endfor %}
|
||
</select>
|
||
<span class="help-block m-b-none">资产和资产组必选一个</span>
|
||
</div>
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="assetgroup" id="assetgroup" class="col-sm-2 control-label">资产组</label>
|
||
<div class="col-sm-8">
|
||
<select name="assetgroup" data-placeholder="请选择资产组" class="chosen-select form-control m-b" multiple tabindex="2">
|
||
{% for asset_group in asset_groups %}
|
||
<option value="{{ asset_group.name }}">{{ asset_group.name }}</option>
|
||
{% endfor %}
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="hr-line-dashed"></div>
|
||
<div class="form-group">
|
||
<label for="role" class="col-sm-2 control-label">角色<span class="red-fonts">*</span></label>
|
||
<div class="col-sm-8" id="role_name">
|
||
<select name="role" data-placeholder="请选择角色" class="chosen-select form-control m-b" multiple tabindex="2">
|
||
{% for role in roles %}
|
||
<option value="{{ role.name }}">{{ role.name }}</option>
|
||
{% endfor %}
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="hr-line-dashed"></div>
|
||
<div class="form-group">
|
||
<label for="comment" class="col-sm-2 control-label">备注</label>
|
||
<div class="col-sm-8">
|
||
<input id="rule_comment" name="rule_comment" placeholder="Rule Comment" type="text" class="form-control" {% if error %}value="{{ username }}" {% endif %}>
|
||
</div>
|
||
</div>
|
||
<div class="hr-line-dashed"></div>
|
||
<div class="form-group">
|
||
<div class="col-sm-4 col-sm-offset-2">
|
||
<button class="btn btn-white" type="reset">取消</button>
|
||
<button id="submit_button" class="btn btn-primary" type="submit">确认保存</button>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
{% endblock %}
|
||
{% block self_footer_js %}
|
||
<script>
|
||
$('#ruleForm').validator({
|
||
timely: 2,
|
||
theme: "yellow_right_effect",
|
||
rules: {
|
||
check_name: [/^\w{2,20}$/, '大小写字母数字和下划线,2-20位'],
|
||
check_user: function(){
|
||
return $('#user').val() == null
|
||
},
|
||
check_asset: function(){
|
||
return $('#asset').val() == null
|
||
}
|
||
},
|
||
|
||
fields: {
|
||
"rulename": {
|
||
rule: "required;check_name",
|
||
tip: "输入规则名称",
|
||
ok: "",
|
||
msg: {required: "规则名称必填"}
|
||
},
|
||
"usergroup": {
|
||
rule: "required(check_user)",
|
||
tip: "请选择用户组",
|
||
ok: "",
|
||
msg: {required: "用户和用户组必选一个!"}
|
||
},
|
||
"assetgroup": {
|
||
rule: "required(check_asset)",
|
||
tip: "输入资产组",
|
||
ok: "",
|
||
msg: {required: "资产和资产组必选一个!"}
|
||
},
|
||
"role": {
|
||
rule: "required",
|
||
tip: "请选择角色",
|
||
ok: "",
|
||
msg: {required: "必须选择角色"}
|
||
}
|
||
},
|
||
valid: function(form) {
|
||
form.submit();
|
||
}
|
||
});
|
||
|
||
|
||
var config = {
|
||
'.chosen-select' : {},
|
||
'.chosen-select-deselect' : {allow_single_deselect:true},
|
||
'.chosen-select-no-single' : {disable_search_threshold:10},
|
||
'.chosen-select-no-results': {no_results_text:'Oops, nothing found!'},
|
||
'.chosen-select-width' : {width:"95%"}
|
||
};
|
||
|
||
for (var selector in config) {
|
||
$(selector).chosen(config[selector]);
|
||
}
|
||
|
||
</script>
|
||
<script src="/static/js/cropper/cropper.min.js"></script>
|
||
<script src="/static/js/datapicker/bootstrap-datepicker.js"></script>
|
||
{% endblock %}
|
||
|