Bug 5182 - Attempting to export a patron card with no text causes an error to be...
[koha_fer] / C4 / Budgets.pm
index 4a8b3b6..005bba8 100644 (file)
@@ -13,11 +13,12 @@ package C4::Budgets;
 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License along with
-# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA  02111-1307 USA
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 use strict;
+#use warnings; FIXME - Bug 2505
 use C4::Context;
 use C4::Dates qw(format_date format_date_in_iso);
 use C4::SQLHelper qw<:all>;
@@ -41,6 +42,7 @@ BEGIN {
         &GetBudgetSpent
         &GetBudgetOrdered
         &GetPeriodsCount
+        &GetChildBudgetsSpent
 
            &GetBudgetPeriod
         &GetBudgetPeriods
@@ -75,6 +77,10 @@ BEGIN {
 # ----------------------------BUDGETS.PM-----------------------------";
 
 
+=head1 FUNCTIONS ABOUT BUDGETS
+
+=cut
+
 sub HideCols {
     my ( $authcat, @hide_cols ) = @_;
     my $dbh = C4::Context->dbh;
@@ -630,24 +636,13 @@ sub DelBudget {
        return $rc;
 }
 
-=back
-
-=head2 FUNCTIONS ABOUT BUDGETS
-
-=over 2
-
-=cut
-
-=head3 GetBudget
 
-=over 4
+=head2 GetBudget
 
-&GetBudget($budget_id);
+  &GetBudget($budget_id);
 
 get a specific budget
 
-=back
-
 =cut
 
 # -------------------------------------------------------------------
@@ -665,15 +660,38 @@ sub GetBudget {
     return $result;
 }
 
-=head3 GetBudgets
-
-=over 4
+=head2 GetBudgets
 
-&GetBudgets($filter, $order_by);
+  &GetBudgets($filter, $order_by);
 
 gets all budgets
 
-=back
+=cut
+
+# -------------------------------------------------------------------
+sub GetChildBudgetsSpent {
+    my ( $budget_id ) = @_;
+    my $dbh = C4::Context->dbh;
+    my $query = "
+        SELECT *
+        FROM   aqbudgets
+        WHERE  budget_parent_id=?
+        ";
+    my $sth = $dbh->prepare($query);
+    $sth->execute( $budget_id );
+    my $result = $sth->fetchall_arrayref({});
+    my $total_spent = GetBudgetSpent($budget_id);
+    if ($result){
+        $total_spent += GetChildBudgetsSpent($_->{"budget_id"}) foreach @$result;    
+    }
+    return $total_spent;
+}
+
+=head2 GetChildBudgetsSpent
+
+  &GetChildBudgetsSpent($budget-id);
+
+gets the total spent of the level and sublevels of $budget_id
 
 =cut
 
@@ -685,9 +703,9 @@ sub GetBudgets {
 
 # -------------------------------------------------------------------
 
-=head3 GetCurrencies
+=head2 GetCurrencies
 
-@currencies = &GetCurrencies;
+  @currencies = &GetCurrencies;
 
 Returns the list of all known currencies.
 
@@ -723,7 +741,7 @@ sub GetCurrency {
     return $r;
 }
 
-=head3 ModCurrencies
+=head2 ModCurrencies
 
 &ModCurrencies($currency, $newrate);
 
@@ -744,15 +762,14 @@ sub ModCurrencies {
 
 # -------------------------------------------------------------------
 
-=head3 ConvertCurrency
+=head2 ConvertCurrency
 
-$foreignprice = &ConvertCurrency($currency, $localprice);
+  $foreignprice = &ConvertCurrency($currency, $localprice);
 
 Converts the price C<$localprice> to foreign currency C<$currency> by
 dividing by the exchange rate, and returns the result.
 
-If no exchange rate is found,e is one
-to one.
+If no exchange rate is found, e is one to one.
 
 =cut
 
@@ -773,9 +790,12 @@ sub ConvertCurrency {
     return ( $price / $cur );
 }
 
-=item
-       returns an array containing fieldname followed by PRI as value if PRIMARY Key
+=head2 _columns
+
+returns an array containing fieldname followed by PRI as value if PRIMARY Key
+
 =cut
+
 sub _columns(;$) {
        my $tablename=shift||"aqbudgets";
     return @{C4::Context->dbh->selectcol_arrayref("SHOW columns from $tablename",{Columns=>[1,4]})};
@@ -806,10 +826,8 @@ END { }    # module clean-up code here (global destructor)
 1;
 __END__
 
-=back
-
 =head1 AUTHOR
 
-Koha Developement team <info@koha.org>
+Koha Development Team <http://koha-community.org/>
 
 =cut