/** * add status to default persistent filter */ public function update_2() { $pfe = new Tinebase_PersistentFilter_Backend_Sql(); $defaultFavorite = $pfe->getByProperty(Tasks_Preference::DEFAULTPERSISTENTFILTER_NAME, 'name'); $defaultFavorite->bypassFilters = TRUE; $closedIds = $this->_getClosedStatusIds(); $defaultFavorite->filters = array(array('field' => 'container_id', 'operator' => 'equals', 'value' => '/personal/' . Tinebase_Model_User::CURRENTACCOUNT), array('field' => 'status_id', 'operator' => 'notin', 'value' => $closedIds)); $pfe->update($defaultFavorite); $this->setApplicationVersion('Tasks', '3.3'); }
/** * add status to default persistent filter */ public function update_2() { $pfe = new Tinebase_PersistentFilter_Backend_Sql(); $defaultFavorite = $pfe->getByProperty(Crm_Preference::DEFAULTPERSISTENTFILTER_NAME, 'name'); $defaultFavorite->bypassFilters = TRUE; $closedStatus = Crm_Controller::getInstance()->getConfigSettings()->getEndedLeadstates(TRUE); $defaultFavorite->filters = array(array('field' => 'leadstate_id', 'operator' => 'notin', 'value' => $closedStatus)); $pfe->update($defaultFavorite); $this->setApplicationVersion('Crm', '3.3'); }
/** * update favorites to new filter syntax and update to 5.2 * * @return void */ public function update_1() { $filters = Tinebase_PersistentFilter::getInstance()->getAll(); $timetrackerFilters = $filters->filter('application_id', Tinebase_Application::getInstance()->getApplicationByName('Timetracker')->getId()); $pfBackend = new Tinebase_PersistentFilter_Backend_Sql(); foreach ($timetrackerFilters as $pfilter) { foreach ($pfilter->filters as $filter) { if (in_array($filter->getField(), array('timeaccount_id')) && $filter instanceof Tinebase_Model_Filter_ForeignId) { $values = array(); foreach ($filter->getValue() as $idx => $subfilter) { $values[$idx] = $subfilter; if (in_array($subfilter['field'], array('id'))) { $values[$idx]['field'] = ':' . $subfilter['field']; } } $filter->setValue($values); $pfBackend->update($pfilter); } } } $this->setApplicationVersion('Timetracker', '5.2'); }
/** * update favorites to new filter syntax and update to 5.0 * * @return void */ public function update_0() { $filters = Tinebase_PersistentFilter::getInstance()->getAll(); $crmFilters = $filters->filter('application_id', Tinebase_Application::getInstance()->getApplicationByName('Crm')->getId()); $pfBackend = new Tinebase_PersistentFilter_Backend_Sql(); foreach ($crmFilters as $pfilter) { foreach ($pfilter->filters as $filter) { if (in_array($filter->getField(), array('contact', 'product', 'task')) && $filter instanceof Tinebase_Model_Filter_Relation) { $values = array(); foreach ($filter->getValue() as $idx => $subfilter) { $values[$idx] = $subfilter; if (in_array($subfilter['field'], array('relation_type', 'id'))) { $values[$idx]['field'] = ':' . $subfilter['field']; } } $filter->setValue($values); $pfBackend->update($pfilter); } } } $this->setApplicationVersion('Crm', '5.1'); }
/** * add attendee status to default persistent filter */ public function update_4() { $pfe = new Tinebase_PersistentFilter_Backend_Sql(); $defaultFavorite = $pfe->getByProperty(Calendar_Preference::DEFAULTPERSISTENTFILTER_NAME, 'name'); $defaultFavorite->bypassFilters = TRUE; $defaultFavorite->filters = array(array('field' => 'attender', 'operator' => 'equals', 'value' => array('user_type' => Calendar_Model_Attender::USERTYPE_USER, 'user_id' => Addressbook_Model_Contact::CURRENTCONTACT)), array('field' => 'attender_status', 'operator' => 'notin', 'value' => array('DECLINED'))); $pfe->update($defaultFavorite); $this->setApplicationVersion('Calendar', '3.5'); }