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

(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/calendar.inc (+33 lines)
Lines 125-130 jQuery(function($){ Link Here
125
    $.datepicker.setDefaults($.datepicker.regional['']);
125
    $.datepicker.setDefaults($.datepicker.regional['']);
126
});
126
});
127
127
128
/*  jQuery Validator plugin custom method
129
    This allows you to check that a given date falls after another.
130
    It is required that a message be defined.
131
132
   Syntax:
133
       $("#form_id").validate({
134
        rules: {
135
            input_name_of_later_date_field: {
136
                is_date_after: "#input_id_of_earlier_date_field"
137
            },
138
        },
139
        messages: {
140
            input_name_of_later_date_field: {
141
                is_date_after: _("Validation error to be shown, i.e. End date must come after start date")
142
            }
143
        }
144
    });
145
*/
146
147
jQuery.validator.addMethod("is_date_after",
148
function(value, element, params) {
149
    var from = Date_from_syspref( $(params).val() );
150
    var to = Date_from_syspref(value);
151
    return to > from;
152
});
153
154
jQuery.validator.addMethod("date_on_or_after",
155
function(value, element, params) {
156
    var from = Date_from_syspref( $(params).val() );
157
    var to = Date_from_syspref(value);
158
    return to >= from;
159
});
160
128
$(document).ready(function(){
161
$(document).ready(function(){
129
162
130
$.datepicker.setDefaults({
163
$.datepicker.setDefaults({
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgetperiods.tt (-74 / +34 lines)
Lines 119-131 Link Here
119
        <div class="col-sm-10 col-sm-push-2">
119
        <div class="col-sm-10 col-sm-push-2">
120
            <main>
120
            <main>
121
121
122
[% UNLESS close_form OR closed%]
122
[% UNLESS close_form OR closed OR duplicate_form %]
123
  [% INCLUDE 'budgets-admin-toolbar.inc' %]
123
  [% INCLUDE 'budgets-admin-toolbar.inc' %]
124
[% END %]
124
[% END %]
125
125
126
[% IF ( duplicate_form ) %]
126
[% IF ( duplicate_form ) %]
127
<h3>Duplicate budget</h3>
127
<h3>Duplicate budget</h3>
128
<form action="/cgi-bin/koha/admin/aqbudgetperiods.pl" name="f" method="post">
128
<form action="/cgi-bin/koha/admin/aqbudgetperiods.pl" id="add_modify_budget" name="f" method="post">
129
    <fieldset class="rows">
129
    <fieldset class="rows">
130
    <input type="hidden" name="op" value="duplicate_budget" />
130
    <input type="hidden" name="op" value="duplicate_budget" />
131
    <input type="hidden" name="budget_period_id" value="[% budget_period_id | html %]" />
131
    <input type="hidden" name="budget_period_id" value="[% budget_period_id | html %]" />
Lines 135-152 Link Here
135
    <li>
135
    <li>
136
    <label class="required" for="from">Start date: </label>
136
    <label class="required" for="from">Start date: </label>
137
    <input type="text" size="10" id="from" name="budget_period_startdate" value="[% budget_period_startdate | $KohaDates %]" class="datepickerfrom" />
137
    <input type="text" size="10" id="from" name="budget_period_startdate" value="[% budget_period_startdate | $KohaDates %]" class="datepickerfrom" />
138
				<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
138
        <span class="required">Required</span>
139
        <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
139
    </li>
140
    </li>
140
    <li>
141
    <li>
141
142
142
    <label class="required" for="to">End date: </label>
143
    <label class="required" for="to">End date: </label>
143
    <input type="text" size="10" id="to" name="budget_period_enddate" value="[% budget_period_enddate | $KohaDates %]" class="datepickerto" />
144
    <input type="text" size="10" id="to" name="budget_period_enddate" value="[% budget_period_enddate | $KohaDates %]" class="datepickerto" />
144
				<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
145
        <span class="required">Required</span>
146
        <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
145
    </li>
147
    </li>
146
148
147
    <li>
149
    <li>
148
    <label class="required" for="budget_period_description">Description</label>
150
    <label class="required" for="budget_period_description">Description</label>
149
    <input type="text" id="budget_period_description" name="budget_period_description" value="[% budgetperiod.budget_period_description | html %]" />
151
    <input type="text" id="budget_period_description" name="budget_period_description" value="[% budgetperiod.budget_period_description | html %]" />
152
        <span class="required">Required</span>
150
    </li>
153
    </li>
151
154
152
    <li>
155
    <li>
Lines 175-181 Link Here
175
    </fieldset>
178
    </fieldset>
176
179
177
    <fieldset class="action">
180
    <fieldset class="action">
178
        <input type="button" value="Save Changes"  onclick="CheckDuplicateForm(this.form)" /> <a class="cancel" href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% budget_period_id | html %]">Cancel</a>
181
        <input type="submit" value="Save" />
182
        <a class="cancel" href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% budget_period_id | html %]">Cancel</a>
179
    </fieldset>
183
    </fieldset>
180
184
181
</form>
185
</form>
Lines 190-196 Link Here
190
    [% ELSE %]
194
    [% ELSE %]
191
        <h3>Add budget</h3>
195
        <h3>Add budget</h3>
192
	[% END %]
196
	[% END %]
193
<form action="/cgi-bin/koha/admin/aqbudgetperiods.pl" name="f" method="post">
197
<form action="/cgi-bin/koha/admin/aqbudgetperiods.pl" id="add_modify_budget" name="f" method="post">
194
    <fieldset class="rows">
198
    <fieldset class="rows">
195
    <!-- ################################################################################# -->
199
    <!-- ################################################################################# -->
196
    <!-- display information about the budget period that must be added or modified -->
200
    <!-- display information about the budget period that must be added or modified -->
Lines 201-213 Link Here
201
    <li>
205
    <li>
202
    <label class="required" for="from">Start date: </label>
206
    <label class="required" for="from">Start date: </label>
203
    <input type="text" size="10" id="from" name="budget_period_startdate" value="[% budget_period_startdate | $KohaDates %]" class="datepickerfrom" />
207
    <input type="text" size="10" id="from" name="budget_period_startdate" value="[% budget_period_startdate | $KohaDates %]" class="datepickerfrom" />
204
				<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
208
        <span class="required">Required</span>
209
        <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
205
    </li>
210
    </li>
206
    <li>
211
    <li>
207
212
208
    <label class="required" for="to">End date: </label>
213
    <label class="required" for="to">End date: </label>
209
    <input type="text" size="10" id="to" name="budget_period_enddate" value="[% budget_period_enddate | $KohaDates %]" class="datepickerto" />
214
    <input type="text" size="10" id="to" name="budget_period_enddate" value="[% budget_period_enddate | $KohaDates %]" class="datepickerto" />
210
				<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
215
        <span class="required">Required</span>
216
        <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
211
    </li>
217
    </li>
212
218
213
    <li>
219
    <li>
Lines 216-221 Link Here
216
        <label class="required" for="budget_period_description">Description: </label>
222
        <label class="required" for="budget_period_description">Description: </label>
217
        <input type="text" id="budget_period_description" name="budget_period_description"
223
        <input type="text" id="budget_period_description" name="budget_period_description"
218
        size="48" maxlength="80" value="[% budget_period_description | html %]" />
224
        size="48" maxlength="80" value="[% budget_period_description | html %]" />
225
            <span class="required">Required</span>
219
    </li>
226
    </li>
220
227
221
    <li>
228
    <li>
Lines 245-252 Link Here
245
    <fieldset class="action">
252
    <fieldset class="action">
246
        <!-- "save changes" button -->
253
        <!-- "save changes" button -->
247
        <!-- ###################################### -->
254
        <!-- ###################################### -->
248
        <input type="button" value="Save"  onclick="Check(this.form)" />
255
        <input type="submit" value="Save" />
249
        <!--             <input type="submit" value="Save Changes"  />  -->
250
        [% IF ( budget_period_id ) %]
256
        [% IF ( budget_period_id ) %]
251
            <a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% budget_period_id | html %]" class="cancel">Cancel</a>
257
            <a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% budget_period_id | html %]" class="cancel">Cancel</a>
252
        [% ELSE %]
258
        [% ELSE %]
Lines 504-573 Link Here
504
    [% END %]
510
    [% END %]
505
    [% Asset.js("js/acq.js") | $raw %]
511
    [% Asset.js("js/acq.js") | $raw %]
506
    <script>
512
    <script>
507
    // #################################################################################
508
    // Javascript
509
    // #################################################################################
510
        function CheckDuplicateForm(f){
511
            var ok=1;
512
            var _alertString="";
513
            var alertString="";
514
            if(!(isNotNull(f.budget_period_startdate,1))){
515
              _alertString += "\n- " + _("Start date missing");
516
            }
517
            if (!(isNotNull(f.budget_period_enddate,1))){
518
              _alertString += "\n- " + _("End date missing");
519
            }
520
            if( f.budget_period_startdate > f.budget_period_enddate ) {
521
              _alertString += "\n- " + _("Start date must be before end date");
522
            }
523
            if (!(isNotNull(f.budget_period_description,1))){
524
              _alertString += "\n- " + _("Budget description missing");
525
            }
526
527
            if(_alertString.length==0){
528
              f.submit();
529
            } else {
530
              alertString += _("Form not submitted because of the following problem(s)");
531
              alertString += "\n-----------------------------------------\n";
532
              alertString += _alertString;
533
              alert(alertString);
534
            }
535
        }
536
        function Check(f) {
537
            var ok=1;
538
            var _alertString="";
539
            var alertString2;
540
541
            if (!(isNotNull(f.budget_period_startdate,1))) {
542
                    _alertString += "\n- " + _("Start date missing");
543
            }
544
545
            if (!(isNotNull(f.budget_period_enddate,1))) {
546
                    _alertString += "\n- " + _("End date missing");
547
            }
548
549
            if ( f.budget_period_startdate >   f.budget_period_enddate )  {
550
                    _alertString += "\n- " + _("Start date must be before end date");
551
            }
552
553
            if (!(isNotNull(f.budget_period_description,1))) {
554
                    _alertString += "\n- " + _("Description missing");
555
            }
556
557
            if (!(isNum(f.budget_period_total))) {
558
                    _alertString += "\n- " + _("Amount must be a valid number, or empty");
559
            }
560
561
            if (_alertString.length==0) {
562
                    f.submit();
563
            } else {
564
                    alertString2  = _("Form not submitted because of the following problem(s)");
565
                    alertString2 += "\n------------------------------------------------------------------------------------\n";
566
                    alertString2 += _alertString;
567
                    alert(alertString2);
568
            }
569
        }
570
571
        $(document).ready(function() {
513
        $(document).ready(function() {
572
            var tabs = $('#budgetsTabs').tabs();
514
            var tabs = $('#budgetsTabs').tabs();
573
            [% IF ( tab ) %]
515
            [% IF ( tab ) %]
Lines 633-638 Link Here
633
                "sPaginationType": "full_numbers"
575
                "sPaginationType": "full_numbers"
634
              }));
576
              }));
635
            [% END %]
577
            [% END %]
578
            $("#add_modify_budget").validate({
579
                rules: {
580
                    budget_period_startdate: "required",
581
                    budget_period_enddate: {
582
                        required: true,
583
                        date_on_or_after: "#from"
584
                    },
585
                    budget_period_description: "required",
586
                    budget_period_total: {
587
                        number: true
588
                    }
589
                },
590
                messages: {
591
                    budget_period_enddate: {
592
                        date_on_or_after: _("Budget end date must be on or after budget start date")
593
                    }
594
                }
595
            });
636
        });
