/** * 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(); }
public function getSummation(array $aFilter) { $filter = new Billing_Model_ReceiptFilter(array(), 'AND'); $filter->setFromArrayInUsersTimezone($aFilter); //$countFilter = $filter; $total = $this->getSums($filter); //$countTotal = $this->getCount($filter); return array('total_netto' => $total['global_netto'], 'total_brutto' => $total['global_brutto'], 'totalcount' => $total['count']); }
private function createFilters() { $filters = new Billing_Model_ReceiptFilter($this->filters, 'AND'); if ($this->userOptions == 'ONLYMINE') { if ($filters->isFilterSet('created_by')) { $filters->removeFilter('created_by'); } if ($filters->isFilterSet('last_modified_by')) { $filters->removeFilter('last_modified_by'); } $userFilter = new Tinebase_Model_Filter_User('created_by', 'equals', Tinebase_Core::getUser()->getId()); $filters->addFilter($userFilter); } else { if ($this->userOptions == 'ALLUSERS') { if ($filters->isFilterSet('created_by')) { $filters->removeFilter('created_by'); } if ($filters->isFilterSet('last_modified_by')) { $filters->removeFilter('last_modified_by'); } } } return $filters; }