Statistics
| Branch: | Tag: | Revision:

root / templates / user_routes.html @ 33e8f0b8

History | View | Annotate | Download (5.2 kB)

1
{% extends "base.html" %}
2
{% load i18n %}
3
{% block extrahead %}
4
<script type="text/javascript" src="/static/js/jquery.dataTables.js"></script>
5
<script type="text/javascript">
6
        $(document).ready( function(){
7
                $("#hid_mid").val('');
8
                $('#dialog').dialog({
9
                        height: 220,
10
            width: 300,
11
                        modal: true,
12
                        autoOpen: false,
13
                        buttons: {
14
                'Delete': function() {
15
                route = $('#route_to_delete').text();
16
                route_url_id = '#del_route_'+route;
17
                url = $(route_url_id).attr('href');
18
                        $.ajax({
19
                        url: url ,
20
                        cache: false,
21
                        success: function(data) {
22
                                $('#dialog').dialog('close');
23
                                window.setTimeout('location.reload()', 1000);
24
                          }
25
                });
26
                },
27
                Cancel: function() {
28
                        $('#dialog').dialog('close');
29
                },
30
                
31

32
        },
33
        close: function() {
34
        update_val = $("#hid_mid").val();
35
                if (update_val == 'UPDATED'){
36
                        $("#hid_mid").val('');
37
                        window.setTimeout('location.reload()', 500);
38
                }
39
    }
40
                });
41
                $('#console').dialog({
42
                        height: 250,
43
            width: 800,
44
                        modal: true,
45
                        autoOpen: false,
46
                        close: function() {
47
                        update_val = $("#hid_mid").val();
48
                                if (update_val == 'UPDATED'){
49
                                        $("#hid_mid").val('');
50
                                        window.setTimeout('location.reload()', 500);
51
                                }
52
                    }
53
                });
54
                        
55
                $('#routes_table').dataTable( {
56
                        "bJQueryUI": true,
57
                        "oLanguage": {
58
                                "sLengthMenu": '{% trans "Display" %} <select><option value="25">25</option><option value="50">50</option><option value="-1">{% trans "All" %}</option></select> rules'
59
                        },
60
                        "iDisplayLength": 25,
61
        } );
62
        $( ".button_place #routebutton" ).button({
63
            icons: {
64
                primary: "ui-icon-circle-plus"
65
            },
66
                        });
67
                $( " .edit_button" ).button({
68
            icons: {
69
                primary: "ui-icon-wrench"
70
            },
71
                        });
72
                $( " .del_button" ).button({
73
            icons: {
74
                primary: "ui-icon-circle-close"
75
            },
76
                        })
77
                        .click(function(){
78
                                $('#dialog').dialog('open');
79
                                return false;
80
                        });
81
                $("#consolebutton").button({
82
            icons: {
83
                primary: "ui-icon-image"
84
            },
85
                        })
86
                        .click(function(){
87
                                $("#consolebutton").stop().stop();
88
                                $("#consolebutton").css('color', '#555555');
89
                                $('#console').dialog('open');
90
                                return false;
91
                        });
92

93
                });
94
                
95
function delete_route(route){
96
        route_name = route;
97
        $('#route_to_delete').text(route_name);
98
        return false;
99
}                
100
                
101
                
102

    
103
</script>
104
<style type="text/css">
105
        #console {
106
                background: none repeat scroll 0 0 #36102a !important;
107
                color: #edeae8 !important;
108
                font-family: monospace !important;
109
        }
110
        .message {
111
                font-family: monospace !important;
112
        }
113
        
114
</style>
115
{% endblock %}
116
{% block title %}{% trans "My rules" %}{% endblock %}
117
{% block content %}
118
<div style="float:left">
119
        <h3 style="margin-top: 0px;">{% trans "My rules" %}</h3>
120
</div>
121
<div class='button_place' style="float:right">
122
        <button id="consolebutton">Console</button> <a href="{% url add-route %}" id="routebutton">Add Rule</a>
123
</div>
124
<table class="display" width="100%" id="routes_table">
125
<thead>
126
<tr>
127
        <th>{% trans "Name" %}</th>
128
        <th>{% trans "Match" %}</th>
129
        <th style="text-align: center;">{% trans "Then" %}</th>
130
        <th style="text-align: center;">{% trans "Status" %}</th>
131
        {% comment %}<th style="text-align: center;">{% trans "Details" %}</th>{% endcomment %}
132
        <th style="text-align: center;">{% trans "Applier" %}</th>
133
        <th style="text-align: center;">{% trans "Expires" %}</th>
134
        <th style="text-align: center;">{% trans "Response" %}</th>
135
        <th style="text-align: center; width:140px;">{% trans "Actions" %}</th>
136
</tr>
137
</thead>
138

    
139
<tbody>
140
{% for route in routes %}
141

    
142
<tr {% ifequal  'ACTIVE' %} class="GradeA" {% else %} class="GradeX" {% endifequal %}>
143
        <td>{{ route.name }}</td>
144
        <td>{{ route.get_match|safe|escape }}</td>
145
        <td style="text-align: center;">{{route.get_then|safe|escape}}</td>
146
        <td style="text-align: center;">{{route.status}}</td>
147
        {% comment %}<td style="text-align: center;">{{ route.response }}</td>{% endcomment %}
148
        <td style="text-align: center;">{{ route.applier }}</td>
149
        <td style="text-align: center;">{{ route.expires }}</td>
150
        <td style="text-align: center;">{{ route.response }}</td>
151
        <td style="text-align: center;">
152
                {% ifequal route.status 'ACTIVE' %}
153
                <a href="{% url edit-route route.name %}" class="edit_button" id="edit_button_{{route.pk}}">Edit</a> 
154
                <button class="del_button" id="{{route.name}}" onclick="javascript:delete_route(this.id)">Del</button>
155
                <a href="{% url delete-route route.name %}" style="display:none" id="del_route_{{route.name}}"></a>
156
                {% else %}
157
                {% ifequal route.status 'INACTIVE' %}
158
                <a href="{% url edit-route route.name %}" class="edit_button" id="edit_button_{{route.pk}}">Reactivate</a>
159
                {% else %}
160
                {% ifequal route.status 'OUTOFSYNC' %}
161
                <a href="{% url edit-route route.name %}" class="edit_button" id="edit_button_{{route.pk}}">ReSync</a>
162
                {% else %}
163
                -
164
                {% endifequal %}
165
                {% endifequal %}
166
                {% endifequal %}</td>
167
</tr>
168

    
169
{% endfor %}
170
</tbody>
171
</table>
172

    
173
<div id="dialog" title="Delete Route">
174
                <p>You are about to delete rule <strong><span id="route_to_delete"></span></strong></p>
175
                <p>Deleting the rule will automatically remove the configuration from the network and mark this route as inactive.</p>
176
                <p>Are you sure you want to proceed?</p>
177
</div>
178
<div id="console" title="Console">
179
                                        {% include "poll.html" %}
180
</div>
181
{% endblock %}