/**
  * export employee
  *
  * @param string $filter JSON encoded string with employee ids for multi export or employee filter
  * @param string $options format or export definition id
  */
 public function exportEmployees($filter, $options)
 {
     $decodedFilter = Zend_Json::decode($filter);
     if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Export filter: ' . print_r($decodedFilter, TRUE));
     }
     if (!is_array($decodedFilter)) {
         $decodedFilter = array(array('field' => 'id', 'operator' => 'equals', 'value' => $decodedFilter));
     }
     $filter = new HumanResources_Model_EmployeeFilter($decodedFilter);
     parent::_export($filter, Zend_Json::decode($options), HumanResources_Controller_Employee::getInstance());
 }
 /**
  * export events
  *
  * @param string $filter JSON encoded string with items ids for multi export or item filter
  * @param string $options format or export definition id
  */
 public function exportEvents($filter, $options)
 {
     $decodedFilter = Zend_Json::decode($filter);
     if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Export filter: ' . print_r($decodedFilter, TRUE));
     }
     if (!is_array($decodedFilter)) {
         $decodedFilter = array(array('field' => 'id', 'operator' => 'equals', 'value' => $decodedFilter));
     }
     $filter = new Calendar_Model_EventFilter();
     $filter->setFromArrayInUsersTimezone($decodedFilter);
     parent::_export($filter, Zend_Json::decode($options), Calendar_Controller_Event::getInstance());
 }
 /**
  * export contact
  * 
  * @param string $filter JSON encoded string with contact ids for multi export or contact filter
  * @param string $options format or export definition id
  */
 public function exportContacts($filter, $options)
 {
     $decodedFilter = Zend_Json::decode($filter);
     $decodedOptions = Zend_Json::decode($options);
     if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
         Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' Export filter: ' . print_r($decodedFilter, true) . ' Options: ' . print_r($decodedOptions, true));
     }
     if (!is_array($decodedFilter)) {
         $decodedFilter = array(array('field' => 'id', 'operator' => 'equals', 'value' => $decodedFilter));
     }
     $filter = new Addressbook_Model_ContactFilter($decodedFilter);
     parent::_export($filter, $decodedOptions, Addressbook_Controller_Contact::getInstance());
 }
Example #4
0
 /**
  * export lead
  * 
  * @param	string $filter JSON encoded string with lead ids for multi export
  * @param	string $options format or export definition id
  */
 public function exportLead($filter, $options)
 {
     $filter = new Crm_Model_LeadFilter(Zend_Json::decode($filter));
     parent::_export($filter, Zend_Json::decode($options), Crm_Controller_Lead::getInstance());
 }
 /**
  * export invoice positions by invoice id and accountable (php class name)
  * 
  * @param string $invoiceId
  * @param string $accountable
  * @throws Tinebase_Exception_InvalidArgument
  */
 public function exportInvoicePositions($invoiceId, $accountable)
 {
     if (!(class_exists($accountable) && in_array('Sales_Model_Accountable_Interface', class_implements($accountable)))) {
         throw new Tinebase_Exception_InvalidArgument('The given accountable ' . $accountable . ' does not exist or doesn\'t implement Sales_Model_Accountable_Interface');
     }
     if ($accountable == 'Sales_Model_ProductAggregate') {
         $billableFilterName = 'Sales_Model_InvoicePositionFilter';
         $billableControllerName = 'Sales_Controller_InvoicePosition';
     } else {
         $billableFilterName = $accountable::getBillableFilterName();
         $billableControllerName = $accountable::getBillableControllerName();
     }
     if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Export invoicepositions with the parameters:' . ' invoiceId: ' . $invoiceId . ' accountable: ' . $accountable . ' billableFilterName: ' . $billableFilterName . ' billableControllerName: ' . $billableControllerName);
     }
     $filter = new $billableFilterName(array());
     $filter->addFilter(new Tinebase_Model_Filter_Text(array('field' => 'invoice_id', 'operator' => 'equals', 'value' => $invoiceId)));
     if ($accountable == 'Sales_Model_ProductAggregate') {
         $filter->addFilter(new Tinebase_Model_Filter_Text(array('field' => 'model', 'operator' => 'equals', 'value' => 'Sales_Model_ProductAggregate')));
     } elseif ($accountable == 'Timetracker_Model_Timeaccount') {
         $filter = new Timetracker_Model_TimesheetFilter(array(array('field' => 'timeaccount_id', 'operator' => 'AND', 'value' => array(array('condition' => 'OR', 'filters' => array(array('field' => 'budget', 'operator' => 'equals', 'value' => 0), array('field' => 'budget', 'operator' => 'equals', 'value' => NULL)))))));
         $filter->addFilter(new Tinebase_Model_Filter_Text(array('field' => 'invoice_id', 'operator' => 'equals', 'value' => $invoiceId)));
     }
     parent::_export($filter, array('format' => 'ods'), $billableControllerName::getInstance());
 }
 /**
  * export records matching given arguments
  *
  * @param string $filter json encoded
  * @param string $options format or export definition id
  */
 public function exportTimeaccounts($filter, $options)
 {
     $filter = new Timetracker_Model_TimeaccountFilter(Zend_Json::decode($filter));
     parent::_export($filter, Zend_Json::decode($options));
 }