/**
  * you can define default filters here
  *
  * @param Tinebase_Model_Filter_FilterGroup $_filter
  */
 protected function _addDefaultFilter(Tinebase_Model_Filter_FilterGroup $_filter = NULL)
 {
     if (!$_filter->isFilterSet('showHidden')) {
         $hiddenFilter = $_filter->createFilter('showHidden', 'equals', FALSE);
         $hiddenFilter->setIsImplicit(TRUE);
         $_filter->addFilter($hiddenFilter);
     }
 }
Example #2
0
 /**
  * add default preferences to and remove undefined preferences from record set
  * 
  * @param Tinebase_Record_RecordSet $_prefs
  * @param Tinebase_Model_Filter_FilterGroup $_filter
  */
 protected function _addDefaultAndRemoveUndefinedPrefs(Tinebase_Record_RecordSet $_prefs, Tinebase_Model_Filter_FilterGroup $_filter)
 {
     $allAppPrefs = $this->getAllApplicationPreferences();
     // add default prefs if not already in array (only if no name or type filters are set)
     if (!$_filter->isFilterSet('name') && !$_filter->isFilterSet('type')) {
         $missingDefaultPrefs = array_diff($allAppPrefs, $_prefs->name);
         foreach ($missingDefaultPrefs as $prefName) {
             $_prefs->addRecord($this->getApplicationPreferenceDefaults($prefName));
         }
     }
     // remove all prefs that are not defined
     $undefinedPrefs = array_diff($_prefs->name, $allAppPrefs);
     if (count($undefinedPrefs) > 0) {
         $_prefs->addIndices(array('name'));
         foreach ($undefinedPrefs as $undefinedPrefName) {
             $record = $_prefs->find('name', $undefinedPrefName);
             $_prefs->removeRecord($record);
             if (Tinebase_Core::isLogLevel(Zend_Log::INFO)) {
                 Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ . ' Removed undefined preference from result: ' . $undefinedPrefName);
             }
         }
     }
 }