Exemplo 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();
 }
Exemplo n.º 2
0
 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']);
 }
Exemplo n.º 3
0
 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;
 }