[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [15644] Stable: Merge 15640:15643 from trunk
From: |
sigurdne |
Subject: |
[Fmsystem-commits] [15644] Stable: Merge 15640:15643 from trunk |
Date: |
Fri, 9 Sep 2016 15:32:10 +0000 (UTC) |
Revision: 15644
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=15644
Author: sigurdne
Date: 2016-09-09 15:32:10 +0000 (Fri, 09 Sep 2016)
Log Message:
-----------
Stable: Merge 15640:15643 from trunk
Modified Paths:
--------------
branches/Version-2_0-branch/booking/inc/class.bobooking.inc.php
branches/Version-2_0-branch/booking/inc/class.sobooking.inc.php
branches/Version-2_0-branch/booking/js/booking/allocation_list.js
branches/Version-2_0-branch/booking/js/booking/completed_reservation.js
Property Changed:
----------------
branches/Version-2_0-branch/
branches/Version-2_0-branch/booking/
Property changes on: branches/Version-2_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/dev-syncromind:13653
/branches/dev-syncromind-2:14937-15027,15165-15215,15223-15228,15230-15243,15245-15250,15254-15257
/branches/stavangerkommune:12743-12875,12986
/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15356,15358,15360-15541,15543-15566,15568-15569,15571,15573-15581,15583,15585-15617,15619,15621-15630,15632-15635,15637-15639
+ /branches/dev-syncromind:13653
/branches/dev-syncromind-2:14937-15027,15165-15215,15223-15228,15230-15243,15245-15250,15254-15257
/branches/stavangerkommune:12743-12875,12986
/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15356,15358,15360-15541,15543-15566,15568-15569,15571,15573-15581,15583,15585-15617,15619,15621-15630,15632-15635,15637-15639,15641-15643
Property changes on: branches/Version-2_0-branch/booking
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/stavangerkommune/booking:9468-12740,12743-12875,12986
/trunk/booking:14721-14732,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14871,14886-14896,14900-14902,14917-14919,14924-14978,14980-15258,15266-15285,15287-15288,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15360-15541,15543-15566,15568-15569,15585-15617,15621-15630,15637-15639
+ /branches/stavangerkommune/booking:9468-12740,12743-12875,12986
/trunk/booking:14721-14732,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14871,14886-14896,14900-14902,14917-14919,14924-14978,14980-15258,15266-15285,15287-15288,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15360-15541,15543-15566,15568-15569,15585-15617,15621-15630,15637-15639,15641-15643
Modified: branches/Version-2_0-branch/booking/inc/class.bobooking.inc.php
===================================================================
--- branches/Version-2_0-branch/booking/inc/class.bobooking.inc.php
2016-09-09 15:30:28 UTC (rev 15643)
+++ branches/Version-2_0-branch/booking/inc/class.bobooking.inc.php
2016-09-09 15:32:10 UTC (rev 15644)
@@ -476,6 +476,7 @@
unset($booking['agegroups']);
}
//Sigurd: 09. Sept: testing
+ $allocations =
$this->split_allocations_test($allocations, $bookings);
// $allocations = $this->split_allocations($allocations,
$bookings);
$event_ids =
$this->so->event_ids_for_building($building_id, $from, $to);
@@ -876,7 +877,7 @@
$booking['type'] = 'booking';
}
//Sigurd: 09. Sept: testing
-// $allocations = $this->split_allocations($allocations,
$bookings);
+ $allocations =
$this->split_allocations_test($allocations, $bookings);
$event_ids =
$this->so->event_ids_for_resource($resource_id, $from, $to);
$events = $this->event_so->read(array('filters' =>
array('id' => $event_ids)));
@@ -899,7 +900,7 @@
* Split allocations overlapped by bookings into multiple
allocations
* to avoid overlaps
*/
- function split_allocations( $allocations, $all_bookings )
+ function split_allocations_test( $allocations, $all_bookings )
{
function get_from2( $a )
@@ -921,7 +922,9 @@
foreach ($all_bookings as $b)
{
if ($b['allocation_id'] ==
$allocation['id'])
+ {
$bookings[] = $b;
+ }
}
$times = array($allocation['from_'],
$allocation['to_']);
$times = array_merge(array_map("get_from2",
$bookings), $times);
@@ -932,28 +935,80 @@
{
$from_ = $times[0];
$to_ = $times[1];
- $resources = $allocation['resources'];
- $used = array();
foreach ($all_bookings as $b)
{
+ $found = false;
- if (($b['from_'] >= $from_ &&
$b['from_'] < $to_) || ($b['to_'] > $from_ && $b['to_'] <= $to_) ||
($b['from_'] <= $from_ && $b['to_'] >= $to_))
- $resources =
array_minus($resources, $b['resources']);
+ if(($b['from_'] >= $from_ && $b['from_'] <= $to_)
+ || ($b['to_'] > $from_
&& $b['to_'] < $to_)
+ || ($b['from_'] <=
$from_ && $b['to_'] >= $to_))
+ {
+ $found = true;
+ }
+ if (!$found)
+ {
+ $a = $allocation;
+ $a['from_'] = $from_;
+ $a['to_'] = $to_;
+ $new_allocations[] = $a;
+ }
}
- if ($resources)
- {
- $a = $allocation;
- $a['from_'] = $times[0];
- $a['to_'] = $times[1];
- $new_allocations[] = $a;
- }
array_shift($times);
}
}
+
return $new_allocations;
}
/**
+ * Split allocations overlapped by bookings into multiple allocations
+ * to avoid overlaps
+ */
+ function split_allocations($allocations, $all_bookings)
+ {
+ function get_from2($a) {return $a['from_'];};
+ function get_to2($a) {return $a['to_'];};
+ $new_allocations = array();
+ foreach($allocations as $allocation)
+ {
+ // $ Find all associated bookings
+ $bookings = array();
+ foreach($all_bookings as $b)
+ {
+ if($b['allocation_id'] == $allocation['id'])
+ $bookings[] = $b;
+ }
+ $times = array($allocation['from_'], $allocation['to_']);
+ $times = array_merge(array_map("get_from2", $bookings),
$times);
+ $times = array_merge(array_map("get_to2", $bookings), $times);
+ $times = array_unique($times);
+ sort($times);
+ while(count($times) >= 2)
+ {
+ $from_ = $times[0];
+ $to_ = $times[1];
+ $resources = $allocation['resources'];
+ $used = array();
+ foreach($all_bookings as $b)
+ {
+
+ if(($b['from_'] >= $from_ && $b['from_'] < $to_) ||
($b['to_'] > $from_ && $b['to_'] <= $to_) || ($b['from_'] <= $from_ &&
$b['to_'] >= $to_))
+ $resources = array_minus($resources,
$b['resources']);
+ }
+ if($resources)
+ {
+ $a = $allocation;
+ $a['from_'] = $times[0];
+ $a['to_'] = $times[1];
+ $new_allocations[] = $a;
+ }
+ array_shift($times);
+ }
+ }
+ return $new_allocations;
+ }
+
+ /**
* Split Multi-day bookings into separate single-day bookings
* */
function _split_multi_day_bookings( $bookings, $t0, $t1 )
Modified: branches/Version-2_0-branch/booking/inc/class.sobooking.inc.php
===================================================================
--- branches/Version-2_0-branch/booking/inc/class.sobooking.inc.php
2016-09-09 15:30:28 UTC (rev 15643)
+++ branches/Version-2_0-branch/booking/inc/class.sobooking.inc.php
2016-09-09 15:32:10 UTC (rev 15644)
@@ -170,7 +170,7 @@
$this->db->query("SELECT e.id FROM bb_event e
WHERE
e.active = 1 AND
e.id IN
(SELECT event_id FROM bb_event_resource WHERE resource_id IN ($rids)) AND
-
((e.from_ > '$start' AND e.from_ < '$end') OR
+
((e.from_ >= '$start' AND e.from_ < '$end') OR
(e.to_
> '$start' AND e.to_ < '$end') OR
(e.from_ < '$start' AND e.to_ > '$end'))", __LINE__, __FILE__);
if ($this->db->next_record())
@@ -181,7 +181,7 @@
$this->db->query("SELECT a.id FROM
bb_allocation a
WHERE
a.active = 1 AND a.id<>$allocation_id AND
a.id IN
(SELECT allocation_id FROM bb_allocation_resource WHERE resource_id IN ($rids))
AND
-
((a.from_ > '$start' AND a.from_ < '$end') OR
+
((a.from_ >= '$start' AND a.from_ < '$end') OR
(a.to_
> '$start' AND a.to_ < '$end') OR
(a.from_ < '$start' AND a.to_ > '$end'))", __LINE__, __FILE__);
if ($this->db->next_record())
@@ -193,7 +193,7 @@
$this->db->query("SELECT b.id FROM bb_booking b
WHERE
b.active = 1 AND b.id<>$booking_id AND
b.id IN
(SELECT booking_id FROM bb_booking_resource WHERE resource_id IN ($rids)) AND
-
((b.from_ > '$start' AND b.from_ < '$end') OR
+
((b.from_ >= '$start' AND b.from_ < '$end') OR
(b.to_
> '$start' AND b.to_ < '$end') OR
(b.from_ < '$start' AND b.to_ > '$end'))", __LINE__, __FILE__);
if ($this->db->next_record())
Modified: branches/Version-2_0-branch/booking/js/booking/allocation_list.js
===================================================================
--- branches/Version-2_0-branch/booking/js/booking/allocation_list.js
2016-09-09 15:30:28 UTC (rev 15643)
+++ branches/Version-2_0-branch/booking/js/booking/allocation_list.js
2016-09-09 15:32:10 UTC (rev 15644)
@@ -14,5 +14,5 @@
function requestWithBuildingFilter(sQuery)
{
- return 'query=' + sQuery + (seasonFilterBuildingId ?
'&filter_building_id=' + seasonFilterBuildingId : '');
+ return sQuery + (seasonFilterBuildingId ? '&filter_building_id=' +
seasonFilterBuildingId : '');
}
Modified:
branches/Version-2_0-branch/booking/js/booking/completed_reservation.js
===================================================================
--- branches/Version-2_0-branch/booking/js/booking/completed_reservation.js
2016-09-09 15:30:28 UTC (rev 15643)
+++ branches/Version-2_0-branch/booking/js/booking/completed_reservation.js
2016-09-09 15:32:10 UTC (rev 15644)
@@ -14,7 +14,7 @@
function requestWithBuildingFilter(sQuery)
{
- return 'query=' + sQuery + (seasonFilterBuildingId ?
'&filter_building_id=' + seasonFilterBuildingId : '');
+ return sQuery + (seasonFilterBuildingId ? '&filter_building_id=' +
seasonFilterBuildingId : '');
}
function export_completed_reservations()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [15644] Stable: Merge 15640:15643 from trunk,
sigurdne <=