View | Details | Raw Unified | Return to bug 19601
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/audio_alerts.tt (-6 / +11 lines)
Lines 1-13 Link Here
1
[% USE Koha %]
1
[% USE Koha %]
2
[% SET footerjs = 1 %]
2
[% INCLUDE 'doc-head-open.inc' %]
3
[% INCLUDE 'doc-head-open.inc' %]
3
<title>Koha &rsaquo; Administration &rsaquo; Audio alerts</title>
4
<title>Koha &rsaquo; Administration &rsaquo; Audio alerts</title>
4
[% INCLUDE 'doc-head-close.inc' %]
5
[% INCLUDE 'doc-head-close.inc' %]
5
<script type="text/javascript">
6
    var MSG_AUDIO_EMPTY_SOUND = _("Please select or enter a sound.");
7
    var MSG_AUDIO_CONFIRM_DELETE = _("Are you sure you want to delete the selected audio alerts?");
8
    var MSG_AUDIO_CHECK_CHECKBOXES = _("Check the box next to the alert you want to delete.")
9
</script>
10
<script type="text/javascript" src="[% interface %]/[% theme %]/js/audio_alerts.js"></script>
11
</head>
6
</head>
12
7
13
<body id="admin_audio_alerts" class="admin">
8
<body id="admin_audio_alerts" class="admin">
Lines 135-138 Link Here
135
[% INCLUDE 'admin-menu.inc' %]
130
[% INCLUDE 'admin-menu.inc' %]
136
</div>
131
</div>
137
</div>
132
</div>
133
134
[% MACRO jsinclude BLOCK %]
135
    <script type="text/javascript" src="[% interface %]/[% theme %]/js/admin-menu.js"></script>
136
    <script type="text/javascript">
137
        var MSG_AUDIO_EMPTY_SOUND = _("Please select or enter a sound.");
138
        var MSG_AUDIO_CONFIRM_DELETE = _("Are you sure you want to delete the selected audio alerts?");
139
        var MSG_AUDIO_CHECK_CHECKBOXES = _("Check the box next to the alert you want to delete.")
140
    </script>
141
    <script type="text/javascript" src="[% interface %]/[% theme %]/js/audio_alerts.js"></script>
