From 202a169124fd5d2ada5812633bf78d4fc96b937f Mon Sep 17 00:00:00 2001
From: Tomas Cohen Arazi <tomascohen@gmail.com>
Date: Tue, 4 Dec 2012 15:32:28 -0300
Subject: [PATCH] Bug 9211 - days_between wrong behaviour
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

As noted in comments #15, #16 and #17 of bug 8486, and its API, Koha::Calendar->days_between
should always returns a positive number irrespective of the relative order of the parameters.
This is still an open bug, which arised when rewriting the Calendar.t file (Bug 9209).

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
---
 Koha/Calendar.pm |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Koha/Calendar.pm b/Koha/Calendar.pm
index 45841be..6a12530 100644
--- a/Koha/Calendar.pm
+++ b/Koha/Calendar.pm
@@ -247,6 +247,13 @@ sub days_between {
     my $start_dt = shift;
     my $end_dt   = shift;
 
+    if ( $start_dt->compare($end_dt) > 0 ) {
+        # swap dates
+        my $int_dt = $end_dt;
+        $end_dt = $start_dt;
+        $start_dt = $int_dt;
+    }
+
 
     # start and end should not be closed days
     my $days = $start_dt->delta_days($end_dt)->delta_days;
-- 
1.7.10.4