Bug 12164: follow-up: various fixes
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / modules / admin / aqbudgetperiods.tt
index 060c450..aaf41e1 100644 (file)
@@ -4,6 +4,10 @@
 [% INCLUDE 'doc-head-close.inc' %]
 [% INCLUDE 'calendar.inc' %]
 [% INCLUDE 'datatables.inc' %]
+[% IF close_form %]
+    <link href="[% interface %]/lib/jquery/plugins/treetable/stylesheets/jquery.treetable.css" rel="stylesheet" type="text/css" />
+    <script type="text/javascript" src="[% interface %]/lib/jquery/plugins/treetable/jquery.treetable.js"></script>
+[% END %]
 <script type="text/javascript" src="[% themelang %]/js/acq.js"></script>
 <script type="text/javascript">
 // #################################################################################
                 { "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
                 { "sType": "title-string", "aTargets" : [ "title-string" ] }
             ],
-            "bPaginate": false
+            "bPaginate": false,
+            'bAutoWidth': false
         } ) );
+
+        [% IF close_form %]
+          $("#budgeth").dataTable($.extend(true, {}, dataTablesDefaults, {
+            sDom: "t"
+          }));
+          $("#move_form").submit(function(){
+            var budget_from = "[% budget_period_description %]";
+            var budget_to = $("#to_budget_period_id").find("option:selected").html();
+            var alert_message = _("You have chosen to move all unreceived orders from '%s' to '%s'.").format(budget_from, budget_to);
+            alert_message += _("\nThis action cannot be reversed. Do you wish to continue?");
+            return confirm ( alert_message );
+          });
+        [% END %]
+        [% IF closed %]
+          var oTable = $("#closed_report").dataTable($.extend(true, {}, dataTablesDefaults, {
+            // The following is a c/p from aqbudgets.tt and is a candidate for refactoring.
+            "fnDrawCallback": function ( oSettings ) {
+                if ( oSettings.aiDisplay.length == 0 )
+                {
+                    return;
+                }
+
+                var nTrs = $('#closed_report tbody tr');
+                var iColspan = nTrs[1].getElementsByTagName('td').length;
+                var sLastGroup = "";
+                for ( var i=0 ; i<nTrs.length ; i++ )
+                {
+                    var iDisplayIndex = oSettings._iDisplayStart + i;
+                    var sGroup = oSettings.aoData[ oSettings.aiDisplay[iDisplayIndex] ]._aData[0];
+                    if ( sGroup != sLastGroup )
+                    {
+                        var nGroup = document.createElement( 'tr' );
+                        var nCell = document.createElement( 'td' );
+                        nCell.colSpan = iColspan;
+                        nCell.className = "group";
+                        nCell.innerHTML = sGroup;
+                        nGroup.appendChild( nCell );
+                        nTrs[i].parentNode.insertBefore( nGroup, nTrs[i] );
+                        sLastGroup = sGroup;
+                    }
+                }
+            },
+            "aoColumnDefs": [
+                { "bVisible": false, "aTargets": [ 0, 1 ] },
+                { "bSortable": false, "aTargets": ["_all"] }
+            ],
+            'bSort': true,
+            'aaSortingFixed': [[ 1, 'asc' ]],
+            'bPaginate': false,
+            "bAutoWidth": false
+          }));
+        [% END %]
     });
 </script>
 
     [% IF ( delete_confirmed ) %]&rsaquo;
         Data deleted
     [% END %]
+    [% IF close_form %]&rsaquo;
+      Close budget [% budget_period_description %]
+    [% END %]
+    [% IF closed %]&rsaquo;
+      Budget [% budget_period_description %] closed
+    [% END %]
 </title>
 
 
     [% IF ( duplicate_form ) %]
         <a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Budgets</a> &rsaquo; Duplicate budget
     [% END %]