142
[% END %]
138
[% INCLUDE 'intranet-bottom.inc' %]
143
[% INCLUDE 'intranet-bottom.inc' %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/columns_settings.tt (-15 / +21 lines)
Lines 1-3 Link Here
1
[% SET footerjs = 1 %]
1
[% SET panel_id = 0 %]
2
[% SET panel_id = 0 %]
2
[% BLOCK pagelist %]
3
[% BLOCK pagelist %]
3
<div class="pagelist">
4
<div class="pagelist">
Lines 87-108 Link Here
87
[% INCLUDE 'doc-head-open.inc' %]
88
[% INCLUDE 'doc-head-open.inc' %]
88
<title>Koha &rsaquo; Administration &rsaquo; Columns settings</title>
89
<title>Koha &rsaquo; Administration &rsaquo; Columns settings</title>
89
[% INCLUDE 'doc-head-close.inc' %]
90
[% INCLUDE 'doc-head-close.inc' %]
90
<script type="text/javascript">
91
    $(document).ready( function() {
92
        var accordion = $( "#modules" ).accordion({
93
            collapsible: true,
94
            autoHeight: false,
95
            header: "h3",
96
          [%- IF panel -%]
97
            [%# we were asked to show a specific panel, usually on update %]
98
            active: [%- panel -%]
99
          [%- ELSE -%]
100
            active: false
101
          [%- END -%]
102
        });
103
    });
104
</script>
105
</head>
91
</head>
92
106
<body id="admin_tables" class="admin">
93
<body id="admin_tables" class="admin">
107
[% INCLUDE 'header.inc' %]
94
[% INCLUDE 'header.inc' %]
108
[% INCLUDE 'prefs-admin-search.inc' %]
95
[% INCLUDE 'prefs-admin-search.inc' %]
Lines 176-179 Link Here
176
      [% INCLUDE 'admin-menu.inc' %]
163
      [% INCLUDE 'admin-menu.inc' %]
177
    </div>
164
    </div>
178
  </div>
165
  </div>
166
167
[% MACRO jsinclude BLOCK %]
168
    <script type="text/javascript" src="[% interface %]/[% theme %]/js/admin-menu.js"></script>
169
    <script type="text/javascript">
170
        $(document).ready( function() {
171
            var accordion = $( "#modules" ).accordion({
172
                collapsible: true,
173
                autoHeight: false,
174
                header: "h3",
175
              [%- IF panel -%]
176
                [%# we were asked to show a specific panel, usually on update %]
177
                active: [%- panel -%]
178
              [%- ELSE -%]
179
                active: false
180
              [%- END -%]
181
            });
182
        });
183
    </script>
184
[% END %]
179
[% INCLUDE 'intranet-bottom.inc' %]
185
[% INCLUDE 'intranet-bottom.inc' %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/didyoumean.tt (-46 / +52 lines)
Lines 1-3 Link Here
1
[% SET footerjs = 1 %]
1
[% BLOCK pluginlist %]
2
[% BLOCK pluginlist %]
2
<div class="pluginlist">
3
<div class="pluginlist">
3
[% FOREACH plugin IN plugins %]
4
[% FOREACH plugin IN plugins %]
Lines 21-73 Link Here
21
[% INCLUDE 'doc-head-open.inc' %]
22
[% INCLUDE 'doc-head-open.inc' %]
22
<title>Koha &rsaquo; Administration &rsaquo; Did you mean?</title>
23
<title>Koha &rsaquo; Administration &rsaquo; Did you mean?</title>
23
[% INCLUDE 'doc-head-close.inc' %]
24
[% INCLUDE 'doc-head-close.inc' %]
24
<script>
25
    $(document).ready(function() {
26
        $( ".pluginlist" ).sortable();
27
        $( ".plugin" ).addClass( "ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" )
28
            .find( ".pluginname" )
29
                    .addClass( "ui-widget-header ui-corner-all" )
30
                    .end()
31
            .find( ".plugindesc" );
32
        $(".save-all").on("click",function(e){
33
            e.preventDefault();
34
            yesimeant();
35
        });
36
        $(".force_reload").on("click",function(e){
37
            e.preventDefault();
38
            window.location.reload(true);
39
        });
40
    });
41
42
    function yesimeant() {
43
        var OPACdidyoumean = serialize_plugins('opac');
44
        var INTRAdidyoumean = serialize_plugins('intranet');
45
46
        var data = "pref_OPACdidyoumean=" + encodeURIComponent(OPACdidyoumean) + "&pref_INTRAdidyoumean=" + encodeURIComponent(INTRAdidyoumean);
47
48
        $.ajax({
49
            data: data,
50
            type: 'POST',
51
            url: '/cgi-bin/koha/svc/config/systempreferences/',
52
            success: function () { alert("Successfully saved configuration"); },
53
        });
54
        return false;
55
    }
56
57
    function serialize_plugins(interface) {
58
        var serializedconfig = '[';
59
        $('#didyoumean' + interface + ' .pluginlist .plugin').each(function(index) {
60
            var name = $(this).find('.pluginlabel').text();
61
            var enabled = $(this).find('input:checkbox:checked').length ?
62
                          ', "enabled": 1' : '';
63
            serializedconfig += '{ "name": "' + name + '"' + enabled + '}, ';
64
            });
65
            serializedconfig = serializedconfig.substring(0, serializedconfig.length - 2);
66
            serializedconfig += ']';
67
            return serializedconfig;
68
    }
69
</script>
70
</head>
25
</head>
26
71
<body id="admin_didyoumean" class="admin">
27
<body id="admin_didyoumean" class="admin">
72
[% INCLUDE 'header.inc' %]
28
[% INCLUDE 'header.inc' %]
73
[% INCLUDE 'prefs-admin-search.inc' %]
29
[% INCLUDE 'prefs-admin-search.inc' %]
Lines 110-113 Link Here
110
[% INCLUDE 'admin-menu.inc' %]
66
[% INCLUDE 'admin-menu.inc' %]
111
</div>
67
</div>
112
</div>
68
</div>
69
70
[% MACRO jsinclude BLOCK %]
71
    <script type="text/javascript" src="[% interface %]/[% theme %]/js/admin-menu.js"></script>
72
    <script type="text/javascript">
73
        $(document).ready(function() {
74
            $( ".pluginlist" ).sortable();
75
            $( ".plugin" ).addClass( "ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" )
76
                .find( ".pluginname" )
77
                        .addClass( "ui-widget-header ui-corner-all" )
78
                        .end()
79
                .find( ".plugindesc" );
80
            $(".save-all").on("click",function(e){
81
                e.preventDefault();
82
                yesimeant();
83
            });
84
            $(".force_reload").on("click",function(e){
85
                e.preventDefault();
86
                window.location.reload(true);
87
            });
88
        });
89
90
        function yesimeant() {
91
            var OPACdidyoumean = serialize_plugins('opac');
92
            var INTRAdidyoumean = serialize_plugins('intranet');
93
94
            var data = "pref_OPACdidyoumean=" + encodeURIComponent(OPACdidyoumean) + "&pref_INTRAdidyoumean=" + encodeURIComponent(INTRAdidyoumean);
95
96
            $.ajax({
97
                data: data,
98
                type: 'POST',
99
                url: '/cgi-bin/koha/svc/config/systempreferences/',
100
                success: function () { alert("Successfully saved configuration"); },
101
            });
102
            return false;
103
        }
104
105
        function serialize_plugins(interface) {
106
            var serializedconfig = '[';
107
            $('#didyoumean' + interface + ' .pluginlist .plugin').each(function(index) {
108
                var name = $(this).find('.pluginlabel').text();
109
                var enabled = $(this).find('input:checkbox:checked').length ?
110
                              ', "enabled": 1' : '';
111
                serializedconfig += '{ "name": "' + name + '"' + enabled + '}, ';
112
                });
113
                serializedconfig = serializedconfig.substring(0, serializedconfig.length - 2);
114
                serializedconfig += ']';
115
                return serializedconfig;
116
        }
117
    </script>
118
[% END %]
113
[% INCLUDE 'intranet-bottom.inc' %]
119
[% INCLUDE 'intranet-bottom.inc' %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/sms_providers.tt (-9 / +12 lines)
Lines 1-15 Link Here
1
[% SET footerjs = 1 %]
1
[% INCLUDE 'doc-head-open.inc' %]
2
[% INCLUDE 'doc-head-open.inc' %]
2
<title>Koha &rsaquo; Administration &rsaquo; SMS cellular providers</title>
3
<title>Koha &rsaquo; Administration &rsaquo; SMS cellular providers</title>
3
[% INCLUDE 'doc-head-close.inc' %]
4
[% INCLUDE 'doc-head-close.inc' %]
4
<script type="text/javascript">
5
    //<![CDATA[
6
        var MSG_SMS_PATRONS_USING = _("Are you sure you want to delete %s? %s patron(s) are using it!");
7
        var MSG_SMS_DELETE_CONFIRM = _("Are you sure you want to delete %s?");
8
        var LABEL_SMS_ADD_PROVIDER = _("Add an SMS cellular provider");
9
        var LABEL_SMS_EDIT_PROVIDER = _("Edit provider %s");
10
    //]]>
11
</script>
12
<script type="text/javascript" src="[% interface %]/[% theme %]/js/sms_providers.js"></script>
13
</head>
5
</head>
14
6
15
<body id="admin_sms_providers" class="admin">
7
<body id="admin_sms_providers" class="admin">
Lines 102-105 Link Here
102
        </div>
94
        </div>
103
    </div>
95
    </div>
104
</div>
96
</div>
97
98
[% MACRO jsinclude BLOCK %]
99
    <script type="text/javascript" src="[% interface %]/[% theme %]/js/admin-menu.js"></script>
100
    <script type="text/javascript">
101
        var MSG_SMS_PATRONS_USING = _("Are you sure you want to delete %s? %s patron(s) are using it!");
102
        var MSG_SMS_DELETE_CONFIRM = _("Are you sure you want to delete %s?");
103
        var LABEL_SMS_ADD_PROVIDER = _("Add an SMS cellular provider");
104
        var LABEL_SMS_EDIT_PROVIDER = _("Edit provider %s");
105
    </script>
106
    <script type="text/javascript" src="[% interface %]/[% theme %]/js/sms_providers.js"></script>
107
[% END %]
105
[% INCLUDE 'intranet-bottom.inc' %]
108
[% INCLUDE 'intranet-bottom.inc' %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/usage_statistics.tt (-42 / +41 lines)
Lines 1-44 Link Here
1
[% SET footerjs = 1 %]
1
[% USE Koha %]
2
[% USE Koha %]
2
[% USE KohaDates %]
3
[% USE KohaDates %]
3
[% USE Price %]
4
[% USE Price %]
4
[% INCLUDE 'doc-head-open.inc' %]
5
[% INCLUDE 'doc-head-open.inc' %]
5
<title>Koha &rsaquo; Administration &rsaquo; Koha usage statistics</title>
6
<title>Koha &rsaquo; Administration &rsaquo; Koha usage statistics</title>
6
[% INCLUDE 'doc-head-close.inc' %]
7
[% INCLUDE 'doc-head-close.inc' %]
7
[% INCLUDE 'calendar.inc' %]
8
<link rel="stylesheet" href="[% interface %]/lib/leaflet/leaflet.css" />
8
<link rel="stylesheet" href="[% interface %]/lib/leaflet/leaflet.css" />
9
<script src="[% interface %]/lib/leaflet/leaflet.js"></script>
10
11
<script type="text/javascript">
12
//<![CDATA[
13
    function positionMap() {
14
        var tbh = $("#mapid");
15
        var mapContainer = tbh.parent();
16
        mapContainer.css('position', 'relative');
17
        mapContainer.css('min-height', tbh.outerHeight(true));
18
        tbh.css('position', 'absolute');
19
        tbh.css('right', 0);
20
21
        var offsetTop = mapContainer.offset().top;
22
        var s = parseInt($(window).scrollTop(), 10);
23
        tbh.css('top', '').css('bottom', '');
24
        if (s > offsetTop) {
25
            var mapContainerOffsetBottom = offsetTop + mapContainer.innerHeight();
26
            if (s + tbh.outerHeight(true) > mapContainerOffsetBottom) {
27
                tbh.css('bottom', 0);
28
            } else {
29
                tbh.css('top', s - offsetTop);
30
            }
31
        } else {
32
            tbh.css('top', 0);
33
        }
34
    }
35
36
    $(document).ready(function() {
37
        $(window).scroll(positionMap);
38
        positionMap();
39
    });
40
//]]>
41
</script>
42
</head>
9
</head>
43
10
44
<body id="admin_usage_statistics" class="admin">
11
<body id="admin_usage_statistics" class="admin">
Lines 252-259 Link Here
252
            <a class="cancel" href="/cgi-bin/koha/admin/usage_statistics.pl">Cancel</a>
219
            <a class="cancel" href="/cgi-bin/koha/admin/usage_statistics.pl">Cancel</a>
253
        </fieldset>
220
        </fieldset>
254
    </form>
221
    </form>
222
</div>
223
</div>
224
<div class="yui-b">
225
[% INCLUDE 'admin-menu.inc' %]
226
</div>
227
</div>
228
229
[% MACRO jsinclude BLOCK %]
230
    [% INCLUDE 'calendar.inc' %]
231
    <script type="text/javascript" src="[% interface %]/[% theme %]/js/admin-menu.js"></script>
232
    <script src="[% interface %]/lib/leaflet/leaflet.js"></script>
233
    <script type="text/javascript">
234
        function positionMap() {
235
            var tbh = $("#mapid");
236
            var mapContainer = tbh.parent();
237
            mapContainer.css('position', 'relative');
238
            mapContainer.css('min-height', tbh.outerHeight(true));
239
            tbh.css('position', 'absolute');
240
            tbh.css('right', 0);
241
242
            var offsetTop = mapContainer.offset().top;
243
            var s = parseInt($(window).scrollTop(), 10);
244
            tbh.css('top', '').css('bottom', '');
245
            if (s > offsetTop) {
246
                var mapContainerOffsetBottom = offsetTop + mapContainer.innerHeight();
247
                if (s + tbh.outerHeight(true) > mapContainerOffsetBottom) {
248
                    tbh.css('bottom', 0);
249
                } else {
250
                    tbh.css('top', s - offsetTop);
251
                }
252
            } else {
253
                tbh.css('top', 0);
254
            }
255
        }
256
257
        $(document).ready(function() {
258
            $(window).scroll(positionMap);
259
            positionMap();
260
        });
255
261
256
    <script>
257
        var map = L.map('mapid').setView([0,0], 1);
262
        var map = L.map('mapid').setView([0,0], 1);
258
263
259
        L.tileLayer('https://a.tile.openstreetmap.org/{z}/{x}/{y}.png', {
264
        L.tileLayer('https://a.tile.openstreetmap.org/{z}/{x}/{y}.png', {
Lines 329-339 Link Here
329
        });
334
        });
330
335
331
    </script>
336
    </script>
332
337
[% END %]
333
</div>
334
</div>
335
<div class="yui-b">
336
[% INCLUDE 'admin-menu.inc' %]
337
</div>
338
</div>
339
[% INCLUDE 'intranet-bottom.inc' %]
338
[% INCLUDE 'intranet-bottom.inc' %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/z3950servers.tt (-72 / +76 lines)
Lines 1-3 Link Here
1
[% SET footerjs = 1 %]
1
[% INCLUDE 'doc-head-open.inc' %]
2
[% INCLUDE 'doc-head-open.inc' %]
2
3
3
[% BLOCK ServerType %]
4
[% BLOCK ServerType %]
Lines 16-94 Link Here
16
17
17
[% IF op == 'list' %]
18
[% IF op == 'list' %]
18
    <link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
19
    <link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
19
    [% INCLUDE 'datatables.inc' %]
20
[% END %]
20
[% END %]
21
22
<script type="text/javascript">
23
//<![CDATA[
24
[% IF ( add_form ) %]
25
    $(document).ready(function(){
26
        // Update selects for syntax, encoding and recordtype
27
        [% IF server %]
28
            $("#syntax").val('[% server.syntax %]');
29
            $("#encoding").val('[% server.encoding %]');
30
            $("#recordtype").val('[% server.recordtype %]');
31
        [% END %]
32
        // Disable recordtype (and default to bib) for non-Z3950 servers until auth is supported
33
        [% UNLESS (server.servertype||type) == 'zed' %]
34
            $("#recordtype").prop('disabled',true);
35
        [% END %]
36
        $( "#serverentry" ).validate({
37
            rules: {
38
                servername: { required: true },
39
                host: { required: true },
40
                port: {
41
                    required: true,
42
                    number: true
43
                },
44
                db: { required: true },
45
                rank: { number: true },
46
                timeout: { number: true }
47
            }
48
        });
49
        $("#serverentry").submit(function( event ) {
50
            // first test if show_sru_fields exists
51
            if( $('#show_sru_fields').length && $('#show_sru_fields').val()=='' && !confirm( _("No SRU search field mappings have been defined. This means that all field searches will go through the whole record. Continue?"))) {
52
                return false;
53
            }
54
            // copy show_sru_fields to hidden counterpart
55
            $('#sru_fields').val( $('#show_sru_fields').val() );
56
            // enable recordtype to include field in post
57
            $('#recordtype').prop('disabled',false);
58
        });
59
        $("#servername").on("blur",function(){
60
            toUC(this);
61
        });
62
        $("#modify_sru_fields").on("click",function(){
63
            ModMapping();
64
        });
65
    });
66
    function ModMapping () {
67
        var map= $('#show_sru_fields').val();
68
        window.open('/cgi-bin/koha/admin/sru_modmapping.pl?mapping='+map,'popup','width=800,height=400,resizable=yes,toolbar=false,scrollbars=yes,top');
69
    }
70
[% ELSE %]
71
    $(document).ready(function() {
72
        $("#serverst").dataTable($.extend(true, {}, dataTablesDefaults, {
73
            "aoColumnDefs": [
74
                { "aTargets": [2,3,4,7,8,9,10,11], "bSortable": false, "bSearchable": false },
75
            ],
76
            "sPaginationType": "four_button"
77
        }));
78
        $(".delete").on("click",function(e){
79
            var servername = $(this).data("servername");
80
            if( confirm( _("Are you sure you want to delete server %s?").format(servername) ) ) {
81
                return true;
82
            } else {
83
                e.preventDefault();
84
            }
85
        });
86
    });
87
[% END %]
88
//]]>
89
</script>
90
91
</head>
21
</head>
22
92
<body id="admin_z3950servers" class="admin">
23
<body id="admin_z3950servers" class="admin">
93
[% INCLUDE 'header.inc' %]
24
[% INCLUDE 'header.inc' %]
94
[% INCLUDE 'z3950-admin-search.inc' %]
25
[% INCLUDE 'z3950-admin-search.inc' %]
Lines 265-268 Link Here
265
[% INCLUDE 'admin-menu.inc' %]
196
[% INCLUDE 'admin-menu.inc' %]
266
</div>
197
</div>
267
</div>
198
</div>
199
200
[% MACRO jsinclude BLOCK %]
201
    <script type="text/javascript" src="[% interface %]/[% theme %]/js/admin-menu.js"></script>
202
    [% IF op == 'list' %]
203
        [% INCLUDE 'datatables.inc' %]
204
    [% END %]
205
206
    <script type="text/javascript">
207
        [% IF ( add_form ) %]
208
            $(document).ready(function(){
209
                // Update selects for syntax, encoding and recordtype
210
                [% IF server %]
211
                    $("#syntax").val('[% server.syntax %]');
212
                    $("#encoding").val('[% server.encoding %]');
213
                    $("#recordtype").val('[% server.recordtype %]');
214
                [% END %]
215
                // Disable recordtype (and default to bib) for non-Z3950 servers until auth is supported
216
                [% UNLESS (server.servertype||type) == 'zed' %]
217
                    $("#recordtype").prop('disabled',true);
218
                [% END %]
219
                $( "#serverentry" ).validate({
220
                    rules: {
221
                        servername: { required: true },
222
                        host: { required: true },
223
                        port: {
224
                            required: true,
225
                            number: true
226
                        },
227
                        db: { required: true },
228
                        rank: { number: true },
229
                        timeout: { number: true }
230
                    }
231
                });
232
                $("#serverentry").submit(function( event ) {
233
                    // first test if show_sru_fields exists
234
                    if( $('#show_sru_fields').length && $('#show_sru_fields').val()=='' && !confirm( _("No SRU search field mappings have been defined. This means that all field searches will go through the whole record. Continue?"))) {
235
                        return false;
236
                    }
237
                    // copy show_sru_fields to hidden counterpart
238
                    $('#sru_fields').val( $('#show_sru_fields').val() );
239
                    // enable recordtype to include field in post
240
                    $('#recordtype').prop('disabled',false);
241
                });
242
                $("#servername").on("blur",function(){
243
                    toUC(this);
244
                });
245
                $("#modify_sru_fields").on("click",function(){
246
                    ModMapping();
247
                });
248
            });
249
            function ModMapping () {
250
                var map= $('#show_sru_fields').val();
251
                window.open('/cgi-bin/koha/admin/sru_modmapping.pl?mapping='+map,'popup','width=800,height=400,resizable=yes,toolbar=false,scrollbars=yes,top');
252
            }
253
        [% ELSE %]
254
            $(document).ready(function() {
255
                $("#serverst").dataTable($.extend(true, {}, dataTablesDefaults, {
256
                    "aoColumnDefs": [
257
                        { "aTargets": [2,3,4,7,8,9,10,11], "bSortable": false, "bSearchable": false },
258
                    ],
259
                    "sPaginationType": "four_button"
260
                }));
261
                $(".delete").on("click",function(e){
262
                    var servername = $(this).data("servername");
263
                    if( confirm( _("Are you sure you want to delete server %s?").format(servername) ) ) {
264
                        return true;
265
                    } else {
266
                        e.preventDefault();
267
                    }
268
                });
269
            });
270
        [% END %]
271
    </script>
272
[% END %]
268
[% INCLUDE 'intranet-bottom.inc' %]
273
[% INCLUDE 'intranet-bottom.inc' %]
269
- 

Return to bug 19601