fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [7038] bug-fix in sql query


From: lars.nestas
Subject: [Fmsystem-commits] [7038] bug-fix in sql query
Date: Wed, 23 Feb 2011 11:31:03 +0000

Revision: 7038
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=7038
Author:   "lars.nestas"
Date:     2011-02-23 11:31:02 +0000 (Wed, 23 Feb 2011)
Log Message:
-----------
bug-fix in sql query

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

Modified: trunk/rental/inc/class.socomposite.inc.php
===================================================================
--- trunk/rental/inc/class.socomposite.inc.php  2011-02-23 10:14:24 UTC (rev 
7037)
+++ trunk/rental/inc/class.socomposite.inc.php  2011-02-23 11:31:02 UTC (rev 
7038)
@@ -82,14 +82,18 @@
                }
                switch($filters['has_contract']){
                        case "has_contract":
-                               $filter_clauses[] = "(NOT 
rental_contract_composite.contract_id IS NULL AND (NOT 
rental_contract.date_start IS NULL AND rental_contract.date_start > 
$availability_date_from OR rental_contract.date_start < $availability_date_to 
AND (rental_contract.date_end IS NULL OR (rental_contract.date_end > 
$availability_date_from OR rental_contract.date_end < 
$availability_date_to))))";
+                               $filter_clauses[] = "(NOT 
rental_contract_composite.contract_id IS NULL AND NOT((NOT 
rental_contract.date_start IS NULL AND ( rental_contract.date_start < 
$availability_date_from AND rental_contract.date_end < $availability_date_from) 
OR (rental_contract.date_end IS NULL OR ( rental_contract.date_start > 
$availability_date_to AND rental_contract.date_end > 
$availability_date_to)))))";
+                               //$filter_clauses[] = "(NOT 
rental_contract_composite.contract_id IS NULL AND (NOT 
rental_contract.date_start IS NULL AND (NOT rental_contract.date_start < 
$availability_date_from AND NOT rental_contract.date_end < 
$availability_date_from) OR (rental_contract.date_end IS NULL OR (NOT 
rental_contract.date_start > $availability_date_to AND NOT 
rental_contract.date_end > $availability_date_to))))";
+                               //$filter_clauses[] = "(NOT 
rental_contract_composite.contract_id IS NULL AND (NOT 
rental_contract.date_start IS NULL AND rental_contract.date_start < 
$availability_date_from OR rental_contract.date_end < $availability_date_from 
AND (rental_contract.date_end IS NULL OR (rental_contract.date_start > 
$availability_date_to AND rental_contract.date_end > $availability_date_to))))";
                                //$filter_clauses[] = "(NOT 
rental_contract_composite.contract_id IS NULL AND (NOT 
rental_contract.date_start IS NULL AND rental_contract.date_start < 
$availability_date_from AND ((rental_contract.date_end IS NULL OR (NOT 
rental_contract.date_end IS NULL AND rental_contract.date_end > 
$availability_date_from)) OR (rental_contract.date_start > 
$availability_date_to AND (rental_contract.date_end IS NULL OR (NOT 
rental_contract.date_end IS NULL AND rental_contract.date_end < 
$availability_date_to))))))";
                                //$filter_clauses[] = "(NOT 
rental_contract_composite.contract_id IS NULL AND (NOT 
rental_contract.date_start IS NULL AND rental_contract.date_start < 
$availability_date_from AND (rental_contract.date_end IS NULL OR (NOT 
rental_contract.date_end IS NULL AND rental_contract.date_end > 
$availability_date_from))))";
                                $special_query=true;
                                break;
                        case "has_no_contract":
                                //$filter_clauses[] = 
