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)
 {
     if ($this->_value) {
         $filterData = array(array('field' => 'type', 'operator' => $this->_operator, 'value' => $this->_value));
         $filter = new Billing_Model_ReceiptFilter($filterData, 'AND');
         Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($_select, $filter, $_backend);
     }
 }
 /**
  * appends sql to given select statement
  *
  * @param Zend_Db_Select                $_select
  * @param Tinebase_Backend_Sql_Abstract $_backend
  */
 public function appendFilterSql($_select, $_backend)
 {
     if ($this->_value) {
         $filterData = array(array('field' => 'created_by', 'operator' => $this->_operator, 'value' => Tinebase_Core::getUser()->__get('accountId')));
         $filter = new Billing_Model_ReceiptFilter($filterData, 'AND');
         Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($_select, $filter, $_backend);
     }
 }
 /**
  * appends sql to given select statement
  *
  * @param Zend_Db_Select                $_select
  * @param Tinebase_Backend_Sql_Abstract $_backend
  */
 public function appendFilterSql($_select, $_backend)
 {
     if (empty($this->_value)) {
         // nothing to filter
         return;
     }
     $filterData = array(array('field' => 'lead_name', 'operator' => 'contains', 'value' => $this->_value), array('field' => 'description', 'operator' => 'contains', 'value' => $this->_value), array('field' => 'showClosed', 'operator' => 'equals', 'value' => TRUE));
     $filter = new Crm_Model_LeadFilter($filterData, 'OR');
     $this->_advancedSearch($filter);
     Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($_select, $filter, $_backend);
 }
Ejemplo n.º 5
0
 /**
  * appends sql to given select statement
  *
  * @param Zend_Db_Select                $_select
  * @param Tinebase_Backend_Sql_Abstract $_backend
  */
 public function appendFilterSql($_select, $_backend)
 {
     if ($this->_value) {
         $filterData = array(array('field' => 'debitor_nr', 'operator' => $this->_operator, 'value' => $this->_value));
         $filter = new Billing_Model_DebitorFilter($filterData, 'OR');
         $contactFilter = new Addressbook_Model_ContactFilter(array(array('field' => 'query', 'operator' => $this->_operator, 'value' => $this->_value)));
         $contactIds = Addressbook_Controller_Contact::getInstance()->search($contactFilter, NULL, FALSE, TRUE);
         $filter->addFilter(new Tinebase_Model_Filter_Id('contact_id', 'in', $contactIds));
         Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($_select, $filter, $_backend);
     }
 }
Ejemplo n.º 6
0
 /**
  * appends sql to given select statement
  *
  * @param Zend_Db_Select                $_select
  * @param Tinebase_Backend_Sql_Abstract $_backend
  */
 public function appendFilterSql($_select, $_backend)
 {
     if (empty($this->_value)) {
         // nothing to filter
         return;
     }
     $filterData = array(array('field' => 'lead_name', 'operator' => 'contains', 'value' => $this->_value), array('field' => 'description', 'operator' => 'contains', 'value' => $this->_value), array('field' => 'showClosed', 'operator' => 'equals', 'value' => TRUE));
     $filter = new Crm_Model_LeadFilter($filterData, 'OR');
     /*** also filter for related contacts ***/
     $contactFilter = new Addressbook_Model_ContactFilter(array(array('field' => 'query', 'operator' => 'contains', 'value' => $this->_value)));
     $contactIds = Addressbook_Controller_Contact::getInstance()->search($contactFilter, NULL, FALSE, TRUE);
     $relationFilter = new Tinebase_Model_RelationFilter(array(array('field' => 'own_model', 'operator' => 'equals', 'value' => 'Crm_Model_Lead'), array('field' => 'related_model', 'operator' => 'equals', 'value' => 'Addressbook_Model_Contact'), array('field' => 'related_id', 'operator' => 'in', 'value' => $contactIds)));
     $leadIds = Tinebase_Relations::getInstance()->search($relationFilter, NULL)->own_id;
     $filter->addFilter(new Tinebase_Model_Filter_Id('id', 'in', $leadIds));
     Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($_select, $filter, $_backend);
 }
 /**
  * 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();
 }
Ejemplo n.º 8
0
 /**
  * appends sql to given select statement
  *
  * @param  Zend_Db_Select                    $_select
  * @param  Tinebase_Backend_Sql_Abstract     $_backend
  */
 public function appendFilterSql($_select, $_backend)
 {
     if ($this->_accountId === '0') {
         // get anyones preferences
         $field = $_backend->getAdapter()->quoteIdentifier($_backend->getTableName() . '.account_type');
         $_select->where(Tinebase_Core::getDb()->quoteInto($field . '= ?', Tinebase_Acl_Rights::ACCOUNT_TYPE_ANYONE));
     } else {
         $conditions = array(array('condition' => Tinebase_Model_Filter_FilterGroup::CONDITION_AND, 'filters' => array(array('field' => 'account_id', 'operator' => 'equals', 'value' => $this->_accountId), array('field' => 'account_type', 'operator' => 'equals', 'value' => $this->_accountType))), array('field' => 'account_type', 'operator' => 'equals', 'value' => Tinebase_Acl_Rights::ACCOUNT_TYPE_ANYONE));
         // add groups if accountType is user
         if ($this->_accountType === Tinebase_Acl_Rights::ACCOUNT_TYPE_USER) {
             $groups = Tinebase_Group::getInstance()->getGroupMemberships($this->_accountId);
             $conditions[] = array('condition' => Tinebase_Model_Filter_FilterGroup::CONDITION_AND, 'filters' => array(array('field' => 'account_id', 'operator' => 'in', 'value' => $groups), array('field' => 'account_type', 'operator' => 'equals', 'value' => Tinebase_Acl_Rights::ACCOUNT_TYPE_GROUP)));
         }
         $filter = new Tinebase_Model_PreferenceFilter($conditions, Tinebase_Model_Filter_FilterGroup::CONDITION_OR);
         Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($_select, $filter, $_backend);
     }
 }
