apply.html 6.26 KB
Newer Older
Leonidas Poulopoulos's avatar
Leonidas Poulopoulos committed
1 2
{% extends "base.html" %}
{% load i18n %}
3

4 5
{% block title %}
	{% if edit %}
6
		{% trans "Edit Rule" %} {{form.data.name}}
7
	{% else %}
8
		{% trans "Create new Rule" %}
9 10 11 12 13
	{% endif %}
{% endblock %}

{% block breadcrumbs %}:: 
	{% if edit %}
14
		{% trans "Edit rule" %} {{form.data.name}}
15
	{% else %}
16
	{% trans "Create rule" %}
17 18
	{% endif %}
		{% endblock %}
19 20 21 22 23 24 25 26
{% block extrahead %}
<script>
	$(document).ready( function(){
		
		$("#id_sourceport").css('width', '100px').attr('size', '5');
		$("#id_port").css('width', '100px').attr('size', '5');
		$("#id_destinationport").css('width', '100px').attr('size', '5');
		$('#id_then').attr("multiple", "");
27
		$( "#id_expires" ).datepicker({ dateFormat: 'yy-mm-dd' , maxDate: '+10d', minDate: '+1d', changeMonth: false, changeYear: false }).datepicker( $.datepicker.regional[ "el" ] );
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
		$('#then_diag').dialog({
			height: 220,
            width: 340,
			modal: true,
			autoOpen: false,
			buttons: {
		'Add': function() {
			console.log($("#add_rl_form").serialize());
			$.ajax({
			url:"{% url add-rate-limit %}", 
			data:$("#add_rl_form").serialize(),
			type: "POST",
			cache: false,
			success:function(data){
					try {
						value = data.pk;
						text = data.value;
						$('#id_then').append($("<option></option>").attr("value",value).text(text));
						$('#then_diag').dialog('close');
					}
					catch (exception) {
						$('#then_diag').html(data);
					}					
				}
				});
		},
		Cancel: function() {
			$('#then_diag').dialog('close');
		}
	}
		});
		
		$('#port_diag').dialog({
			height: 220,
            width: 340,
			modal: true,
			autoOpen: false,
			buttons: {
		'Add': function() {
			console.log($("#add_port_form").serialize());
			$.ajax({
			url:"{% url add-port %}", 
			data:$("#add_port_form").serialize(),
			type: "POST",
			cache: false,
			success:function(data){
					try {
						value = data.value;
						text = data.text;
						$('#id_port').append($("<option></option>").attr("value",value).text(text));
						$('#id_destinationport').append($("<option></option>").attr("value",value).text(text));
						$('#id_sourceport').append($("<option></option>").attr("value",value).text(text));
						$('#port_diag').dialog('close');
					}
					catch (exception) {
						$('#port_diag').html(data);
					}					
				}
				});
		},
		Cancel: function() {
			$('#port_diag').dialog('close');
		}
	}
		});
		
		
		$("#new_then_actions").button({
            icons: {
                primary: "ui-icon-plusthick"
            },
			})
			.click(function(){
				$.ajax({
					url: "{% url add-rate-limit %}",
					cache: false,
					success: function(data){
						$("#then_diag").html(data);
					}
				});
				$('#then_diag').dialog('open');
				return false;
			});
			
			
			$(".new_port").button({
            icons: {
                primary: "ui-icon-plusthick"
            },
			})
			.click(function(){
				$.ajax({
					url: "{% url add-port %}",
					cache: false,
					success: function(data){
						$("#port_diag").html(data);
					}
				});
				$('#port_diag').dialog('open');
				return false;
			});
		});
		
</script>
{% endblock %}
Leonidas Poulopoulos's avatar
Leonidas Poulopoulos committed
133 134 135 136 137 138 139 140 141 142 143 144 145 146
{% block content %}
<style type="text/css">
th {
	text-align: right;
	padding-right: 0.5em;
	vertical-align: top;
}

.help {
	font-style: italic;

}
</style>
<div align="center">
147
	{% if edit %}
148
	<h3>{% trans "Edit rule" %}: {{form.data.name}}</h3>
149
	{% else %}
150
<h3>{% trans "Apply for a new rule" %}</h3>
151
{% endif %}
Leonidas Poulopoulos's avatar
Leonidas Poulopoulos committed
152 153
<form method="POST">
{% csrf_token %}
154
{% load unescape %}
155
{% if form.non_field_errors %}
156
<p class="error">{{ form.non_field_errors|unescape}}</p>
157
{% endif %}
158 159