596
        });
637
    </script>
597
    </script>
638
[% END %]
598
[% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqcontract.tt (-44 / +27 lines)
Lines 59-65 Link Here
59
[% END %]
59
[% END %]
60
60
61
                [% IF ( add_form ) %]
61
                [% IF ( add_form ) %]
62
                    <form name="Aform" action="[% script_name | html %]" method="post">
62
                    <form name="Aform" action="/cgi-bin/koha/admin/aqcontract.pl" id="add_modify_contract" method="post">
63
                        <input type="hidden" name="op" value="add_validate" />
63
                        <input type="hidden" name="op" value="add_validate" />
64
                        <input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
64
                        <input type="hidden" name="booksellerid" value="[% booksellerid | html %]" />
65
                        <input type="hidden" name="checked" value="0" />
65
                        <input type="hidden" name="checked" value="0" />
Lines 76-99 Link Here
76
                                            <input type="hidden" name="is_a_modif" value="1" />
76
                                            <input type="hidden" name="is_a_modif" value="1" />
77
                                        </li>
77
                                        </li>
78
                                [% END %]
78
                                [% END %]
79
                                <li><label for="contractname" class="required">Name: *</label> &nbsp;
79
                                <li><label for="contractname" class="required">Name:</label> &nbsp;
80
                                        <input type="text" name="contractname" id="contractname" size="40" maxlength="80" value="[% contractname | html %]" />
80
                                        <input type="text" name="contractname" id="contractname" size="40" maxlength="80" value="[% contractname | html %]" />
81
                                        <span class="required">Required</span>
81
                                </li>
82
                                </li>
82
                                <li><label for="contractdescription">Description: </label> &nbsp;
83
                                <li><label for="contractdescription">Description: </label> &nbsp;
83
                                        <input type="text" name="contractdescription" id="contractdescription" size="40" maxlength="80" value="[% contractdescription | html %]" />
84
                                        <input type="text" name="contractdescription" id="contractdescription" size="40" maxlength="80" value="[% contractdescription | html %]" />
84
                                </li>
85
                                </li>
85
                                <li><label for="from" class="required">Start date: *</label> &nbsp;
86
                                <li><label for="from" class="required">Start date:</label> &nbsp;
86
                                        <input type="text" name="contractstartdate" id="from" value="[% contractstartdate | $KohaDates %]" maxlength="10" size="10" class="datepickerfrom" />
87
                                        <input type="text" name="contractstartdate" id="from" value="[% contractstartdate | $KohaDates %]" maxlength="10" size="10" class="datepickerfrom" />
87
				<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
88
                                        <span class="required">Required</span>
89
                                    <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
88
                                </li>
90
                                </li>
89
                                <li><label for="to" class="required">End date: *</label> &nbsp;
91
                                <li><label for="to" class="required">End date:</label> &nbsp;
90
                                        <input type="text" name="contractenddate" id="to" value="[% contractenddate | $KohaDates %]" maxlength="10"  size="10" class="datepickerto" />
92
                                        <input type="text" name="contractenddate" id="to" value="[% contractenddate | $KohaDates %]" maxlength="10"  size="10" class="datepickerto" />
91
				<div class="hint">[% INCLUDE 'date-format.inc' %]</div>
93
                                        <span class="required">Required</span>
94
                                    <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
92
                                </li>
95
                                </li>
93
                            </ol>
96
                            </ol>
94
                        </fieldset>
97
                        </fieldset>
95
                        <fieldset class="action">
98
                        <fieldset class="action">
96
                            <input type="button" value="Save" onclick="Check(this.form);" /> <a class="cancel" href="/cgi-bin/koha/admin/aqcontract.pl?booksellerid=[% booksellerid | html %]&amp;contractnumber=[% contractnumber | html %]">Cancel</a>
99
                            <input type="submit" value="Save" /> <a class="cancel" href="/cgi-bin/koha/admin/aqcontract.pl?booksellerid=[% booksellerid | html %]&amp;contractnumber=[% contractnumber | html %]">Cancel</a>
97
                        </fieldset>
100
                        </fieldset>
98
                    </form>
101
                    </form>
99
            [% END %]
102
            [% END %]
Lines 184-226 Link Here
184
    [% INCLUDE 'calendar.inc' %]
187
    [% INCLUDE 'calendar.inc' %]
185
    [% Asset.js("js/acq.js") | $raw %]
188
    [% Asset.js("js/acq.js") | $raw %]
186
    <script>
189
    <script>
187
    //<![CDATA[
190
        $(document).ready(function(){
188
    // to check if the data are correctly entered.
191
            $("#add_modify_contract").validate({
189
    function Check(ff) {
192
                rules: {
190
        var ok=0;
193
                    contractstartdate: "required",
191
        var _alertString=_("Form not submitted because of the following problem(s)");
194
                    contractname: "required",
192
        _alertString +="\n-------------------------------------------------------------------\n\n";
195
                    contractenddate: {
193
        if (!(isNotNull(ff.contractname,0))){
196
                        required: true,
194
            ok=1;
197
                        date_on_or_after: "#from"
195
            _alertString += _("- Name missing") + "\n";
198
                    }
196
        }
199
                },
197
        var startDate = Date_from_syspref($("#from").val());
200
                messages: {
198
        var endDate   = Date_from_syspref($("#to").val());
201
                    contractenddate: {
199
        if (!parseInt(startDate.getTime())) {
202
                        date_on_or_after: _("Contract end date must be on or after contract start date")
200
            ok=1;
203
                    }
201
            _alertString += _("- Start date missing or invalid.") + "\n";
204
                }
202
        }
205
            });
203
        if (!parseInt(endDate.getTime())) {
206
        });
204
            ok=1;
205
            _alertString += _("- End date missing or invalid.") + "\n";
206
        }
207
208
        if (startDate > endDate) {
209
            ok=1;
210
            _alertString += _("Wrong date! start date cannot be after end date.") + "\n";
211
        }
212
        if (endDate < (new Date)) {
213
            ok=1;
214
            _alertString += _("End date before today, Invalid end date!") + "\n";
215
        }
216
        if (ok) { // if there is a problem
217
            alert(_alertString);
218
        return false;
219
    }
220
    // if all is good
221
        ff.submit();
222
    }
223
    //]]>
224
    </script>
207
    </script>
225
[% END %]
208
[% END %]
226
[% INCLUDE 'intranet-bottom.inc' %]
209
[% INCLUDE 'intranet-bottom.inc' %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqplan.tt (-39 / +14 lines)
Lines 5-11 Link Here
5
[% INCLUDE 'doc-head-open.inc' %]
5
[% INCLUDE 'doc-head-open.inc' %]
6
<title>Koha &rsaquo; Administration &rsaquo; Budgets &rsaquo; Funds &rsaquo; Planning for [% budget_period_description | html %] by [% authcat | html %]</title>
6
<title>Koha &rsaquo; Administration &rsaquo; Budgets &rsaquo; Funds &rsaquo; Planning for [% budget_period_description | html %] by [% authcat | html %]</title>
7
[% INCLUDE 'doc-head-close.inc' %]
7
[% INCLUDE 'doc-head-close.inc' %]
8
<style type="text/css">td.locked { background-image: url('[% interface | html %]/[% theme | html %]/img/locked.png'); padding-left : 20px; background-repeat: no-repeat; background-position: 5px 5px; } a.control { font-size:85%;text-decoration:none; }</style>
8
<style>td.locked { background-image: url('[% interface | html %]/[% theme | html %]/img/locked.png'); padding-left : 20px; background-repeat: no-repeat; background-position: 5px 5px; } a.control { font-size:85%;text-decoration:none; } .plan_entry { text-align: right; width:90%; }</style>
9
</head>
9
</head>
10
10
11
<body id="admin_aqplan" class="admin">
11
<body id="admin_aqplan" class="admin">
Lines 99-105 Link Here
99
                    [% line.estimated_amount | html %]&nbsp;
99
                    [% line.estimated_amount | html %]&nbsp;
100
                    <input type="hidden" style="text-align: right;"  name="[% line.cell_name | html %]" value="[% line.estimated_amount | html %]"   />
100
                    <input type="hidden" style="text-align: right;"  name="[% line.cell_name | html %]" value="[% line.estimated_amount | html %]"   />
101
                [% ELSE %]
101
                [% ELSE %]
102
                    <input type="text" style="text-align: right;  width:90%; " size="6" name="[% line.cell_name | html %]"  value="[% line.estimated_amount | html %]"  id="budget_[% line.budget_id | html %][% line.colnum | html %]" class="plan_entry_[% line.budget_id | html %]" onchange="calcTotalRow(this);" />
102
                    <input type="text" size="6" name="[% line.cell_name | html %]"  value="[% line.estimated_amount | html %]"  id="budget_[% line.budget_id | html %][% line.colnum | html %]" class="plan_entry plan_entry_[% line.budget_id | html %]" />
103
                [% END %]
103
                [% END %]
104
104
105
                </td></tr>
105
                </td></tr>
Lines 137-143 Link Here
137
137
138
        <td>
138
        <td>
139
             [% UNLESS ( budget_line.budget_lock ) %]
139
             [% UNLESS ( budget_line.budget_lock ) %]
140
                    <input type="button"  onclick="autoFillRow('[% budget_line.budget_id | html %]')" value="Auto-fill row"/>
140
                    <input type="button" class="auto_fill_row" data-budget-id="[% budget_line.budget_id | html %]" value="Auto-fill row"/>
141
            [% ELSE %]
141
            [% ELSE %]
142
             <div style="color:red;">not owned</div>
142
             <div style="color:red;">not owned</div>
143
            [% END %]
143
            [% END %]
Lines 151-157 Link Here
151
    [% IF ( budget_period_locked ) %]
151
    [% IF ( budget_period_locked ) %]
152
        <!-- <input STYLE="background: gray;"   type="submit" value="Save" disabled="disabled"/> -->
152
        <!-- <input STYLE="background: gray;"   type="submit" value="Save" disabled="disabled"/> -->
153
    [% ELSE %]
153
    [% ELSE %]
154
        <fieldset class="action"><input type="button"  onclick="Check(this.form)" value="Save"/></fieldset>
154
        <fieldset class="action"><input type="submit" value="Save"/></fieldset>
155
    [% END %]
155
    [% END %]
156
156
157
157
Lines 276-316 Link Here
276
     </div> <!-- /.row -->
276
     </div> <!-- /.row -->
277
277
278
[% MACRO jsinclude BLOCK %]
278
[% MACRO jsinclude BLOCK %]
279
    [% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") | $raw %]
280
    [% Asset.js("js/acq.js") | $raw %]
279
    [% Asset.js("js/acq.js") | $raw %]
281
    <script>
280
    <script>
282
    //<![CDATA[
281
        jQuery.validator.addClassRules({ plan_entry: { pnumber: true } }); // require that input be a number in fields with the class 'plan_entry'
283
        function Check(f) {
282
        jQuery.validator.addMethod("pnumber", $.validator.methods.number, _("Please enter a valid number.") );
284
                var ok=1;
285
                var _alertString="";
286
                var alertString2;
287
                var arr = document.getElementsByName('est_total')
288
289
                for ( var i=0, len=arr.length; i<len; ++i ){
290
                        var tot = arr[i].innerHTML;
291
292
                        if (tot == 'NaN') {
293
                            _alertString += "\n- " + _("One or more cell values is non-numeric");
294
                        }
295
                }
296
297
                if (_alertString.length==0) {
298
299
                    var op  = document.createElement('input');
300
                    op.setAttribute("type","hidden");
301
                    op.setAttribute("name","op");
302
                    op.setAttribute("value","save");   //ohh the pain...
303
304
                    document.Aform.appendChild(op);
305
                    document.Aform.submit()
306
307
                } else {
308
                        alertString2  = _("Form not submitted because of the following problem(s)");
309
                        alertString2 += "\n------------------------------------------------------------------------------------\n";
310
                        alertString2 += _alertString;
311
                        alert(alertString2);
312
                }
313
        }
314
        $(document).ready(function() {
283
        $(document).ready(function() {
315
            $("#selections input").on("change",function(e){
284
            $("#selections input").on("change",function(e){
316
                var num = $(this).attr("id");
285
                var num = $(this).attr("id");
Lines 328-335 Link Here
328
                    }
297
                    }
329
                }
298
                }
330
            });
299
            });
300
            $(".plan_entry").on("change",function(){
301
                calcTotalRow( this );
302
            });
303
            $("#Aform").validate();
304
            $(".auto_fill_row").on("click",function(){
305
                var budget_id = $(this).data("budget-id");
306
                autoFillRow( budget_id );
307
            });
331
        });
308
        });
332
    //]]>
333
    </script>
309
    </script>
334
[% END %]
310
[% END %]
335
[% INCLUDE 'intranet-bottom.inc' %]
311
[% INCLUDE 'intranet-bottom.inc' %]
336
- 

Return to bug 16754