Ejemplo n.º 9
0
 /**
  * appends sql to given select statement
  *
  * @param Zend_Db_Select                $_select
  * @param Tinebase_Backend_Sql_Abstract $_backend
  */
 public function appendFilterSql($_select, $_backend)
 {
     if ($this->_value) {
         $filter = array(array('field' => 'debitor_id', 'operator' => 'AND', 'value' => array(array('field' => 'id', 'operator' => 'equals', 'value' => $this->_value))));
         /*$filter = array(array(
          		'field' => 'debitor_id',
          		'operator' => $this->_operator,
          		'value' => $this->_value
          	));*/
         $abFilter = new Billing_Model_AccountBookingFilter($filter, 'AND');
         $abs = Billing_Controller_AccountBooking::getInstance()->search($abFilter);
         $bookingIds = $abs->__getFlattened('booking_id');
         //print_r($bookingIds);
         if (!is_array($bookingIds) || count($bookingIds) == 0) {
             $bookingIds = array('0', null);
         }
         $filter1 = new Billing_Model_BookingFilter(array(), 'AND');
         $filter1->addFilter(new Tinebase_Model_Filter_Id('id', 'in', $bookingIds));
         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)
 {
     if ($this->_disabled === TRUE) {
         return;
     }
     $filter = new Calendar_Model_EventFilter(array(array('condition' => Tinebase_Model_Filter_FilterGroup::CONDITION_AND, 'filters' => array(array('field' => 'rrule', 'operator' => 'isnull', 'value' => NULL), array('field' => 'dtstart', 'operator' => 'before', 'value' => $this->_until), array('field' => 'dtend', 'operator' => 'after', 'value' => $this->_from))), array('condition' => Tinebase_Model_Filter_FilterGroup::CONDITION_AND, 'filters' => array(array('field' => 'rrule', 'operator' => 'notnull', 'value' => NULL), array('field' => 'dtstart', 'operator' => 'before', 'value' => $this->_until), array('condition' => Tinebase_Model_Filter_FilterGroup::CONDITION_OR, 'filters' => array(array('field' => 'rrule_until', 'operator' => 'after', 'value' => $this->_from), array('field' => 'rrule_until', 'operator' => 'isnull', 'value' => NULL)))))), Tinebase_Model_Filter_FilterGroup::CONDITION_OR);
     Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($_select, $filter, $_backend);
 }
Ejemplo n.º 11
0
 /**
  * get preferences
  * 
  * @param string $_preferenceName
  * @param string $_accountId
  * @param string $_accountType
  * @return array result
  */
 protected function _getPrefs($_preferenceName, $_accountId = '0', $_accountType = Tinebase_Acl_Rights::ACCOUNT_TYPE_ANYONE)
 {
     $select = $this->_getSelect();
     $appId = Tinebase_Application::getInstance()->getApplicationByName($this->_application)->getId();
     $filter = new Tinebase_Model_PreferenceFilter(array(array('field' => 'account', 'operator' => 'equals', 'value' => array('accountId' => $_accountId, 'accountType' => $_accountType)), array('field' => 'name', 'operator' => 'equals', 'value' => $_preferenceName), array('field' => 'application_id', 'operator' => 'equals', 'value' => $appId)));
     Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($select, $filter, $this);
     $stmt = $this->_db->query($select);
     $queryResult = $stmt->fetchAll();
     return $queryResult;
 }
 /**
  * add the fields to search for to the query
  *
  * @param  Zend_Db_Select                       $_select current where filter
  * @param  Tinebase_Model_Filter_FilterGroup    $_filter the string to search for
  * @return void
  */
 protected function _addFilter(Zend_Db_Select $_select, $_filter)
 {
     Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($_select, $_filter, $this);
 }
 /**
  * count notes
  *
  * @param Tinebase_Model_NoteFilter $_filter
  * @param boolean $ignoreACL
  * @return int notes count
  */
 public function searchNotesCount(Tinebase_Model_NoteFilter $_filter, $ignoreACL = true)
 {
     $select = $this->_db->select()->from(array('notes' => SQL_TABLE_PREFIX . 'notes'), array('count' => 'COUNT(' . $this->_db->quoteIdentifier('id') . ')'))->where($this->_db->quoteIdentifier('is_deleted') . ' = 0');
     if (!$ignoreACL) {
         $this->_checkFilterACL($_filter);
     }
     Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($select, $_filter, $this);
     $result = $this->_db->fetchOne($select);
     return $result;
 }
Ejemplo n.º 14
0
 /**
  * count notes
  *
  * @param Tinebase_Model_NoteFilter $_filter
  * @return int notes count
  */
 public function searchNotesCount(Tinebase_Model_NoteFilter $_filter)
 {
     $select = $this->_db->select()->from(array('notes' => SQL_TABLE_PREFIX . 'notes'), array('count' => 'COUNT(' . $this->_db->quoteIdentifier('id') . ')'));
     Tinebase_Backend_Sql_Filter_FilterGroup::appendFilters($select, $_filter, $this);
     //$_filter->appendFilterSql($select);
     $result = $this->_db->fetchOne($select);
     return $result;
 }