CRM-18250 - Fix Find Events on Manage Event Screen
authorjitendrapurohit <jitendra.purohit@webaccessglobal.com>
Fri, 18 Mar 2016 13:15:16 +0000 (18:45 +0530)
committerjitendrapurohit <jitendra.purohit@webaccessglobal.com>
Wed, 30 Mar 2016 08:41:47 +0000 (14:11 +0530)
update doc

CRM/Event/Page/ManageEvent.php

index 3c58fd5e6274a4e18b4f4344e1bb0341b1797521..1746505ae457c9d17da92719252ec0013e0b9a04 100644 (file)
@@ -467,16 +467,22 @@ ORDER BY start_date desc
     $eventsByDates = $this->get('eventsByDates');
     if ($this->_searchResult) {
       if ($eventsByDates) {
-
         $from = $this->get('start_date');
+        $to = $this->get('end_date');
+        $start = $end = '';
         if (!CRM_Utils_System::isNull($from)) {
-          $clauses[] = '( start_date >= %3 OR start_date IS NULL )';
+          $start = 'end_date >= %3 AND';
+          if (!CRM_Utils_System::isNull($to)) {
+            $end = ' AND start_date <= %4 ';
+          }
+          // CRM-18250 - search end_date greater than $from or start_date should be
+          // greater than $from in case end_date is NULL to get proper event result.
+          $clauses[] = "( (end_date >= %3 $end ) OR (start_date >= %3 AND end_date IS NULL) )";
           $params[3] = array($from, 'String');
         }
 
-        $to = $this->get('end_date');
         if (!CRM_Utils_System::isNull($to)) {
-          $clauses[] = '( end_date <= %4 OR end_date IS NULL )';
+          $clauses[] = "(($start start_date <= %4))";
           $params[4] = array($to, 'String');
         }
       }