public function resetPasswordForUser(UserInterface $user) { $password = Helper::generateRandomPassword(); $user->setPassword($password); $this->manager->updateResource($user); $this->mailerHelper->sendEmail(['recipient' => $user->getEmail(), 'subject' => 'user.email.title.reset_password', 'template' => 'WellCommerceAdminBundle:Admin/Email:reset_password.html.twig', 'parameters' => ['user' => $user, 'password' => $password], 'configuration' => $this->shopStorage->getCurrentShop()->getMailerConfiguration()]); }
private function findLayoutBox($identifier) : LayoutBoxInterface { $layoutBox = $this->manager->getRepository()->findOneBy(['identifier' => $identifier]); if (!$layoutBox instanceof LayoutBoxInterface) { throw new LayoutBoxNotFoundException($identifier); } return $layoutBox; }
private function getProductDistinction(ProductInterface $product, ProductStatusInterface $status) : ProductDistinctionInterface { $distinction = $this->manager->getRepository()->findOneBy(['product' => $product, 'status' => $status]); if (!$distinction instanceof ProductDistinctionInterface) { /** @var ProductDistinctionInterface $distinction */ $distinction = $this->manager->initResource(); $distinction->setProduct($product); $distinction->setStatus($status); } return $distinction; }
/** * Returns the resource by its identifier or throws an exception if it was not found * * @param integer $identifier * * @return object * @throws ResourceNotFoundException */ protected function getResourceById($identifier) { $resource = $this->manager->getRepository()->find($identifier); if (null === $resource) { throw new ResourceNotFoundException($this->getResourceType(), $identifier); } return $resource; }
private function getResourceById(int $identifier) : EntityInterface { $resource = $this->manager->getRepository()->find($identifier); if (null === $resource) { throw new ResourceNotFoundException($this->getResourceType(), $identifier); } return $resource; }
public function upload(UploadedFile $file, $dir) : MediaInterface { if (!$file->isValid()) { throw new InvalidMediaException('Passed file object is not valid'); } /** @var MediaInterface $media */ $media = $this->manager->initResource(); $media->setName($file->getClientOriginalName()); $media->setExtension($file->guessClientExtension()); $media->setMime($file->getClientMimeType()); $media->setSize($file->getClientSize()); $errors = $this->validatorHelper->validate($media); if (0 !== count($errors)) { throw new InvalidMediaException($errors); } $this->manager->createResource($media); $file->move($this->getUploadDir($dir), $media->getPath()); return $media; }
public function generate(string $name, $id, string $locale, $values, int $iteration = 0) : string { $slug = Sluggable::makeSlug($name); $existsInValues = in_array($slug, (array) $values); // if slug is the same as other values, try to add locale part if ($existsInValues) { $slug = sprintf('%s-%s', $slug, $locale); } $route = $this->manager->getRepository()->findOneBy(['path' => $slug]); if (null !== $route) { // if passed identifier and locale are same as in route, assume we can change the slug directly if ($this->hasRouteSameLocaleAndId($route, $locale, $id)) { return $slug; } else { $iteration++; $slug = $this->makeSlugIterated($slug, $iteration); return $this->generate($slug, $id, $locale, $values, $iteration); } } return $slug; }
/** * Automatic register process * * @param FacebookUser $facebookUser * * @return ClientInterface */ protected function autoRegisterClient(FacebookUser $facebookUser) { $firstName = $facebookUser->getFirstName(); $lastName = $facebookUser->getLastName(); $email = $facebookUser->getEmail(); /** @var $client ClientInterface */ $client = $this->clientManager->initResource(); $client->getClientDetails()->setUsername($email); $client->getClientDetails()->setPassword(Helper::generateRandomPassword()); $client->getContactDetails()->setEmail($email); $client->getContactDetails()->setFirstName($firstName); $client->getContactDetails()->setLastName($lastName); $client->getContactDetails()->setPhone(' '); $client->getContactDetails()->setSecondaryPhone(' '); $this->clientManager->createResource($client); return $client; }
private function findLocale(string $code) : LocaleInterface { return $this->localeManager->getRepository()->findOneBy(['code' => $code]); }