|
@@ -0,0 +1,163 @@
|
|
|
+{% extends 'SonataAdminBundle:CRUD:base_list.html.twig' %}
|
|
|
+
|
|
|
+{% block stylesheets %}
|
|
|
+{{ parent() }}
|
|
|
+<style>
|
|
|
+.ace_editor {height: 450px!important;}
|
|
|
+</style>
|
|
|
+{% endblock %}
|
|
|
+
|
|
|
+{% block javascripts %}
|
|
|
+{{ parent() }}
|
|
|
+<script src="{{ asset('bundles/baseadmin') }}/ace_editor/src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>
|
|
|
+<script src="{{ asset('bundles/baseadmin') }}/ace_editor/textarea-as-ace-editor.js" type="text/javascript" charset="utf-8"></script>
|
|
|
+{% endblock %}
|
|
|
+
|
|
|
+{% block actions %}{% endblock %}
|
|
|
+
|
|
|
+{% block tab_menu %}
|
|
|
+<ol class="nav navbar-top-links breadcrumb">
|
|
|
+ <li>
|
|
|
+ <a href="{{url('sonata_admin_dashboard')}}"><i class="fa fa-home"></i></a>
|
|
|
+ </li>
|
|
|
+ <li class="active"><span>{{ 'msg_import_kea_config'|trans({}, 'KeaBundle') }}</span></li>
|
|
|
+</ol>
|
|
|
+{% endblock %}
|
|
|
+
|
|
|
+{% block title %}
|
|
|
+{% endblock %}
|
|
|
+
|
|
|
+{% block navbar_title %}
|
|
|
+{% endblock %}
|
|
|
+
|
|
|
+{% block list_filters_actions %}
|
|
|
+<ul class="nav navbar-nav navbar-right">
|
|
|
+ <li><a class="sonata-action-element" href="{{url('admin_kea_config_list')}}"><i class="fa fa-list" aria-hidden="true"></i>
|
|
|
+ {{ 'link_action_list'|trans({}, 'SonataAdminBundle') }}
|
|
|
+ </a></li>
|
|
|
+</ul>
|
|
|
+{% endblock %}
|
|
|
+
|
|
|
+{% block list_filters %}
|
|
|
+{% endblock %}
|
|
|
+
|
|
|
+{% block list_table %}
|
|
|
+{% endblock %}
|
|
|
+
|
|
|
+{% block sonata_wrapper %}
|
|
|
+{{ parent() }}
|
|
|
+{% endblock %}
|
|
|
+
|
|
|
+{% block content %}
|
|
|
+
|
|
|
+<div id='wrapper' class="box box-primary">
|
|
|
+ <div id='page-content-wrapper'>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-md-12">
|
|
|
+ <div class="box box-primary" style="border-top:0px">
|
|
|
+ <div class="box-header">
|
|
|
+ <h4 class="box-title">
|
|
|
+ {{ 'select_dhcp_and_get_config'|trans({}, 'KeaBundle') }}
|
|
|
+ </h4>
|
|
|
+ </div>
|
|
|
+ <div class="box-body">
|
|
|
+ <div class="sonata-ba-collapsed-fields">
|
|
|
+ <div class="form-group clearfix">
|
|
|
+ {{ form_widget(form) }}
|
|
|
+ <br />
|
|
|
+ <div class="clearfix">
|
|
|
+ <div style="width:55%; float: left">
|
|
|
+ <textarea id="textarea_ace_editor"></textarea>
|
|
|
+ </div>
|
|
|
+ <div style="width:40%; float: left">
|
|
|
+ <br />
|
|
|
+ <p class="text-uppercase">{{ 'kea_options'|trans({}, 'KeaBundle') }}</p>
|
|
|
+ <br />
|
|
|
+ <code><i class="fa fa-download" aria-hidden="true"></i> {{ 'get_config'|trans({}, 'KeaBundle') }} :</code> {{ 'get_config_help'|trans({}, 'KeaBundle') }}
|
|
|
+ <br />
|
|
|
+ <code><i class="fa fa-cog" aria-hidden="true"></i> {{ 'generate_config'|trans({}, 'KeaBundle') }} :</code> {{ 'generate_config_help'|trans({}, 'KeaBundle') }}
|
|
|
+ <br />
|
|
|
+ <code><i class="fa fa-upload" aria-hidden="true"></i> {{ 'set_config'|trans({}, 'KeaBundle') }} :</code> {{ 'set_config_help'|trans({}, 'KeaBundle') }}
|
|
|
+ <br />
|
|
|
+ <code><i class="fa fa-save" aria-hidden="true"></i> {{ 'save_config'|trans({}, 'KeaBundle') }} :</code> {{ 'save_config_help'|trans({}, 'KeaBundle') }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div id="result_load" style="display:none">
|
|
|
+ <pre id="result_load_pre"></pre>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+</div>
|
|
|
+
|
|
|
+<div class="sonata-ba-form-actions well well-small form-actions">
|
|
|
+ <button class="btn btn-success" type="submit" id="btn_get_config" onclick="bclick('btn_get_config','get');">
|
|
|
+ <i class="fa fa-download" aria-hidden="true"></i> {{ 'get_config'|trans({}, 'KeaBundle') }}
|
|
|
+ </button>
|
|
|
+ <button class="btn btn-success" type="submit" id="btn_generate_config" onclick="bclick('btn_generate_config','generate');">
|
|
|
+ <i class="fa fa-cog" aria-hidden="true"></i> {{ 'generate_config'|trans({}, 'KeaBundle') }}
|
|
|
+ </button>
|
|
|
+ <button class="btn btn-success" type="submit" id="btn_set_config" onclick="bclick('btn_set_config','set');">
|
|
|
+ <i class="fa fa-upload" aria-hidden="true"></i> {{ 'set_config'|trans({}, 'KeaBundle') }}
|
|
|
+ </button>
|
|
|
+ <button class="btn btn-success" type="submit" id="btn_save_config" onclick="bclick('btn_save_config','save');">
|
|
|
+ <i class="fa fa-save" aria-hidden="true"></i> {{ 'save_config'|trans({}, 'KeaBundle') }}
|
|
|
+ </button>
|
|
|
+</div>
|
|
|
+
|
|
|
+
|
|
|
+<script type="text/javascript">
|
|
|
+
|
|
|
+$(document).ready(function() {
|
|
|
+ $("#textarea_ace_editor").asAceEditor();
|
|
|
+ editor = $('#textarea_ace_editor').data('ace-editor');
|
|
|
+
|
|
|
+ editor.setTheme("ace/theme/github");
|
|
|
+ editor.getSession().setMode("ace/mode/json");
|
|
|
+ editor.setReadOnly(false);
|
|
|
+ editor.setFontSize(14);
|
|
|
+ editor.setShowInvisibles(true);
|
|
|
+ editor.getSession().setTabSize(2);
|
|
|
+ editor.getSession().setUseSoftTabs(true);
|
|
|
+ editor.getSession().setUseWrapMode(true);
|
|
|
+});
|
|
|
+
|
|
|
+function bclick(id, action) {
|
|
|
+ $("#"+id).attr('disabled','disabled');
|
|
|
+
|
|
|
+ dhcpId = $("#form_dhcpId").val();
|
|
|
+ if(!dhcpId) {
|
|
|
+ $("#"+id).removeAttr('disabled');
|
|
|
+ alert("{{ 'alert_select_dhcp'|trans({}, 'KeaBundle') }}");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ result = getConfig(dhcpId, action);
|
|
|
+ $("#"+id).removeAttr('disabled');
|
|
|
+}
|
|
|
+
|
|
|
+function getConfig(dhcpId, action) {
|
|
|
+
|
|
|
+ params = editor.getSession().getValue();
|
|
|
+ $("#result_load").hide();
|
|
|
+
|
|
|
+ $.ajax({method: "POST",async: false,cache: false,
|
|
|
+ url: "{{url('kea_get_config')}}?_=" + new Date().getTime(),
|
|
|
+ data: { dhcpId: dhcpId, action: action, params: params }
|
|
|
+ }).done(function( result ) {
|
|
|
+ if(action == "set" || action == "save") {
|
|
|
+ $("#result_load_pre").html(result);
|
|
|
+ $("#result_load").show();
|
|
|
+ } else {
|
|
|
+ editor.setValue(result, -1);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return true;
|
|
|
+}
|
|
|
+
|
|
|
+</script>
|
|
|
+{% endblock %}
|