"(rental_contract_composite.contract_id IS NULL OR NOT rental_composite.id IN 
(SELECT rental_composite.id FROM rental_composite LEFT JOIN  
rental_contract_composite ON (rental_contract_composite.composite_id = 
rental_composite.id) LEFT JOIN  rental_contract ON (rental_contract.id = 
rental_contract_composite.contract_id) WHERE 1=1 AND rental_composite.is_active 
= TRUE AND (NOT rental_contract_composite.contract_id IS NULL AND (NOT 
rental_contract.date_start IS NULL AND rental_contract.date_start < 
$availability_date_from AND (rental_contract.date_end IS NULL OR (NOT 
rental_contract.date_end IS NULL AND rental_contract.date_end > 
$availability_date_from))))))";
-                               $filter_clauses[] = 
"(rental_contract_composite.contract_id IS NULL OR NOT rental_composite.id IN 
(SELECT rental_composite.id FROM rental_composite LEFT JOIN  
rental_contract_composite ON (rental_contract_composite.composite_id = 
rental_composite.id) LEFT JOIN  rental_contract ON (rental_contract.id = 
rental_contract_composite.contract_id) WHERE 1=1 AND rental_composite.is_active 
= TRUE AND (NOT rental_contract_composite.contract_id IS NULL AND (NOT 
rental_contract.date_start IS NULL AND ((rental_contract.date_start > 
$availability_date_from OR rental_contract.date_start < $availability_date_to 
AND (NOT rental_contract.date_end IS NULL AND rental_contract.date_end > 
$availability_date_from OR rental_contract.date_end < 
$availability_date_to)))))))";
+                               //$filter_clauses[] = 
"(rental_contract_composite.contract_id IS NULL OR NOT rental_composite.id IN 
(SELECT rental_composite.id FROM rental_composite LEFT JOIN  
rental_contract_composite ON (rental_contract_composite.composite_id = 
rental_composite.id) LEFT JOIN  rental_contract ON (rental_contract.id = 
rental_contract_composite.contract_id) WHERE 1=1 AND rental_composite.is_active 
= TRUE AND (NOT rental_contract_composite.contract_id IS NULL OR (NOT 
rental_contract.date_start IS NULL OR  (((rental_contract.date_start < 
$availability_date_from AND rental_contract.date_end < $availability_date_from) 
OR (NOT rental_contract.date_end IS NULL OR (rental_contract.date_start > 
$availability_date_to AND rental_contract.date_end > 
$availability_date_to))))))))";
+                               $filter_clauses[] = 
"(rental_contract_composite.contract_id IS NULL OR NOT rental_composite.id IN 
(SELECT rental_composite.id FROM rental_composite LEFT JOIN  
rental_contract_composite ON (rental_contract_composite.composite_id = 
rental_composite.id) LEFT JOIN  rental_contract ON (rental_contract.id = 
rental_contract_composite.contract_id) WHERE  NOT 
(((((rental_contract.date_start < $availability_date_from AND 
rental_contract.date_end < $availability_date_from) OR ( 
(rental_contract.date_start > $availability_date_to AND 
rental_contract.date_end > $availability_date_to))))))))";
+                               
                                $special_query=true;
                                break;
                        case "both":
@@ -155,11 +159,11 @@
                {
                        if($special_query)
                        {
-                               $cols = "DISTINCT(rental_composite.id) AS 
composite_id, rental_unit.id AS unit_id, rental_unit.location_code, 
rental_composite.name, rental_composite.has_custom_address, 
rental_composite.address_1, rental_composite.house_number, 
rental_composite.address_2, rental_composite.postcode, rental_composite.place, 
rental_composite.is_active, rental_composite.area, CASE WHEN (NOT 
rental_contract_composite.contract_id IS NULL AND (NOT 
rental_contract.date_start IS NULL AND rental_contract.date_start > 
$availability_date_from OR rental_contract.date_start < $availability_date_to 
AND (rental_contract.date_end IS NULL OR (rental_contract.date_end > 
$availability_date_from OR rental_contract.date_end < $availability_date_to)))) 
THEN 'Ikke ledig' ELSE 'Ledig' END as status";
+                               $cols = "DISTINCT(rental_composite.id) AS 
composite_id, rental_unit.id AS unit_id, rental_unit.location_code, 
rental_composite.name, rental_composite.has_custom_address, 
rental_composite.address_1, rental_composite.house_number, 
rental_composite.address_2, rental_composite.postcode, rental_composite.place, 
rental_composite.is_active, rental_composite.area, CASE WHEN (NOT 
rental_contract_composite.contract_id IS NULL AND (NOT 
rental_contract.date_start IS NULL AND (NOT (rental_contract.date_start < 
$availability_date_from AND rental_contract.date_end < 
$availability_date_from)) AND (rental_contract.date_end IS NULL OR NOT 
(rental_contract.date_start > $availability_date_to AND 
rental_contract.date_end > $availability_date_to)))) THEN 'Ikke ledig' ELSE 
'Ledig' END as status";
                        }
                        else
                        {
-                               $cols = "rental_composite.id AS composite_id, 
rental_unit.id AS unit_id, rental_unit.location_code, rental_composite.name, 
rental_composite.has_custom_address, rental_composite.address_1, 
rental_composite.house_number, rental_composite.address_2, 
rental_composite.postcode, rental_composite.place, rental_composite.is_active, 
rental_composite.area, CASE WHEN (NOT rental_contract_composite.contract_id IS 
NULL AND (NOT rental_contract.date_start IS NULL AND rental_contract.date_start 
> $availability_date_from OR rental_contract.date_start < $availability_date_to 
AND (rental_contract.date_end IS NULL OR (rental_contract.date_end > 
$availability_date_from OR rental_contract.date_end < $availability_date_to)))) 
THEN 'Ikke ledig' ELSE 'Ledig' END as status";
+                               $cols = "rental_composite.id AS composite_id, 
rental_unit.id AS unit_id, rental_unit.location_code, rental_composite.name, 
rental_composite.has_custom_address, rental_composite.address_1, 
rental_composite.house_number, rental_composite.address_2, 
rental_composite.postcode, rental_composite.place, rental_composite.is_active, 
rental_composite.area, CASE WHEN (NOT rental_contract_composite.contract_id IS 
NULL AND (NOT rental_contract.date_start IS NULL AND (NOT 
(rental_contract.date_start < $availability_date_from AND 
rental_contract.date_end < $availability_date_from)) AND 
(rental_contract.date_end IS NULL OR NOT (rental_contract.date_start > 
$availability_date_to AND rental_contract.date_end > $availability_date_to)))) 
THEN 'Ikke ledig' ELSE 'Ledig' END as status";
                        }
                }
                $dir = $ascending ? 'ASC' : 'DESC';




reply via email to

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