/** * 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()); }
/** * 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)); }