+
+    <!-- close a budget -->
+    [% IF close_form %]
+        <a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Budgets</a> &rsaquo;
+        Close budget <a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% budget_period_id %]">[% budget_period_description %]</a>
+    [% END %]
+
+    <!-- budget closed -->
+    [% IF closed %]
+        <a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Budgets</a> &rsaquo;
+        Budget <a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% budget_period_id %]">[% budget_period_description %]</a> closed
+    [% END %]
     <!-- display budget periods list -->
     <!-- ########################################## -->
     [% IF ( else ) %]
 <div id="yui-main">
 <div class="yui-b">
 
-[% INCLUDE 'budgets-admin-toolbar.inc' %]
+[% UNLESS close_form OR closed%]
+  [% INCLUDE 'budgets-admin-toolbar.inc' %]
+[% END %]
 
 [% IF ( duplicate_form ) %]
 <h3>Duplicate budget</h3>
                                <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
     </li>
 
+    <li>
+      <label for="mark_as_inactive">Mark the original budget as inactive</label>
+      <input type="checkbox" id="mark_as_inactive" name="mark_original_budget_as_inactive" />
+    </li>
+
+    <li>
+      <label for="reset_all_budgets">Set all funds to zero</label>
+      <input type="checkbox" id="reset_all_budgets" name="reset_all_budgets" />
+    </li>
+
     </ol>
     </fieldset>
 
 
     </div>
 [% END %]
+
+[% IF close_form %]
+  [% IF budget_periods.size == 0 %]
+    You cannot move funds of this budget, there is no active budget.
+    Please create a new active budget and retry.
+    <a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Back</a>
+  [% ELSIF number_of_unreceived_orders == 0 %]
+    There is no unreceived orders for this budget.
+    <a href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Back</a>
+  [% ELSE %]
+    <h3>The unreceived orders from the following funds will be moved</h3>
+      Fund list of budget <a href="/cgi-bin/koha/admin/aqbudgets.pl?budget_period_id=[% budget_period_id %]">[% budget_period_description %]</a>:
+    <table id="budgeth">
+      <thead>
+        <tr>
+            <th>Fund id</th>
+            <th>Fund code</th>
+            <th>Fund name</th>
+            <th>Unreceived orders</th>
+        </tr>
+      </thead>
+      <tbody>
+        [% FOREACH budget IN budgets_to_move %]
+          <tr>
+            <td>[% budget.budget_id %]</td>
+            <td>[% budget.budget_code_indent %]</td>
+            <td>[% budget.budget_name %]</td>
+            <td>[% budget.unreceived_orders.size %]</td>
+          </tr>
+        [% END %]
+      </tbody>
+    </table>
+    <form action="/cgi-bin/koha/admin/aqbudgetperiods.pl" name="f" method="post" id="move_form">
+      <fieldset class="rows">
+        <ol>
+          <li>
+            <label class="required" for="to_budget_period_id">Select a budget</label>
+            <select name="to_budget_period_id" id="to_budget_period_id" required="required">
+              <option value=""></option>
+              [% FOR budget_period IN budget_periods %]
+                <option value="[% budget_period.budget_period_id %]">[% budget_period.budget_period_description %]</option>
+              [% END %]
+            </select>
+          </li>
+          <li>
+          <label for="move_remaining_unspent">Move remaining unspent funds</label>
+            <input type="checkbox" name="move_remaining_unspent" id="move_remaining_unspent" />
+          </li>
+        </ol>
+      </fieldset>
+      <fieldset class="action">
+          <input type="hidden" name="op" value="close_confirmed" />
+          <input type="hidden" name="budget_period_id" value="[% budget_period_id %]" />
+          <input type="submit" value="Move unreceive orders" />
+          <a class="cancel" href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Cancel</a>
+      </fieldset>
+    </form>
+  [% END %]
+[% ELSIF closed %]
+  <h3>Report after moving unreceived orders from budget [% from_budget_period.budget_period_description %] ([% from_budget_period.budget_period_startdate | $KohaDates %] - [% from_budget_period.budget_period_enddate | $KohaDates %]) to [% to_budget_period.budget_period_description %] ([% to_budget_period.budget_period_startdate | $KohaDates %] - [% to_budget_period.budget_period_enddate | $KohaDates%])</h3>
+
+  <table id="closed_report">
+    <thead>
+      <tr>
+        <td>Budget id</td>
+        <td>Basket</td>
+        <td>Ordernumber</td>
+        <td>Informations</td>
+      </tr>
+    </thead>
+    <tbody>
+      [% FOR r IN report %]
+          [% IF r.moved %]
+            [% IF r.orders_moved.size > 0 %]
+              [% FOR order IN r.orders_moved %]
+                <tr>
+                  <td>[% r.budget.budget_name %] (id=[% r.budget.budget_id %]) Amount=[% r.budget.budget_amount %][% IF r.unspent_moved %] ([% r.unspent_moved %] remaining has been moved)[% END %]</td>
+                  <td>[% order.basketname %]</td>
+                  <td>[% order.ordernumber %]</td>
+                  <td>Moved!</td>
+                </tr>
+              [% END %]
+            [% ELSE %]
+              <tr>
+                <td>[% r.budget.budget_name %] (id=[% r.budget.budget_id %])</td>
+                <td></td>
+                <td></td>
+                <td>There was no unreceived orders for this fund.</td>
+              </tr>
+            [% END %]
+          [% ELSE %]
+            [% IF r.error == 'budget_code_not_exists' %]
+              <tr>
+                <td>[% r.budget.budget_id %] [% r.budget.budget_amount %][% IF r.unspent_moved %] ([% r.unspent_moved %] remaining has been moved)[% END %]</td>
+                <td></td>
+                <td></td>
+                <td>This fund code does not exist in the destination budget.</td>
+              </tr>
+            [% END %]
+          [% END %]
+        </tr>
+      [% END %]
+    </tbody>
+  </table>
+  <a class="cancel" href="/cgi-bin/koha/admin/aqbudgetperiods.pl">Back</a>
+[% END %]
+
 <!--  DEFAULT  display budget periods list -->
 [% IF ( else ) %]
   <h2>Budgets administration</h2>
                 <td>
                   <a href="[% script_name %]?op=add_form&amp;budget_period_id=[% period_active.budget_period_id |html %]">Edit</a>
                   <a href="[% script_name %]?op=delete_confirm&amp;budget_period_id=[% period_active.budget_period_id %]">Delete</a>