<fieldset {% if edit %} style="display:none;" {% endif %}>
160
	<legend>{% trans "Rule Basic Info" %}</legend>
Leonidas Poulopoulos's avatar
Leonidas Poulopoulos committed
161
<table>
162
<tr><th>{{ form.name.label_tag }}</th><td>{{ form.name }}<span class="error">{{ form.name.errors|join:", " }}</span></td></tr>
163
<tr class="help"><td></td><td>A unique identifier will be added as a name_suffix</td></tr>
Leonidas Poulopoulos's avatar
Leonidas Poulopoulos committed
164 165 166 167
</table>
</fieldset>

<fieldset>
168
<legend>{% trans "Rule Match Conditions" %}</legend>
169
<table>
170
<input type="hidden" id="id_applier" name="applier" value="{{applier}}"/>
171 172
<tr><th>{{ form.source.label_tag }}</th><td>{{ form.source }}<span class="error">{{ form.source.errors|join:", " }}</span></td></tr>
<tr class="help"><td></td><td>{{ form.source.help_text }}</td></tr>
173
<tr><th>{{ form.sourceport.label_tag }}</th><td>{{ form.sourceport }}&nbsp;&nbsp;<button class="new_port">Port</button><span class="error">{{ form.sourceport.errors|join:", " }}</span></td></tr>
174 175 176
<tr class="help"><td></td><td>{{ form.sourceport.help_text }}</td></tr>
<tr><th>{{ form.destination.label_tag }}</th><td>{{ form.destination }}<span class="error">{{ form.destination.errors|join:", " }}</span></td></tr>
<tr class="help"><td></td><td>{{ form.destination.help_text }}</td></tr>
177
<tr><th>{{ form.destinationport.label_tag }}</th><td>{{ form.destinationport }}&nbsp;&nbsp;<button class="new_port">Port</button><span class="error">{{ form.destinationport.errors|join:", " }}</span></td></tr>
178
<tr class="help"><td></td><td>{{ form.destinationport.help_text }}</td></tr>
179
<tr><th>{{ form.port.label_tag }}</th><td>{{ form.port }}&nbsp;&nbsp;<button class="new_port">Port</button><span class="error">{{ form.port.errors|join:", " }}</span></td></tr>
180 181
<tr class="help"><td></td><td>{{ form.port.help_text }}</td></tr>
</table>
Leonidas Poulopoulos's avatar
Leonidas Poulopoulos committed
182 183
</fieldset>
<fieldset>
184
<legend>{% trans "Rule Actions" %}</legend>
Leonidas Poulopoulos's avatar
Leonidas Poulopoulos committed
185
<table>
186
<tr><th>{{ form.then.label_tag }}</th><td>{{ form.then }}&nbsp;&nbsp;<button id="new_then_actions">Rate-limit</button><span class="error">{{ form.then.errors|join:", " }}</span></td></tr>
Leonidas Poulopoulos's avatar
Leonidas Poulopoulos committed
187 188 189
</table>
</fieldset>
<fieldset>
190 191 192 193 194 195
<legend>{% trans "Expiration" %}</legend>
<table>
<tr><th>{{ form.expires.label_tag }}</th><td>{{ form.expires }}<span class="error">{{ form.expires.errors|join:", " }}</span></td></tr>
</table>
</fieldset>
<fieldset>
196
<legend>{% trans "Use/Comments" %}</legend>
Leonidas Poulopoulos's avatar
Leonidas Poulopoulos committed
197
{% blocktrans %}
198
<p>Give a short description of the intended use of this rule, that justifies the parameter selection above. Feel free to include any additional comments.</p>
Leonidas Poulopoulos's avatar
Leonidas Poulopoulos committed
199
{% endblocktrans %}
200 201
<p>{{ form.comments }}
{% if form.errors %}<br /><span class="error">{{ form.comments.errors|join:", " }}</span>{% endif %}
Leonidas Poulopoulos's avatar
Leonidas Poulopoulos committed
202 203 204 205 206 207
</p>
</fieldset>

<p><input type="submit" value="{% trans "Apply" %}" /></p>
</form>
</div>
208

209 210 211 212 213 214
<div id="then_diag" title="Add new rate-limit value">
</div>

<div id="port_diag" title="Add new port">
</div>

Leonidas Poulopoulos's avatar
Leonidas Poulopoulos committed
215
{% endblock %}