fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [16154] check for valid object in loop


From: sigurdne
Subject: [Fmsystem-commits] [16154] check for valid object in loop
Date: Thu, 12 Jan 2017 02:15:27 -0500 (EST)

Revision: 16154
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16154
Author:   sigurdne
Date:     2017-01-12 02:15:27 -0500 (Thu, 12 Jan 2017)
Log Message:
-----------
check for valid object in loop

Modified Paths:
--------------
    trunk/rental/inc/class.socontract_price_item.inc.php

Modified: trunk/rental/inc/class.socontract_price_item.inc.php
===================================================================
--- trunk/rental/inc/class.socontract_price_item.inc.php        2017-01-12 
04:49:31 UTC (rev 16153)
+++ trunk/rental/inc/class.socontract_price_item.inc.php        2017-01-12 
07:15:27 UTC (rev 16154)
@@ -302,23 +302,32 @@
                                break;
                        }
 
-                       $custom_factor = 
$composite_obj->get_custom_price_factor();
+                       if(is_object($composite_obj))
+                       {
+                               $custom_factor = 
$composite_obj->get_custom_price_factor();
+                               $location_info = 
ExecMethod('rental.bogeneric.read', array(
+                                       'location_info'=> array('type' => 
'location_factor'),
+                                       'custom_filter' => 
array('part_of_town_id = ' . (int)$composite_obj->get_part_of_town_id())
+                                       )
+                               );
+                               $location_factor = 
(float)abs($location_info[0]['factor']) > 0 ? 
(float)$location_info[0]['factor'] : 1;
+                               $standard_info = 
ExecMethod('rental.bogeneric.read_single', array('type' => 
'composite_standard', 'id' => $composite_obj->get_standard_id()));
+                               $standard_factor = 
(float)abs($standard_info['factor']) > 0 ? (float)$standard_info['factor'] : 1;
+                       }
+                       else
+                       {
+                               $custom_factor = 1;
+                               $location_factor = 1;
+                               $standard_factor = 1;
+//                             _debug_array($price_item->get_contract_id());
+                       }
                        $custom_factor = $custom_factor ? (float)$custom_factor 
: 1;
+                       $location_factor = $location_factor ? 
(float)$location_factor : 1;
+                       $standard_factor = $standard_factor ? 
(float)$standard_factor : 1;
 
-                       $location_info = ExecMethod('rental.bogeneric.read', 
array(
-                               'location_info'=> array('type' => 
'location_factor'),
-                               'custom_filter' => array('part_of_town_id = ' . 
(int)$composite_obj->get_part_of_town_id())
-                               )
-                       );
-                       $location_factor = 
(float)abs($location_info[0]['factor']) > 0 ? 
(float)$location_info[0]['factor'] : 1;
-
-                       $standard_info = 
ExecMethod('rental.bogeneric.read_single', array('type' => 
'composite_standard', 'id' => $composite_obj->get_standard_id()));
-                       $standard_factor = (float)abs($standard_info['factor']) 
> 0 ? (float)$standard_info['factor'] : 1;
-
                        $factor = $location_factor * $standard_factor * 
$custom_factor;
                        $factor = $factor ? (float)$factor : 1;
 
-
                        /*
                         * End correction by factors
                         */




reply via email to

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