Ejemplo n.º 1
0
 /**
  * appends sql to given select statement
  *
  * @param Zend_Db_Select                $_select
  * @param Tinebase_Backend_Sql_Abstract $_backend
  */
 public function appendFilterSql($_select, $_backend)
 {
     $filterData = array('field' => $this->_field, 'operator' => $this->_operator, 'value' => array($this->_value));
     //print_r($filterData);
     $oFilter = new Billing_Model_OrderFilter(array(), 'AND');
     $oFilter->addFilter($oFilter->createFilter($this->_field, $this->_operator, $this->_value));
     /*Filter = $oFilter->toArray();
      	print_r($aFilter);
      	*/
     $orderIds = Billing_Controller_Order::getInstance()->search($oFilter, null, false, true);
     //print_r($orderIds);
     $filter = new Billing_Model_ReceiptFilter(array(), 'AND');
     if (count($orderIds) > 0) {
         $filter->addFilter(new Tinebase_Model_Filter_Id('order_id', 'in', $orderIds));
     } else {
         $filter->addFilter(new Tinebase_Model_Filter_Id('order_id', 'in', array(0 => null)));
     }
     $receiptIds = Billing_Controller_Receipt::getInstance()->search($filter, null, false, true);
     if (count($receiptIds) > 0) {
         $filter1 = new Billing_Model_ArticleSoldFilter(array(), 'AND');
         $filter1->addFilter(new Tinebase_Model_Filter_Id('receipt_id', 'in', $receiptIds));
         Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($_select, $filter1, $_backend);
     } else {
         $filter1 = new Billing_Model_ArticleSoldFilter(array(), 'AND');
         $filter1->addFilter(new Tinebase_Model_Filter_Id('receipt_id', 'in', array(0 => null)));
         Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($_select, $filter1, $_backend);
     }
     //	echo $_select->assemble();
 }
 /**
  * appends sql to given select statement
  *
  * @param Zend_Db_Select                $_select
  * @param Tinebase_Backend_Sql_Abstract $_backend
  */
 public function appendFilterSql($_select, $_backend)
 {
     $filterData = array(array('field' => 'combi_type', 'operator' => $this->_operator, 'value' => $this->_value));
     $filter = new Billing_Model_ReceiptFilter($filterData, 'AND');
     $receiptIds = Billing_Controller_Receipt::getInstance()->search($filter, null, false, true);
     if (count($receiptIds) > 0) {
         $filter1 = new Billing_Model_ArticleSoldFilter(array(), 'AND');
         $filter1->addFilter(new Tinebase_Model_Filter_Id('receipt_id', 'in', $receiptIds));
         Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($_select, $filter1, $_backend);
     } else {
         $filter1 = new Billing_Model_ArticleSoldFilter(array(), 'AND');
         $filter1->addFilter(new Tinebase_Model_Filter_Id('receipt_id', 'in', array(0 => null)));
         Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($_select, $filter1, $_backend);
     }
     //	echo $_select->assemble();
 }