Lines 1-268
Link Here
|
1 |
[% USE AuthorisedValues %] |
1 |
[% USE AuthorisedValues %] |
2 |
[% USE Branches %] |
2 |
[% USE Branches %] |
3 |
[% USE Price %] |
3 |
[% USE Price %] |
|
|
4 |
[% SET footerjs = 1 %] |
4 |
[% INCLUDE 'doc-head-open.inc' %] |
5 |
[% INCLUDE 'doc-head-open.inc' %] |
5 |
<title>Koha › Administration › Funds[% IF op == 'add_form' %] › [% IF ( budget_id ) %]Modify fund[% IF ( budget_name ) %] '[% budget_name %]'[% END %][% ELSE %]Add fund [% END %][% END %]</title> |
6 |
<title>Koha › Administration › Funds[% IF op == 'add_form' %] › [% IF ( budget_id ) %]Modify fund[% IF ( budget_name ) %] '[% budget_name %]'[% END %][% ELSE %]Add fund [% END %][% END %]</title> |
|
|
7 |
<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" /> |
8 |
<link href="[% interface %]/lib/jquery/plugins/treetable/stylesheets/jquery.treetable.css" rel="stylesheet" type="text/css" /> |
6 |
[% INCLUDE 'doc-head-close.inc' %] |
9 |
[% INCLUDE 'doc-head-close.inc' %] |
7 |
<script type="text/javascript"> |
|
|
8 |
//<![CDATA[ |
9 |
var MSG_BUDGET_PARENT_ALLOCATION = "- " + _("Fund amount exceeds parent allocation") + "\n"; |
10 |
var MSG_BUDGET_PERIOD_ALLOCATION = "- " + _("Fund amount exceeds period allocation") + "\n"; |
11 |
var MSG_PARENT_BENEATH_BUDGET = "- " + _("New budget-parent is beneath budget") + "\n"; |
12 |
//]]> |
13 |
</script> |
14 |
|
15 |
<script type="text/javascript" src="[% interface %]/[% theme %]/js/acq.js"></script> |
16 |
[% IF op == 'add_form' %] |
17 |
<script type="text/javascript"> |
18 |
//<![CDATA[ |
19 |
|
20 |
function userPopup() { |
21 |
window.open("/cgi-bin/koha/admin/add_user_search.pl?selection_type=add", |
22 |
'PatronPopup', |
23 |
'width=740,height=450,location=yes,toolbar=no,' |
24 |
+ 'scrollbars=yes,resize=yes' |
25 |
); |
26 |
} |
27 |
|
28 |
function ownerPopup() { |
29 |
window.open("/cgi-bin/koha/admin/add_user_search.pl?selection_type=select", |
30 |
'PatronPopup', |
31 |
'width=740,height=450,location=yes,toolbar=no,' |
32 |
+ 'scrollbars=yes,resize=yes' |
33 |
); |
34 |
} |
35 |
|
36 |
function select_user(borrowernumber, borrower) { |
37 |
ownerRemove(); |
38 |
var borrowername = borrower.firstname + ' ' + borrower.surname |
39 |
if (borrowernumber) { |
40 |
var ownerlink = '<a href="/cgi-bin/koha/members/moremember.pl' |
41 |
+ '?borrowernumber=' + borrowernumber + '">' |
42 |
+ borrowername + '</a>'; |
43 |
$('#budget_owner_name').html(ownerlink); |
44 |
$('#budget_owner_id').val(borrowernumber); |
45 |
} |
46 |
} |
47 |
|
48 |
function ownerRemove() { |
49 |
$('#budget_owner_name').empty(); |
50 |
$('#budget_owner_id').val(''); |
51 |
} |
52 |
|
53 |
function add_user(borrowernumber, borrowername) { |
54 |
var ids = $("#budget_users_id").val().split(':'); |
55 |
if(borrowernumber && ids.indexOf(borrowernumber) == -1) { |
56 |
var li = '<li id="user_' + borrowernumber + '">' |
57 |
+ '<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=' |
58 |
+ borrowernumber + '">' + borrowername + '</a> ' |
59 |
+ ' • <a data-borrowernumber=" + borrowernumber +" class="del_user" href="#"><i class="fa fa-trash"></i> Remove</a> ' |
60 |
+ '</li>'; |
61 |
$("#budget_users").prepend(li); |
62 |
ids.push(borrowernumber); |
63 |
$("#budget_users_id").val(ids.join(':')); |
64 |
} else { |
65 |
return -1; |
66 |
} |
67 |
return 0; |
68 |
} |
69 |
|
70 |
function del_user(borrowernumber) { |
71 |
var ids = $("#budget_users_id").val().split(':'); |
72 |
if (borrowernumber) { |
73 |
var idx = ids.indexOf(borrowernumber+''); |
74 |
if (idx != -1) { |
75 |
ids.splice(idx, 1); |
76 |
$("#budget_users_id").val(ids.join(':')); |
77 |
$("li#user_" + borrowernumber).remove(); |
78 |
} |
79 |
} |
80 |
} |
81 |
|
82 |
function Check(f) { |
83 |
var ok=1; |
84 |
var _alertString=""; |
85 |
var alertString2; |
86 |
|
87 |
if (!(isNotNull(f.budget_code,1))) { |
88 |
_alertString += _("- Budget code cannot be blank") + "\n"; |
89 |
} |
90 |
|
91 |
if (!(isNotNull(f.budget_name,1))) { |
92 |
_alertString += _("- Budget name cannot be blank") + "\n"; |
93 |
} |
94 |
|
95 |
if (!(isNotNull(f.budget_amount,1))) { |
96 |
_alertString += _("- Budget amount cannot be blank") + "\n"; |
97 |
} |
98 |
|
99 |
var budgetId; |
100 |
if (typeof(f.budget_id ) != "undefined") { |
101 |
budgetId = f.budget_id.value |
102 |
} |
103 |
|
104 |
var newBudgetParent; |
105 |
|
106 |
// hack to test if selected parent_id in scrolling-list... |
107 |
// if value == 'undef' its got a selected_parent :/ |
108 |
if(f.budget_parent_id){ |
109 |
var chkAdd = f.budget_parent_id.value ; |
110 |
if ( typeof(chkAdd ) != "undefined") { |
111 |
newBudgetParent = f.budget_parent_id.value |
112 |
} else { |
113 |
newBudgetParent = f.budget_parent_id.item(0).value |
114 |
} |
115 |
|
116 |
if (budgetId > 0) { ; //its a mod ... |
117 |
// if parent == curent-budget, fail... |
118 |
if ( newBudgetParent == budgetId ) { |
119 |
_alertString += _("- Budget parent is current budget") + "\n"; |
120 |
} |
121 |
|
122 |
else if (newBudgetParent) { |
123 |
var result = checkBudgetParent( budgetId , newBudgetParent ); |
124 |
if (result) { |
125 |
_alertString += result; |
126 |
} |
127 |
} |
128 |
} |
129 |
} |
130 |
|
131 |
// else do lookup |
132 |
var budgetTotal = Math.abs(f.budget_amount.value); |
133 |
var result = budgetExceedsParent (budgetTotal, budgetId, newBudgetParent, f.budget_period_id.value) |
134 |
if (result) { |
135 |
_alertString += result; |
136 |
} |
137 |
|
138 |
if (_alertString.length==0) { |
139 |
document.Aform.submit(); |
140 |
} else { |
141 |
alertString2 = _("Form not submitted because of the following problem(s)"); |
142 |
alertString2 += "\n------------------------------------------------------------------------------------\n\n"; |
143 |
alertString2 += _alertString; |
144 |
alert(alertString2); |
145 |
} |
146 |
} |
147 |
$(document).ready(function(){ |
148 |
$("#remove_owner").on("click",function(e){ |
149 |
e.preventDefault(); |
150 |
ownerRemove(); |
151 |
}); |
152 |
$("#edit_owner").on("click",function(e){ |
153 |
e.preventDefault(); |
154 |
ownerPopup(); |
155 |
}); |
156 |
$("body").on("click",".del_user",function(e){ |
157 |
e.preventDefault(); |
158 |
var borrowernumber = $(this).data("borrowernumber"); |
159 |
del_user(borrowernumber); |
160 |
}); |
161 |
$("#add_user_button").on("click",function(e){ |
162 |
e.preventDefault(); |
163 |
userPopup(); |
164 |
}); |
165 |
$("#edit_fund").on("submit",function(e){ |
166 |
e.preventDefault(); |
167 |
Check(this); |
168 |
}); |
169 |
}); |
170 |
//]]> |
171 |
</script> |
172 |
[% ELSIF op == 'list' %] |
173 |
<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" /> |
174 |
[% INCLUDE 'datatables.inc' %] |
175 |
<link href="[% interface %]/lib/jquery/plugins/treetable/stylesheets/jquery.treetable.css" rel="stylesheet" type="text/css" /> |
176 |
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/treetable/jquery.treetable.js"></script> |
177 |
|
178 |
<script type="text/javascript"> |
179 |
//<![CDATA[ |
180 |
// |
181 |
$(document).ready(function() { |
182 |
|
183 |
|
184 |
var oTable = $("#budgeth").dataTable($.extend(true, {}, dataTablesDefaults, { |
185 |
"fnDrawCallback": function ( oSettings ) { |
186 |
if ( oSettings.aiDisplay.length == 0 ) |
187 |
{ |
188 |
return; |
189 |
} |
190 |
|
191 |
var nTrs = $('#budgeth tbody tr'); |
192 |
var iColspan = nTrs[0].getElementsByTagName('td').length; |
193 |
var sLastGroup = ""; |
194 |
for ( var i=0 ; i<nTrs.length ; i++ ) |
195 |
{ |
196 |
var iDisplayIndex = oSettings._iDisplayStart + i; |
197 |
var sGroup = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex] ]._aData[1]; |
198 |
if ( sGroup != sLastGroup ) |
199 |
{ |
200 |
var nGroup = document.createElement( 'tr' ); |
201 |
var nCell = document.createElement( 'td' ); |
202 |
nCell.colSpan = iColspan; |
203 |
nCell.className = "group"; |
204 |
nCell.innerHTML = sGroup; |
205 |
nGroup.appendChild( nCell ); |
206 |
nTrs[i].parentNode.insertBefore( nGroup, nTrs[i] ); |
207 |
sLastGroup = sGroup; |
208 |
} |
209 |
} |
210 |
}, |
211 |
"footerCallback": function ( row, data, start, end, display ) { |
212 |
var api = this.api(), data; |
213 |
footer_column_sum( api, [ 4, 6, 8, 10 ], 2 ); |
214 |
}, |
215 |
"aoColumnDefs": [ |
216 |
{ "bVisible": false, "aTargets": [ 0, 1 ] }, |
217 |
{ "bSortable": false, "aTargets": ["_all"] } |
218 |
], |
219 |
'dom': '<"top pager"ilpf>tr<"bottom pager"ip>', |
220 |
'bSort': true, |
221 |
'aaSortingFixed': [[ 1, 'asc' ]], |
222 |
'bPaginate': false, |
223 |
"bAutoWidth": false |
224 |
})); |
225 |
|
226 |
$(oTable).treetable({ |
227 |
expandable: true |
228 |
}); |
229 |
$(oTable).treetable('expandAll'); |
230 |
$("#expand_all").click(function(e){ |
231 |
e.preventDefault(); |
232 |
$(oTable).treetable('expandAll'); |
233 |
}); |
234 |
$("#collapse_all").click(function(e){ |
235 |
e.preventDefault(); |
236 |
$(oTable).treetable('collapseAll'); |
237 |
}); |
238 |
|
239 |
[% UNLESS budget_period_id %] |
240 |
$("#hide_inactive").click(function(e){ |
241 |
e.preventDefault(); |
242 |
oTable.fnFilter( 1, 0 ); // Show only active=1 |
243 |
}); |
244 |
$("#show_inactive").click(function(e){ |
245 |
e.preventDefault(); |
246 |
oTable.fnFilter( '', 0 ); |
247 |
}); |
248 |
$("#hide_inactive").click(); |
249 |
[% END %] |
250 |
oTable.fnAddFilters("filter", 750); |
251 |
|
252 |
$("#filterbutton").click(function() { |
253 |
$("#fundfilters").slideToggle(0); |
254 |
}); |
255 |
|
256 |
$(".deletefund-disabled").tooltip().on("click", function(e){ |
257 |
e.preventDefault(); |
258 |
alert(_("This fund has children. It cannot be deleted.")); |
259 |
}); |
260 |
}); |
261 |
//]]> |
262 |
</script> |
263 |
[% END %] |
264 |
|
265 |
</head> |
10 |
</head> |
|
|
11 |
|
266 |
<body id="admin_aqbudgets" class="admin"> |
12 |
<body id="admin_aqbudgets" class="admin"> |
267 |
[% INCLUDE 'header.inc' %] |
13 |
[% INCLUDE 'header.inc' %] |
268 |
[% INCLUDE 'budgets-admin-search.inc' %] |
14 |
[% INCLUDE 'budgets-admin-search.inc' %] |
Lines 693-696
var MSG_PARENT_BENEATH_BUDGET = "- " + _("New budget-parent is beneath budget")
Link Here
|
693 |
[% INCLUDE 'acquisitions-menu.inc' %] |
439 |
[% INCLUDE 'acquisitions-menu.inc' %] |
694 |
</div> |
440 |
</div> |
695 |
</div> |
441 |
</div> |
|
|
442 |
[% MACRO jsinclude BLOCK %] |
443 |
<script type="text/javascript" src="[% interface %]/[% theme %]/js/acq.js"></script> |
444 |
<script type="text/javascript"> |
445 |
var MSG_BUDGET_PARENT_ALLOCATION = "- " + _("Fund amount exceeds parent allocation") + "\n"; |
446 |
var MSG_BUDGET_PERIOD_ALLOCATION = "- " + _("Fund amount exceeds period allocation") + "\n"; |
447 |
var MSG_PARENT_BENEATH_BUDGET = "- " + _("New budget-parent is beneath budget") + "\n"; |
448 |
</script> |
449 |
|
450 |
<script type="text/javascript" src="[% interface %]/[% theme %]/js/acq.js"></script> |
451 |
[% IF op == 'add_form' %] |
452 |
<script type="text/javascript"> |
453 |
//<![CDATA[ |
454 |
|
455 |
function userPopup() { |
456 |
window.open("/cgi-bin/koha/admin/add_user_search.pl?selection_type=add", |
457 |
'PatronPopup', |
458 |
'width=740,height=450,location=yes,toolbar=no,' |
459 |
+ 'scrollbars=yes,resize=yes' |
460 |
); |
461 |
} |
462 |
|
463 |
function ownerPopup() { |
464 |
window.open("/cgi-bin/koha/admin/add_user_search.pl?selection_type=select", |
465 |
'PatronPopup', |
466 |
'width=740,height=450,location=yes,toolbar=no,' |
467 |
+ 'scrollbars=yes,resize=yes' |
468 |
); |
469 |
} |
470 |
|
471 |
function select_user(borrowernumber, borrower) { |
472 |
ownerRemove(); |
473 |
var borrowername = borrower.firstname + ' ' + borrower.surname |
474 |
if (borrowernumber) { |
475 |
var ownerlink = '<a href="/cgi-bin/koha/members/moremember.pl' |
476 |
+ '?borrowernumber=' + borrowernumber + '">' |
477 |
+ borrowername + '</a>'; |
478 |
$('#budget_owner_name').html(ownerlink); |
479 |
$('#budget_owner_id').val(borrowernumber); |
480 |
} |
481 |
} |
482 |
|
483 |
function ownerRemove() { |
484 |
$('#budget_owner_name').empty(); |
485 |
$('#budget_owner_id').val(''); |
486 |
} |
487 |
|
488 |
function add_user(borrowernumber, borrowername) { |
489 |
var ids = $("#budget_users_id").val().split(':'); |
490 |
if(borrowernumber && ids.indexOf(borrowernumber) == -1) { |
491 |
var li = '<li id="user_' + borrowernumber + '">' |
492 |
+ '<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=' |
493 |
+ borrowernumber + '">' + borrowername + '</a> ' |
494 |
+ ' • <a data-borrowernumber=" + borrowernumber +" class="del_user" href="#"><i class="fa fa-trash"></i> Remove</a> ' |
495 |
+ '</li>'; |
496 |
$("#budget_users").prepend(li); |
497 |
ids.push(borrowernumber); |
498 |
$("#budget_users_id").val(ids.join(':')); |
499 |
} else { |
500 |
return -1; |
501 |
} |
502 |
return 0; |
503 |
} |
504 |
|
505 |
function del_user(borrowernumber) { |
506 |
var ids = $("#budget_users_id").val().split(':'); |
507 |
if (borrowernumber) { |
508 |
var idx = ids.indexOf(borrowernumber+''); |
509 |
if (idx != -1) { |
510 |
ids.splice(idx, 1); |
511 |
$("#budget_users_id").val(ids.join(':')); |
512 |
$("li#user_" + borrowernumber).remove(); |
513 |
} |
514 |
} |
515 |
} |
516 |
|
517 |
function Check(f) { |
518 |
var ok=1; |
519 |
var _alertString=""; |
520 |
var alertString2; |
521 |
|
522 |
if (!(isNotNull(f.budget_code,1))) { |
523 |
_alertString += _("- Budget code cannot be blank") + "\n"; |
524 |
} |
525 |
|
526 |
if (!(isNotNull(f.budget_name,1))) { |
527 |
_alertString += _("- Budget name cannot be blank") + "\n"; |
528 |
} |
529 |
|
530 |
if (!(isNotNull(f.budget_amount,1))) { |
531 |
_alertString += _("- Budget amount cannot be blank") + "\n"; |
532 |
} |
533 |
|
534 |
var budgetId; |
535 |
if (typeof(f.budget_id ) != "undefined") { |
536 |
budgetId = f.budget_id.value |
537 |
} |
538 |
|
539 |
var newBudgetParent; |
540 |
|
541 |
// hack to test if selected parent_id in scrolling-list... |
542 |
// if value == 'undef' its got a selected_parent :/ |
543 |
if(f.budget_parent_id){ |
544 |
var chkAdd = f.budget_parent_id.value ; |
545 |
if ( typeof(chkAdd ) != "undefined") { |
546 |
newBudgetParent = f.budget_parent_id.value |
547 |
} else { |
548 |
newBudgetParent = f.budget_parent_id.item(0).value |
549 |
} |
550 |
|
551 |
if (budgetId > 0) { ; //its a mod ... |
552 |
// if parent == curent-budget, fail... |
553 |
if ( newBudgetParent == budgetId ) { |
554 |
_alertString += _("- Budget parent is current budget") + "\n"; |
555 |
} |
556 |
|
557 |
else if (newBudgetParent) { |
558 |
var result = checkBudgetParent( budgetId , newBudgetParent ); |
559 |
if (result) { |
560 |
_alertString += result; |
561 |
} |
562 |
} |
563 |
} |
564 |
} |
565 |
|
566 |
// else do lookup |
567 |
var budgetTotal = Math.abs(f.budget_amount.value); |
568 |
var result = budgetExceedsParent (budgetTotal, budgetId, newBudgetParent, f.budget_period_id.value) |
569 |
if (result) { |
570 |
_alertString += result; |
571 |
} |
572 |
|
573 |
if (_alertString.length==0) { |
574 |
document.Aform.submit(); |
575 |
} else { |
576 |
alertString2 = _("Form not submitted because of the following problem(s)"); |
577 |
alertString2 += "\n------------------------------------------------------------------------------------\n\n"; |
578 |
alertString2 += _alertString; |
579 |
alert(alertString2); |
580 |
} |
581 |
} |
582 |
$(document).ready(function(){ |
583 |
$("#remove_owner").on("click",function(e){ |
584 |
e.preventDefault(); |
585 |
ownerRemove(); |
586 |
}); |
587 |
$("#edit_owner").on("click",function(e){ |
588 |
e.preventDefault(); |
589 |
ownerPopup(); |
590 |
}); |
591 |
$("body").on("click",".del_user",function(e){ |
592 |
e.preventDefault(); |
593 |
var borrowernumber = $(this).data("borrowernumber"); |
594 |
del_user(borrowernumber); |
595 |
}); |
596 |
$("#add_user_button").on("click",function(e){ |
597 |
e.preventDefault(); |
598 |
userPopup(); |
599 |
}); |
600 |
$("#edit_fund").on("submit",function(e){ |
601 |
e.preventDefault(); |
602 |
Check(this); |
603 |
}); |
604 |
}); |
605 |
//]]> |
606 |
</script> |
607 |
[% ELSIF op == 'list' %] |
608 |
[% INCLUDE 'datatables.inc' %] |
609 |
<script type="text/javascript" src="[% interface %]/lib/jquery/plugins/treetable/jquery.treetable.js"></script> |
610 |
|
611 |
<script type="text/javascript"> |
612 |
//<![CDATA[ |
613 |
// |
614 |
$(document).ready(function() { |
615 |
var oTable = $("#budgeth").dataTable($.extend(true, {}, dataTablesDefaults, { |
616 |
"fnDrawCallback": function ( oSettings ) { |
617 |
if ( oSettings.aiDisplay.length == 0 ) |
618 |
{ |
619 |
return; |
620 |
} |
621 |
|
622 |
var nTrs = $('#budgeth tbody tr'); |
623 |
var iColspan = nTrs[0].getElementsByTagName('td').length; |
624 |
var sLastGroup = ""; |
625 |
for ( var i=0 ; i<nTrs.length ; i++ ) |
626 |
{ |
627 |
var iDisplayIndex = oSettings._iDisplayStart + i; |
628 |
var sGroup = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex] ]._aData[1]; |
629 |
if ( sGroup != sLastGroup ) |
630 |
{ |
631 |
var nGroup = document.createElement( 'tr' ); |
632 |
var nCell = document.createElement( 'td' ); |
633 |
nCell.colSpan = iColspan; |
634 |
nCell.className = "group"; |
635 |
nCell.innerHTML = sGroup; |
636 |
nGroup.appendChild( nCell ); |
637 |
nTrs[i].parentNode.insertBefore( nGroup, nTrs[i] ); |
638 |
sLastGroup = sGroup; |
639 |
} |
640 |
} |
641 |
}, |
642 |
"footerCallback": function ( row, data, start, end, display ) { |
643 |
var api = this.api(), data; |
644 |
footer_column_sum( api, [ 4, 6, 8, 10 ], 2 ); |
645 |
}, |
646 |
"aoColumnDefs": [ |
647 |
{ "bVisible": false, "aTargets": [ 0, 1 ] }, |
648 |
{ "bSortable": false, "aTargets": ["_all"] } |
649 |
], |
650 |
'dom': '<"top pager"ilpf>tr<"bottom pager"ip>', |
651 |
'bSort': true, |
652 |
'aaSortingFixed': [[ 1, 'asc' ]], |
653 |
'bPaginate': false, |
654 |
"bAutoWidth": false |
655 |
})); |
656 |
|
657 |
$(oTable).treetable({ |
658 |
expandable: true |
659 |
}); |
660 |
$(oTable).treetable('expandAll'); |
661 |
$("#expand_all").click(function(e){ |
662 |
e.preventDefault(); |
663 |
$(oTable).treetable('expandAll'); |
664 |
}); |
665 |
$("#collapse_all").click(function(e){ |
666 |
e.preventDefault(); |
667 |
$(oTable).treetable('collapseAll'); |
668 |
}); |
669 |
|
670 |
[% UNLESS budget_period_id %] |
671 |
$("#hide_inactive").click(function(e){ |
672 |
e.preventDefault(); |
673 |
oTable.fnFilter( 1, 0 ); // Show only active=1 |
674 |
}); |
675 |
$("#show_inactive").click(function(e){ |
676 |
e.preventDefault(); |
677 |
oTable.fnFilter( '', 0 ); |
678 |
}); |
679 |
$("#hide_inactive").click(); |
680 |
[% END %] |
681 |
oTable.fnAddFilters("filter", 750); |
682 |
|
683 |
$("#filterbutton").click(function() { |
684 |
$("#fundfilters").slideToggle(0); |
685 |
}); |
686 |
|
687 |
$(".deletefund-disabled").tooltip().on("click", function(e){ |
688 |
e.preventDefault(); |
689 |
alert(_("This fund has children. It cannot be deleted.")); |
690 |
}); |
691 |
}); |
692 |
//]]> |
693 |
</script> |
694 |
[% END %] |
695 |
[% END %] |
696 |
[% INCLUDE 'intranet-bottom.inc' %] |
696 |
[% INCLUDE 'intranet-bottom.inc' %] |