public function apply(App_ListFilter $filterlist) { if (!($fieldName = $this->getFieldName())) { throw new App_ListFilter_Rule_Condition_Exception("Filter field name not defined."); } $filterName = $this->getFilterField(); if ($scopeVar = $this->getFromScopeVar()) { $filters = $filterlist->getFromScope($scopeVar); if (!is_array($filters)) { $filters = array($filters); } } else { $filters = $filterlist->getFiltersByFieldName($filterName); } foreach ($filters as $filter) { if (($class = $this->getFilterClass()) && !$filter instanceof $class) { continue; } if ($filterName && $filter->getFieldName() != $filterName) { continue; } if ($this->_checkValue($filter->{'get' . ucfirst($this->getFieldName())}(), $this->getComparedValue())) { if ($this->getScopeVar()) { $filterlist->addToScope($this->getScopeVar(), $filter); } return true; } } return false; }
public function execute(App_ListFilter $filterlist) { if (!$this->getFieldName()) { throw new App_ListFilter_Rule_Action_Exception("No field name defined on remove filter action."); } $filterlist->removeFiltersByFieldName($this->getFieldName(), $this->getCount()); }
public function execute(App_ListFilter $filterlist) { if (!$this->getFieldName()) { throw new App_ListFilter_Rule_Action_Exception("No field name defined on add filter action."); } $filter = App_ListFilter_FilterFactory::createItemFilter($this->getFieldName(), $this->getValue()); $filterlist->addFilter($filter); }
/** * Maps sorting name to field name * @param \App_ListFilter_Interface $filter * @return string | null */ protected function _mapSortingFieldName(\App_ListFilter $filter) { if ($filter->getSortingField() === UserSortingFields::FIRST_NAME) { return 'firstName_sorting'; } else { if ($filter->getSortingField() === UserSortingFields::LAST_NAME) { return 'lastName_sorting'; } } return $filter->getSortingField(); }
function getChildrenAndSendEvent($orgs, $sortFunction = NULL) { $childrenOrgs = array(); foreach ($orgs as $org) { \Application\Model\Mapper\OrganizationMapper::$organizationId = $org->id; $filterList = new App_ListFilter(); $filter = new App_ListFilter_EqualFilter(); $filter->setFieldName(OrgFilterFields::PARENT_ID); $filter->setValue($org->id); $filterList->addFilter($filter); $childrenOrgs = array_merge($childrenOrgs, findOrgsAndSendEvent($org::CHILDREN_ORG_TYPE, array('filterList' => $filterList), $sortFunction)); } return $childrenOrgs; }
public function __construct($params = array()) { $this->_listFilter = isset($params['filterList']) ? $params['filterList'] : new \App_ListFilter(); $this->_page = isset($params['paging']['page']) ? $params['paging']['page'] : 1; $this->_count = isset($params['paging']['count']) ? $params['paging']['count'] : 0; if ($this->_count > 300) { set_time_limit(0); } if (isset($params['totalCount'])) { $this->_totalCount = $params['totalCount']; } if ($this->_listFilter instanceof \App_ListFilter && is_null($this->_totalCount) && $this->_listFilter->getOldCount() !== null) { $this->_totalCount = $this->_listFilter->getOldCount(); } }
public function testFindAllByProviderSortingRaise202Exception() { $filters = array('organizationId' => self::PROVIDER_ENABLER_ORG_ID); $filterList = new App_ListFilter(); $filterList->setSortingField(SimSortingFields::MSISDN); $filterList->setSortType(App_ListFilter::SORT_TYPE_ASC); $filters['filterList'] = $filterList; try { $sims = $this->simMapper->findAll($filters); $sims->getCount(); $this->assertTrue(false, "Must raise exception"); } catch (Exception $ex) { $this->assertInstanceOf('\\Application\\Model\\Mapper\\Exception\\EricssonException', $ex); $this->assertEquals(202, $ex->getCode()); } }
/** * Route shutdown hook -- Check for router exceptions * * @param Zend_Controller_Request_Abstract $request */ public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) { $auth = Zend_Auth::getInstance(); $orgService = \Application\Service\OrgService::getInstance(); $identity = $auth->getIdentity(); //Bypass other auth methods if ($identity['authType'] != App_Controller_Plugin_Auth::AUTH_TYPE_AUTH_TOKEN) { return; } $front = Zend_Controller_Front::getInstance(); $bs = $front->getParam('bootstrap'); // Fetch logs and apply the token to them $multilog = $bs->getPluginResource('multiplelog'); if (empty($identity['impersonation']) || empty($identity['impersonation']['orgId'])) { return; } $orgId = $identity['impersonation']['orgId']; $userSrv = UserService::getInstance(); \App::log()->info($identity['username'] . " is running as " . $orgId . " admin"); $user = $userSrv->loadByUsername($identity['username']); $userSrv->generateImpersonatedUser($user, $identity['impersonation']); foreach ($multilog->getLogs() as $log) { $log->setEventItem('impersonated', "as {$orgId} admin"); $log->setEventItem('impersonatedOrgId', "{$orgId}"); $log->setEventItem('username', $identity['username'] . " as {$orgId} admin"); } // Application\Model\Mapper\ProtoAbstractMapper::$accountingUserId .= "_impersonated"; Application\Model\Mapper\ProtoAbstractMapper::$organizationId = $orgId; App_ListFilter::addDefaultExtraData('impersonated_org', $orgId); $org = OrgService::getInstance()->load($orgId); \App::getOrgUserLogged($org); }
public function testSortDesc() { $this->filterList->setSortingField('fieldName1'); $this->filterList->setSortType(\App_ListFilter::SORT_TYPE_DESC); $result = $this->filterMapper->mapSortingField($this->filterList); $this->assertTrue(is_array($result), "Result is array"); $this->assertArrayHasKey('fieldName1', $result); $this->assertEquals($result['fieldName1'], -1); }
public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) { $auth = Zend_Auth::getInstance(); $identity = $auth->getIdentity(); $byPassMethods = array(App_Controller_Plugin_Auth::AUTH_TYPE_LOST_PASSWORD, App_Controller_Plugin_Auth::AUTH_TYPE_ASYNC, App_Controller_Plugin_Auth::AUTH_TYPE_EXTERNAL, App_Controller_Plugin_Auth::AUTH_TYPE_THIRD_PARTY); //Bypass some auth methods if ($identity['authType'] && in_array($identity['authType'], $byPassMethods)) { return; } $user = App::getUserLogged(); $org = App::getOrgUserLogged(); App_ListFilter::addDefaultExtraData('user', $user->getUserName()); }
public static function generateToken($userName, $orgId, $language = 'en') { // Get tracking token $tracking = self::_getResource("trackingtoken"); if (!$tracking) { return; } // Fetch logs and apply the token to them $multilog = self::_getResource('multiplelog'); foreach ($multilog->getLogs() as $log) { $log->setEventItem('token', $tracking->getToken()); } //TODO Why is it here??? // Refactor: move it to helper Application\Model\Mapper\ProtoAbstractMapper::$accountingTransactionPrefix = $tracking->getToken() . '-'; Application\Model\Mapper\ProtoAbstractMapper::$accountingUserId = $userName; Application\Model\Mapper\ProtoAbstractMapper::$language = $language; Application\Model\Mapper\AbstractMapper::$organizationId = $orgId; App_ListFilter::addDefaultExtraData('user', $userName); }
protected function _findGroupEricsson(\App_ListFilter $filterList, $data, $paging) { $group = $filterList->getGroup(); $filterList->setGroup(null); if (!isset($data['maxFirstPages'])) { $data['maxFirstPages'] = 0; } $data['filterList'] = $filterList; $groupsData = $this->_findAllEricsson($data); foreach ($groupsData as $groupData) { if (isset($groupData['label']) && $groupData['label'] == $group) { $gFilterList = clone $filterList; $gFilterList->setGroup($group); $result = $this->_fetchPageEricsson($gFilterList, $paging); if ($result) { return $result; } } } return array('items' => array(), 'count' => 0); }
/** * Creates a sorting array from filter list * @param \App_ListFilter $filterList * @return array. */ public function mapSortingField(\App_ListFilter $filterList) { if ($filterList->getSortingField() === null) { return; } $sorting = array($this->_mapSortingFieldName($filterList) => $filterList->getSortType() === \App_ListFilter::SORT_TYPE_ASC ? 1 : -1); return $sorting; }
/** * Maps FilterList Highlighting to message const * @param \App_ListFilter $filterList * @return integer | null */ public function mapHighlightingToMessage(\App_ListFilter $filterList) { return $this->_mapGroupingToMessage($filterList->getHighlighting()); }
public function _initListFilterCache() { $cache = $this->getResource('cachemanager')->getCache('memcached'); App_ListFilter::setDefaultCache($cache); }
public function findLocations(\App_ListFilter $filterList, $numRows = 1000) { $methodName = 'locationList'; /** * @var $proto \Application\Proto\Inventory\LocationListQuery */ $proto = $this->_createProto($methodName); if (!$filterList->getCursor()) { $this->_findAllEricsson(array('filterList' => $filterList)); $filterList->reset(); if (!$filterList->getCursor()) { throw new InvalidArgumentException('Listing sims locations: Invalid query.'); } } $proto->setHandler($filterList->getCursor()); $proto->setMaxNumRows($numRows); /** * @var $response \Application\Proto\Inventory\LocationListQuery\Response */ $response = $this->_sendRequest($methodName, array('protoMessage' => $proto)); $this->_checkGetResponse($response, true); $result = new Model\ListResultModel(); $result->setCount(0); $responseLocationList = $response->getResponse(); if ($responseLocationList) { $items = $responseLocationList->getRows(); $its = array(); foreach ($items as $id => $data) { $data = $data->serialize(new Codec\PhpArray()); $data = $this->_mapEricssonModelToModel($data); $its[$id] = new SimModel($data); } $result->setItems($its); if ($responseLocationList->getNumRows() !== null) { $result->setCount($responseLocationList->getNumRows()); } } return $result; }
/** * Builds a filter list based on params. * * @param array $params * @return App_ListFilter */ public function factory(array $params, $filterId, $filterType = null, array $validators = array()) { $filterList = $this->constructFilter($params); $filterList->setValidators($validators); if (!$filterList->isValid()) { $filterList = new \App_ListFilter(); } $filterList->setResourceId($filterId); if (!empty($filterType)) { $filterList->addExtraData('filterType', $filterType); } \App::log()->debug('Unused filters [' . implode(',', $this->getUnusedList()) . ']'); return $filterList; }
protected function _mapLifeCycleHistoryFilterValue(\App_ListFilter_Interface $filter, \App_ListFilter $filterList) { $result = array(); foreach ($filterList->getFilters() as $filter) { switch ($filter->getFieldName()) { case SimFilterFields::LIFE_CYCLE_HISTORY_START_STATE: $result['start_state'] = \Application\Model\Mapper\LifeCycleMapper::getInstance()->mapLifeCycleStatusToEricsson($filter->getValue()); break; case SimFilterFields::LIFE_CYCLE_HISTORY_END_STATE: $result['end_state'] = \Application\Model\Mapper\LifeCycleMapper::getInstance()->mapLifeCycleStatusToEricsson($filter->getValue()); break; case SimFilterFields::LIFE_CYCLE_HISTORY_INTERVAL: if ($filter instanceof \App_ListFilter_BetweenFilter) { if (!$filter->getMin() && !$filter->getMax()) { $result['interval'] = array(); } else { $result['interval'] = array('start_date' => $filter->getMin(), 'end_date' => $filter->getMax()); } } elseif ($filter instanceof \App_ListFilter_GreaterThanFilter) { $result['interval'] = array('start_date' => $filter->getValue()); } elseif ($filter instanceof \App_ListFilter_LessThanFilter) { $result['interval'] = array('end_date' => $filter->getValue()); } break; } } return $result; }
/** * Set a default cache * @param Zend_Cache_Core $cache */ public static function setDefaultCache(Zend_Cache_Core $cache) { self::$_defaultCache = $cache; return; }
/** * Obtain the history of the Sim life cycle * * @param \Application\Model\SimModel $sim * @param \App_ListFilter $filterList * @return array */ public function historyLifeCycle(SimModel $sim, \App_ListFilter $filterList) { $from = $filterList->getOneFilterValueByFieldName(StatusHistoryFilterFields::START_DATE); $until = $filterList->getOneFilterValueByFieldName(StatusHistoryFilterFields::END_DATE); if (NULL !== $from) { $date = new \DateTime($from, new \DateTimeZone('GMT')); $from = $date->format('Y-m-d'); } if (NULL !== $until) { $date = new \DateTime($until, new \DateTimeZone('GMT')); $until = $date->format('Y-m-d'); } $data = $this->getMapper()->getLifeCycleHistory($sim, $from, $until); return $data; }
protected function _mapFilterListPaging(\App_ListFilter $filterList, $paging) { $params = array(); foreach ($filterList->getFilters() as $filter) { $params[$filter->getFieldName()] = $this->mapFilter($filter); } if (isset($paging['count'])) { $params['_count'] = $paging['count']; } if (isset($paging['page'])) { $params['_page'] = $paging['page']; } return $params; }
public function buildFilterList(array $params, $throwEx = false) { $factory = new \App_ListFilter_FilterFactory(); $factory->setWhiteList(CommercialGroupFilterFields::getWhiteList()); $filterList = $factory->constructFilter($params); $filterList->setThrowExceptionOnValidationFail($throwEx); $filterList->setValidators(CommercialGroupFilterFields::getValidatorSpec()); if (!$filterList->isValid()) { $filterList = new \App_ListFilter(); } $filterList->setResourceId(CommercialGroupFilterFields::getResourceId()); $filterList->addExtraData('filterType', 'commercialGroup'); \App::log()->debug('Unused filters [' . implode(',', $factory->getUnusedList()) . ']'); return $filterList; }
/** * Fetch page from Ericsson * * @param \App_ListFilter $filterList * @param Paging $paging * @return array Like array('items' => arrayOfItems) */ public function _fetchPageEricsson(\App_ListFilter $filterList, Paging $paging) { $id = $this->_getFetchPageCacheId($filterList->getCursor(), $paging->getPageSize(), $paging->getNpage()); if ($data = $this->getCache()->load($id)) { return $data; } $rows = $this->_fecthPageEricssonProto($filterList, $paging); if ($rows) { \App::log()->debug("[ListFromCursor] Fetched page from cursor."); $filterList->touchCursor(); return $this->_processList($rows, $filterList->getOldCount(), $filterList, $paging); } return false; }
public function testScopeCleanOk() { $listFilter = new App_ListFilter(); $listFilter->addToScope('scopeVar1', 'scopeValue1'); $listFilter->addToScope('scopeVar2', 'scopeValue2'); $listFilter->addToScope('scopeVar3', 'scopeValue3'); $listFilter->addToScope('scopeVar4', 'scopeValue4'); $listFilter->addToScope('scopeVar5', 'scopeValue5'); $this->assertEquals('scopeValue1', $listFilter->getFromScope('scopeVar1')); $this->assertEquals('scopeValue2', $listFilter->getFromScope('scopeVar2')); $this->assertEquals('scopeValue3', $listFilter->getFromScope('scopeVar3')); $this->assertEquals('scopeValue4', $listFilter->getFromScope('scopeVar4')); $this->assertEquals('scopeValue5', $listFilter->getFromScope('scopeVar5')); $listFilter->clearScope(); $this->assertNull($listFilter->getFromScope('scopeVar1')); $this->assertNull($listFilter->getFromScope('scopeVar2')); $this->assertNull($listFilter->getFromScope('scopeVar3')); $this->assertNull($listFilter->getFromScope('scopeVar4')); $this->assertNull($listFilter->getFromScope('scopeVar5')); }
/** * Builds a filter list based on params. * @param array $params * @return App_ListFilter | null */ public function buildFilterList(array $params) { /** * Check if ICC parameter exists and if it's valid */ /* REMOVED according to GLOBALPORTAL-12528 (https://jira.tid.es/browse/GLOBALPORTAL-12528) if (!empty($params['icc'])) { if (!$this->luhn($params['icc'])) { throw new AppEx\InvalidArgumentException('Invalid search query'); } } */ /** * Check if IMSI parameter exists and if it's valid */ if (!empty($params['imsi'])) { $imsis = explode('<>', $params['imsi']); if (count($imsis) == 2) { /** * Is it a range of IMSIs? */ /* REMOVED according to GLOBALPORTAL-12528 (https://jira.tid.es/browse/GLOBALPORTAL-12528) if (preg_match('/^[0-9]{15}$/', trim($imsis[0])) && preg_match('/^[0-9]{15}$/', trim($imsis[1]))) { */ $params['imsi'] = $imsis[0] . '<>' . $imsis[1]; /* REMOVED according to GLOBALPORTAL-12528 (https://jira.tid.es/browse/GLOBALPORTAL-12528) } else { throw new AppEx\InvalidArgumentException('Invalid search query'); } */ } else { /* REMOVED according to GLOBALPORTAL-12528 (https://jira.tid.es/browse/GLOBALPORTAL-12528) if (!preg_match('/^[0-9]{15}$/', trim($params['imsi']))) { throw new AppEx\InvalidArgumentException('Invalid search query'); } */ } } $factory = new \App_ListFilter_FilterFactory(); $factory->setWhiteList(StockFilterFields::getWhiteList()); $factory->getSortingWhiteList(StockSortingFields::getWhiteList()); $filterList = $factory->constructFilter($params); if (!$filterList->isValid()) { $filterList = new \App_ListFilter(); } $filterList->setResourceId(StockFilterFields::getResourceId()); $filterList->addExtraData('filterType', 'stock'); \App::log()->debug('Unused filters [' . implode(',', $factory->getUnusedList()) . ']'); return $filterList; }
public function apply(App_ListFilter $filterlist) { return $this->_checkValue($filterlist->getGrouping(), $this->getComparedValue()); }