+                  <a href="[% script_name %]?op=duplicate_form&amp;budget_period_id=[% period_active.budget_period_id %]">Duplicate</a>
+                  <a href="[% script_name %]?op=close_form&amp;budget_period_id=[% period_active.budget_period_id %]">Close</a>
                   <a href="/cgi-bin/koha/admin/aqbudgets.pl?op=add_form&amp;budget_period_id=[% period_active.budget_period_id %]">Add fund</a>
                 </td>
                 </tr>
                   <td> [% IF ( period_loo.budget_period_locked ) %]<span style="color:green;">Locked</span>&nbsp;[% ELSE %][% END %] </td>
                   <td class="data">[% period_loo.budget_period_total %]</td>
                   <td>
-                      <a href="[% period_loo.script_name %]?op=add_form&amp;budget_period_id=[% period_loo.budget_period_id |html %]">Edit</a>
-                      <a href="[% period_loo.script_name %]?op=delete_confirm&amp;budget_period_id=[% period_loo.budget_period_id %]">Delete</a>
+                      <a href="[% script_name %]?op=add_form&amp;budget_period_id=[% period_loo.budget_period_id |html %]">Edit</a>
+                      <a href="[% script_name %]?op=delete_confirm&amp;budget_period_id=[% period_loo.budget_period_id %]">Delete</a>
+                      <a href="[% script_name %]?op=duplicate_form&amp;budget_period_id=[% period_loo.budget_period_id %]">Duplicate</a>
+                      <a href="[% script_name %]?op=close_form&amp;budget_period_id=[% period_loo.budget_period_id %]">Close</a>
                   <a href="/cgi-bin/koha/admin/aqbudgets.pl?op=add_form&amp;budget_period_id=[% period_loo.budget_period_id %]">Add fund</a>
                   </td>
                   </tr>