function it_prepares_an_author_value_with_context($userManager, ResultRecordInterface $record, User $user) { $record->getValue('author')->willReturn('julia'); $record->getValue('context')->willReturn('my context'); $userManager->findUserByUsername(Argument::any())->shouldBeCalled()->willReturn($user); $user->getFirstName()->willReturn('Julia'); $user->getLastName()->willReturn('Doe'); $user->getEmail()->willReturn('*****@*****.**'); $this->getValue($record)->shouldReturn('Julia Doe - julia@zaro.com (my context)'); }
/** * @param ResultRecordInterface $record * @return array */ public function getInvitationPermissions(ResultRecordInterface $record) { /** @var User $user */ $user = $this->securityFacade->getLoggedUser(); $invitationStatus = $record->getValue('invitationStatus'); $parentId = $record->getValue('parentId'); $ownerId = $record->getValue('ownerId'); $childrenCount = $record->getValue('childrenCount'); $isEditable = !$invitationStatus || $invitationStatus && !$parentId; return array('accept' => $this->isAvailableResponseButton($user, $parentId, $ownerId, $childrenCount, $invitationStatus, CalendarEvent::ACCEPTED), 'decline' => $this->isAvailableResponseButton($user, $parentId, $ownerId, $childrenCount, $invitationStatus, CalendarEvent::DECLINED), 'tentatively' => $this->isAvailableResponseButton($user, $parentId, $ownerId, $childrenCount, $invitationStatus, CalendarEvent::TENTATIVELY_ACCEPTED), 'view' => true, 'update' => $isEditable); }
/** * {@inheritdoc} */ public function getValue(ResultRecordInterface $record) { $entity = $record->getValue('entity'); $entityClass = ClassUtils::getRealClass($entity); if (empty($this->entitiesConfig[$entityClass])) { throw new InvalidConfigurationException(sprintf('Unknown entity type %s, unable to find search configuration', $entityClass)); } else { $searchTemplate = $this->entitiesConfig[$entityClass]['search_template']; } if (!$this->params->offsetGetOr('template', false)) { $this->params->offsetSet('template', $searchTemplate); } return $this->getTemplate()->render(array('indexer_item' => $record->getValue('indexer_item'), 'entity' => $record->getValue('entity'))); }
/** * @param ResultRecordInterface $record * @param array $actions * @return array */ public function getPermissions(ResultRecordInterface $record, array $actions) { $actions = array_keys($actions); $permissions = []; foreach ($actions as $action) { $permissions[$action] = true; } if (array_key_exists('default', $permissions)) { $permissions['default'] = !$record->getValue('default'); } if (array_key_exists('delete', $permissions)) { $permissions['delete'] = !$record->getValue('default'); } return $permissions; }
/** * {@inheritdoc} */ public function getRawValue(ResultRecordInterface $record) { $label = null; try { $label = $record->getValue($this->getOr(self::DATA_NAME_KEY, $this->get(self::NAME_KEY))); } catch (\LogicException $e) { } return $this->twig->loadTemplate(self::TEMPLATE)->render(['url' => parent::getRawValue($record), 'label' => $label]); }
/** * @param ResultRecordInterface $record * * @return array */ public function getAccountUserRolePermission(ResultRecordInterface $record) { $isGranted = true; $delete = true; if ($record->getValue('isRolePredefined')) { $isGranted = $this->securityFacade->isGranted('orob2b_account_frontend_account_user_role_create'); $delete = false; } return ['view' => true, 'update' => $isGranted, 'delete' => $delete]; }
/** * {@inheritdoc} */ protected function getRawValue(ResultRecordInterface $record) { try { $value = $record->getValue($this->getOr(self::DATA_NAME_KEY, $this->get(self::NAME_KEY))); } catch (\LogicException $e) { // default value $value = null; } return $value; }
/** * {@inheritdoc} */ public function getValue(ResultRecordInterface $record) { $entity = $record->getValue('entity'); $entityClass = ClassUtils::getRealClass($entity); if ($this->mappingProvider->isClassSupported($entityClass)) { return parent::getValue($record); } else { $this->params[self::TEMPLATE_KEY] = $this->defaultTemplate; return $this->getTemplate()->render(['entityType' => $this->entityConfigProvider->getConfig($entityClass)->get('label'), 'entity' => $entity, 'indexer_item' => $record->getValue('indexer_item')]); } }
/** * Get route parameters from record * * @param ResultRecordInterface $record * * @return array */ protected function getParameters(ResultRecordInterface $record) { $result = []; foreach ($this->getOr(self::PARAMS_KEY, []) as $name => $dataKey) { if (is_numeric($name)) { $name = $dataKey; } $result[$name] = $record->getValue($dataKey); } return $result; }
/** * @param ResultRecordInterface $record * @param array $actions * * @return array */ public function getMarketingListItemPermissions(ResultRecordInterface $record, array $actions) { $actions = array_keys($actions); $permissions = array(); foreach ($actions as $action) { $permissions[$action] = true; } $isSubscribed = (bool) $record->getValue('subscribed'); $permissions['subscribe'] = !$isSubscribed; $permissions['unsubscribe'] = $isSubscribed; return $permissions; }
/** * {@inheritdoc} */ protected function getRawValue(ResultRecordInterface $record) { try { $value = $record->getValue($this->getOr(self::DATA_NAME_KEY) ?: $this->get(self::NAME_KEY)); if ($this->getOr(self::FRONTEND_TYPE_KEY) === self::TYPE_MULTI_SELECT) { $value = explode(',', $value); } } catch (\LogicException $e) { // default value $value = null; } return $value; }
/** * @param ResultRecordInterface $record * @param array $config * @return array */ public function getActions(ResultRecordInterface $record, array $config) { $actions = []; foreach ($config as $action => $options) { $isGranted = true; if (isset($options['acl_permission']) && isset($options['acl_class'])) { $object = $this->findObject($options['acl_class'], $record->getValue('id')); $isGranted = $this->securityFacade->isGranted($options['acl_permission'], $object); } $actions[$action] = $isGranted; } return $actions; }
/** * {@inheritdoc} */ public function getRawValue(ResultRecordInterface $record) { $context = array_merge($this->getOr(self::CONTEXT_KEY, []), ['record' => $record, 'value' => $record->getValue($this->getOr(self::DATA_NAME_KEY, $this->get(self::NAME_KEY)))]); return $this->getTemplate()->render($context); }
/** * Disables delete action for system attributes * * @param ResultRecordInterface $record * @return array */ public static function getActionConfiguration(ResultRecordInterface $record) { $isSystem = $record->getValue('system'); return ['delete' => empty($isSystem)]; }
/** * @param ResultRecordInterface $record * * @return mixed */ protected function getRawValue(ResultRecordInterface $record) { return $this->translator->trans($this->manager->getLabelByType($record->getValue('formType'))); }
/** * @param ResultRecordInterface $record * * @return array */ public function getUserPermissions(ResultRecordInterface $record) { $enabled = $record->getValue('enabled'); return ['enable' => !$enabled, 'disable' => $enabled, 'view' => true, 'update' => true, 'delete' => true]; }
/** * @param ResultRecordInterface $record * * @return array */ public function getRequestStatusDefinitionPermissions(ResultRecordInterface $record) { $isDeleted = $record->getValue('deleted'); $isDefaultRequestStatus = $this->configManager->get('oro_b2b_rfp.default_request_status') === $record->getValue('name'); return ['restore' => $isDeleted, 'delete' => !$isDeleted && !$isDefaultRequestStatus, 'view' => true, 'update' => true]; }
/** * @param ResultRecordInterface $record * @param bool $checkExtension * * @return bool */ protected function isChannelApplicable(ResultRecordInterface $record, $checkExtension = true) { $channelId = $record->getValue(self::CHANNEL_KEY); return $this->channelSettingsProvider->isChannelApplicable($channelId, $checkExtension); }
/** * @param ResultRecordInterface $record * @return array */ public function getProcessDefinitionPermissions(ResultRecordInterface $record) { $isEnabled = $record->getValue('enabled'); return array('activate' => !$isEnabled, 'deactivate' => $isEnabled, 'view' => true); }