fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [15646] Stable: Merge 15644:15645 from trunk


From: sigurdne
Subject: [Fmsystem-commits] [15646] Stable: Merge 15644:15645 from trunk
Date: Fri, 9 Sep 2016 18:56:51 +0000 (UTC)

Revision: 15646
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=15646
Author:   sigurdne
Date:     2016-09-09 18:56:51 +0000 (Fri, 09 Sep 2016)
Log Message:
-----------
Stable: Merge 15644:15645 from trunk

Modified Paths:
--------------
    branches/Version-2_0-branch/booking/inc/class.bobooking.inc.php
    branches/Version-2_0-branch/booking/inc/schedule.php

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,15641-15643
   + /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,15645


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,15641-15643
   + /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,15645

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 18:54:59 UTC (rev 15645)
+++ branches/Version-2_0-branch/booking/inc/class.bobooking.inc.php     
2016-09-09 18:56:51 UTC (rev 15646)
@@ -475,10 +475,9 @@
                                unset($booking['audience']);
                                unset($booking['agegroups']);
                        }
-                       //Sigurd: 09. Sept: testing
-                       $allocations = 
$this->split_allocations_test($allocations, $bookings);
-//                     $allocations = $this->split_allocations($allocations, 
$bookings);
 
+                       $allocations = $this->split_allocations($allocations, 
$bookings);
+
                        $event_ids = 
$this->so->event_ids_for_building($building_id, $from, $to);
                        $events = $this->event_so->read(array('filters' => 
array('id' => $event_ids)));
                        $events = $events['results'];
@@ -876,9 +875,9 @@
                                $booking['shortname'] = 
$booking['group_shortname'];
                                $booking['type'] = 'booking';
                        }
-                       //Sigurd: 09. Sept: testing
-                       $allocations = 
$this->split_allocations_test($allocations, $bookings);
 
+                       $allocations = $this->split_allocations($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)));
                        $events = $events['results'];
@@ -900,7 +899,7 @@
                 * Split allocations overlapped by bookings into multiple 
allocations
                 * to avoid overlaps
                 */
-               function split_allocations_test( $allocations, $all_bookings )
+               function split_allocations( $allocations, $all_bookings )
                {
 
                        function get_from2( $a )
@@ -961,54 +960,6 @@
                }
 
                /**
-         * 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/schedule.php
===================================================================
--- branches/Version-2_0-branch/booking/inc/schedule.php        2016-09-09 
18:54:59 UTC (rev 15645)
+++ branches/Version-2_0-branch/booking/inc/schedule.php        2016-09-09 
18:56:51 UTC (rev 15646)
@@ -88,10 +88,18 @@
                                                }
                                                if (in_array($res['id'], 
$booking['resources']))
                                                {
-                                                       if 
(!(($tempbooking[$booking['wday']]['from_'] <= $booking['from_']) and ( 
$tempbooking[$booking['wday']]['to_'] == $booking['to_']) and ( 
$tempbooking[$booking['wday']]['allocation_id'] == $booking['id']) and ( 
$booking['type'] == 'allocation')))
+                                                       if 
(!(($tempbooking[$booking['wday']]['from_'] <= $booking['from_']) 
+                                                               and ( 
$tempbooking[$booking['wday']]['to_'] == $booking['to_'])
+                                                               and ( 
$tempbooking[$booking['wday']]['allocation_id'] == $booking['id'])
+                                                               and ( 
$booking['type'] == 'allocation'))
+                                                               )
                                                        {
                                                                $empty = false;
-                                                               
$row[$booking['wday']] = $booking;
+
+                                                               
if(empty($row[$booking['wday']]['type']) || $row[$booking['wday']]['type'] != 
'booking')
+                                                               {
+                                                                       
$row[$booking['wday']] = $booking;
+                                                               }
                                                        }
                                                        if ($booking['type'] == 
'booking')
                                                        {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]