mirror of
https://github.com/Sylius/Sylius.git
synced 2026-07-14 09:02:12 +00:00
Initial commit
This commit is contained in:
commit
c01edec86b
23 changed files with 1153 additions and 0 deletions
7
src/Sylius/Bundle/ResourceBundle/.gitignore
vendored
Normal file
7
src/Sylius/Bundle/ResourceBundle/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
phpunit.xml
|
||||||
|
Tests/autoload.php
|
||||||
|
|
||||||
|
vendor/
|
||||||
|
|
||||||
|
composer.phar
|
||||||
|
composer.lock
|
||||||
10
src/Sylius/Bundle/ResourceBundle/.travis.yml
Normal file
10
src/Sylius/Bundle/ResourceBundle/.travis.yml
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
language: php
|
||||||
|
|
||||||
|
php:
|
||||||
|
- 5.3
|
||||||
|
- 5.4
|
||||||
|
|
||||||
|
before_script: composer install --dev
|
||||||
|
|
||||||
|
notifications:
|
||||||
|
email: travis-ci@sylius.org
|
||||||
|
|
@ -0,0 +1,390 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Sylius package.
|
||||||
|
*
|
||||||
|
* (c) Paweł Jędrzejewski
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Sylius\Bundle\ResourceBundle\Controller;
|
||||||
|
|
||||||
|
use FOS\RestBundle\Util\Pluralization;
|
||||||
|
use FOS\RestBundle\View\RouteRedirectView;
|
||||||
|
use FOS\RestBundle\View\View;
|
||||||
|
use Sylius\Bundle\ResourceBundle\Model\ResourceInterface;
|
||||||
|
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||||
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Base resource controller for Sylius.
|
||||||
|
*
|
||||||
|
* @author Paweł Jędrzejewski <pjedrzejewski@sylius.pl>
|
||||||
|
*/
|
||||||
|
abstract class ResourceController extends Controller implements ResourceControllerInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get one resource.
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
*
|
||||||
|
* @return Response
|
||||||
|
*/
|
||||||
|
public function getAction(Request $request)
|
||||||
|
{
|
||||||
|
$identifier = $this->getIdentifierValue($request);
|
||||||
|
$resource = $this->findResourceOr404($identifier);
|
||||||
|
|
||||||
|
$view = View::create()
|
||||||
|
->setTemplate($this->getFullTemplateName('show'))
|
||||||
|
->setTemplateVar($this->getResourceName())
|
||||||
|
->setData($resource)
|
||||||
|
;
|
||||||
|
|
||||||
|
return $this->handleView($view);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all paginated resourcees.
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
*
|
||||||
|
* @return Response
|
||||||
|
*/
|
||||||
|
public function getCollectionAction(Request $request)
|
||||||
|
{
|
||||||
|
$paginator = $this->getManager()->createPaginator();
|
||||||
|
$paginator->setCurrentPage($request->query->get('page', 1), true, true);
|
||||||
|
|
||||||
|
$resources = $paginator->getCurrentPageResults();
|
||||||
|
|
||||||
|
$data = $this->isHtmlRequest() ? array(Pluralization::pluralize($this->getResourceName()) => $resources, 'paginator' => $paginator) : $resourcees;
|
||||||
|
|
||||||
|
$view = View::create()
|
||||||
|
->setTemplate($this->getFullTemplateName('list'))
|
||||||
|
->setData($data)
|
||||||
|
;
|
||||||
|
|
||||||
|
return $this->handleView($view);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display form for creating new resource.
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
*
|
||||||
|
* @return Response
|
||||||
|
*/
|
||||||
|
public function newAction(Request $request)
|
||||||
|
{
|
||||||
|
$resource = $this->createResource();
|
||||||
|
$form = $this->createResourceForm($resource);
|
||||||
|
|
||||||
|
return $this->renderResponse('create', array(
|
||||||
|
$this->getResourceName() => $resource,
|
||||||
|
'form' => $form->createView()
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create resource.
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
*
|
||||||
|
* @return Response
|
||||||
|
*/
|
||||||
|
public function postAction(Request $request)
|
||||||
|
{
|
||||||
|
$resource = $this->createResource();
|
||||||
|
$form = $this->createResourceForm($resource);
|
||||||
|
|
||||||
|
$form->bind($request);
|
||||||
|
|
||||||
|
if ($form->isValid()) {
|
||||||
|
$this->getManipulator()->create($resource);
|
||||||
|
$this->setFlash('success', sprintf("%s has been created", ucfirst($this->getResourceName())));
|
||||||
|
|
||||||
|
return $this->redirectToResource($resource);
|
||||||
|
}
|
||||||
|
|
||||||
|
$htmlView = View::create()
|
||||||
|
->setTemplate($this->getFullTemplateName('create.html'))
|
||||||
|
->setData(array(
|
||||||
|
$this->getResourceName() => $resource,
|
||||||
|
'form' => $form->createView()
|
||||||
|
))
|
||||||
|
;
|
||||||
|
|
||||||
|
$view = $this->isHtmlRequest() ? $htmlView : View::create($form);
|
||||||
|
|
||||||
|
return $this->handleView($view);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display form for editing resource.
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
*
|
||||||
|
* @return Response
|
||||||
|
*/
|
||||||
|
public function editAction(Request $request)
|
||||||
|
{
|
||||||
|
$resource = $this->findResourceOr404($request->get('id'));
|
||||||
|
$form = $this->createResourceForm($resource);
|
||||||
|
|
||||||
|
return $this->renderResponse('update', array(
|
||||||
|
$this->getResourceName() => $resource,
|
||||||
|
'form' => $form->createView()
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update resource.
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
*
|
||||||
|
* @return Response
|
||||||
|
*/
|
||||||
|
public function putAction(Request $request)
|
||||||
|
{
|
||||||
|
$resource = $this->findResourceOr404($request->get('id'));
|
||||||
|
$form = $this->createResourceForm($resource);
|
||||||
|
|
||||||
|
$form->bind($request);
|
||||||
|
|
||||||
|
if ($form->isValid()) {
|
||||||
|
$this->getManager()->persist($resource);
|
||||||
|
$this->setFlash('success', sprintf("%s has been updated", ucfirst($this->getResourceName())));
|
||||||
|
|
||||||
|
return $this->redirectToResource($resource);
|
||||||
|
}
|
||||||
|
|
||||||
|
$htmlView = View::create()
|
||||||
|
->setTemplate($this->getFullTemplateName('update.html'))
|
||||||
|
->setData(array(
|
||||||
|
$this->getResourceName() => $resource,
|
||||||
|
'form' => $form->createView()
|
||||||
|
))
|
||||||
|
;
|
||||||
|
|
||||||
|
$view = $this->isHtmlRequest() ? $htmlView : View::create($form);
|
||||||
|
|
||||||
|
return $this->handleView($view);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deletes resource.
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
*
|
||||||
|
* @return Response
|
||||||
|
*/
|
||||||
|
public function deleteAction(Request $request)
|
||||||
|
{
|
||||||
|
$resource = $this->findResourceOr404($request->get('id'));
|
||||||
|
|
||||||
|
$this->getManager()->remove($resource);
|
||||||
|
$this->setFlash('success', sprintf("%s has been deleted", ucfirst($this->getResourceName())));
|
||||||
|
|
||||||
|
return $this->redirectToResourceCollection();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setFlash($name, $value)
|
||||||
|
{
|
||||||
|
if ($this->isHtmlRequest()) {
|
||||||
|
parent::setFlash($name, $value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create new resource instance.
|
||||||
|
*/
|
||||||
|
protected function createResource()
|
||||||
|
{
|
||||||
|
return $this->getManager()->create();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create resource form.
|
||||||
|
*
|
||||||
|
* @param ResourceInterface $resource
|
||||||
|
*
|
||||||
|
* @return FormInterface
|
||||||
|
*/
|
||||||
|
protected function createResourceForm(ResourceInterface $resource = null)
|
||||||
|
{
|
||||||
|
return $this->createNamedForm('', $this->getResourceFormType(), $resource, array(
|
||||||
|
'csrf_protection' => false
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Redirect to resource resource.
|
||||||
|
*
|
||||||
|
* @param ResourceInterface $resource
|
||||||
|
*
|
||||||
|
* @return RouteRedirectView
|
||||||
|
*/
|
||||||
|
protected function redirectToResource(ResourceInterface $resource)
|
||||||
|
{
|
||||||
|
$redirect = $this->getRequest()->attributes->get('_sylius.redirect');
|
||||||
|
$route = $redirect ? $redirect : $this->getResourceRoute();
|
||||||
|
|
||||||
|
return RouteRedirectView::create($route, array('id' => $resource->getId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Redirect to list of resourcees.
|
||||||
|
*
|
||||||
|
* @return RouteRedirectView
|
||||||
|
*/
|
||||||
|
protected function redirectToResourceCollection()
|
||||||
|
{
|
||||||
|
$redirect = $this->getRequest()->attributes->get('_sylius.redirect');
|
||||||
|
$route = $redirect ? $redirect : $this->getResourceCollectionRoute();
|
||||||
|
|
||||||
|
return RouteRedirectView::create($route);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getResourceRoute()
|
||||||
|
{
|
||||||
|
throw new \BadMethodCallException('You have to implement this method');
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getResourceCollectionRoute()
|
||||||
|
{
|
||||||
|
throw new \BadMethodCallException('You have to implement this method');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get resource manager.
|
||||||
|
*
|
||||||
|
* @return ManagerInterface
|
||||||
|
*/
|
||||||
|
protected function getManager()
|
||||||
|
{
|
||||||
|
return $this->container->get($this->getServiceName('manager'));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getServiceName($name)
|
||||||
|
{
|
||||||
|
return sprintf('%s.%s.%s', $this->getBundlePrefix(), $name, $this->getResourceName());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tries to find resource with given id.
|
||||||
|
* Throws special 404 exception when unsuccessful.
|
||||||
|
*
|
||||||
|
* @param mixed $id The resource identifier
|
||||||
|
*
|
||||||
|
* @return ResourceInterface
|
||||||
|
*
|
||||||
|
* @throws NotFoundHttpException
|
||||||
|
*/
|
||||||
|
protected function findResourceOr404($identifier)
|
||||||
|
{
|
||||||
|
$criteria = array($this->getIdentifierName() => $this->getIdentifierValue());
|
||||||
|
|
||||||
|
if (!$resource = $this->getManager()->findOneBy($criteria)) {
|
||||||
|
throw new NotFoundHttpException('Requested resource does not exist');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $resource;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getIdentifierName()
|
||||||
|
{
|
||||||
|
return $this->getRequest()->attributes->get('_sylius.identifier', 'id');
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getIdentifierValue()
|
||||||
|
{
|
||||||
|
if (!$identifier = $this->getRequest()->attributes->get($this->getIdentifierName())) {
|
||||||
|
throw new NotFoundHttpException('No resource identifier supplied');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $identifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function renderResponse($templateName, array $parameters = array())
|
||||||
|
{
|
||||||
|
return $this->render($this->getFullTemplateName($templateName), $parameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get full template name.
|
||||||
|
*
|
||||||
|
* @param string
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
protected function getFullTemplateName($name)
|
||||||
|
{
|
||||||
|
$template = $this->getRequest()->attributes->get('_sylius.template');
|
||||||
|
|
||||||
|
if (null !== $template) {
|
||||||
|
return $template;
|
||||||
|
}
|
||||||
|
|
||||||
|
return sprintf('%s:%s.%s',
|
||||||
|
$this->getTemplateNamespace(),
|
||||||
|
$name,
|
||||||
|
$this->getEngine()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get engine.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
protected function getEngine()
|
||||||
|
{
|
||||||
|
return $this->container->getParameter(sprintf('%s.engine', $this->getBundlePrefix()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if request accepts html format.
|
||||||
|
*
|
||||||
|
* @return Boolean
|
||||||
|
*/
|
||||||
|
protected function isHtmlRequest()
|
||||||
|
{
|
||||||
|
return 'html' === $this->getRequest()->getRequestFormat();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert view to a response object.
|
||||||
|
*
|
||||||
|
* @param View $view
|
||||||
|
*
|
||||||
|
* @return Response
|
||||||
|
*/
|
||||||
|
protected function handleView(View $view)
|
||||||
|
{
|
||||||
|
return $this->get('fos_rest.view_handler')->handle($view);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get name of the form type to use.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
protected function getResourceFormType()
|
||||||
|
{
|
||||||
|
return sprintf('%s_%s', $this->getBundlePrefix(), $this->getResourceName());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get templates namespace.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
abstract protected function getTemplateNamespace();
|
||||||
|
abstract protected function getBundlePrefix();
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Sylius package.
|
||||||
|
*
|
||||||
|
* (c) Paweł Jędrzejewski
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Sylius\Bundle\ResourceBundle\Controller;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resource controlller interface.
|
||||||
|
*
|
||||||
|
* @author Paweł Jędrzejewski <pjedrzejewski@diweb.pl>
|
||||||
|
*/
|
||||||
|
interface ResourceControllerInterface
|
||||||
|
{
|
||||||
|
function getAction(Request $request);
|
||||||
|
function getCollectionAction(Request $request);
|
||||||
|
function newAction(Request $request);
|
||||||
|
function postAction(Request $request);
|
||||||
|
function editAction(Request $request);
|
||||||
|
function putAction(Request $request);
|
||||||
|
function deleteAction(Request $request);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Sylius package.
|
||||||
|
*
|
||||||
|
* (c) Paweł Jędrzejewski
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Sylius\Bundle\ResourceBundle\DependencyInjection;
|
||||||
|
|
||||||
|
use Symfony\Component\Config\FileLocator;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
|
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
|
||||||
|
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resource system extension.
|
||||||
|
*
|
||||||
|
* @author Paweł Jędrzejewski <pjedrzejewski@sylius.pl>
|
||||||
|
*/
|
||||||
|
class SyliusResourceExtension extends Extension
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function load(array $config, ContainerBuilder $container)
|
||||||
|
{
|
||||||
|
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config/container'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Sylius package.
|
||||||
|
*
|
||||||
|
* (c) Paweł Jędrzejewski
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Sylius\Bundle\ResourceBundle\Manager\Doctrine;
|
||||||
|
|
||||||
|
use Doctrine\Common\Persistence\ObjectManager;
|
||||||
|
use Sylius\Bundle\ResourceBundle\Manager\ResourceManager;
|
||||||
|
use Sylius\Bundle\ResourceBundle\ResourceInterface;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Doctrine resource manager class.
|
||||||
|
*
|
||||||
|
* @author Paweł Jędrzejewski <pjedrzejewski@diweb.pl>
|
||||||
|
*/
|
||||||
|
class DoctrineResourceManager extends ResourceManager implements DoctrineResourceManagerInterface
|
||||||
|
{
|
||||||
|
protected $objectManager;
|
||||||
|
protected $objectRepository;
|
||||||
|
|
||||||
|
public function __construct(ObjectManager $objectManager, $class)
|
||||||
|
{
|
||||||
|
$this->objectManager = $objectManager;
|
||||||
|
$this->objectRepository = $objectManager->getRepository($class);
|
||||||
|
|
||||||
|
parent::__construct($class);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function persist(ResourceInterface $resource, $commit = true)
|
||||||
|
{
|
||||||
|
$this->objectManager->persist($resource);
|
||||||
|
|
||||||
|
if ($commit) {
|
||||||
|
$this->objectManager->flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function remove(ResourceInterface $resource, $commit = true)
|
||||||
|
{
|
||||||
|
$this->objectManager->remove($resource);
|
||||||
|
|
||||||
|
if ($commit) {
|
||||||
|
$this->objectManager->flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function find($id)
|
||||||
|
{
|
||||||
|
return $this->objectRepository->find($id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function findOneBy(array $criteria)
|
||||||
|
{
|
||||||
|
return $this->objectRepository->findOneBy($criteria);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function findAll()
|
||||||
|
{
|
||||||
|
return $this->objectRepository->findAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function findBy(array $criteria)
|
||||||
|
{
|
||||||
|
return $this->objectRepository->findBy($criteria);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getObjectManager()
|
||||||
|
{
|
||||||
|
return $this->objectManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getObjectRepository()
|
||||||
|
{
|
||||||
|
return $this->objectRepository;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Sylius package.
|
||||||
|
*
|
||||||
|
* (c) Paweł Jędrzejewski
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Sylius\Component\Resource\Manager\Doctrine;
|
||||||
|
|
||||||
|
use Sylius\Component\Resource\Manager\ResourceManagerInterface;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Doctrine resource manager interface.
|
||||||
|
*
|
||||||
|
* @author Paweł Jędrzejewski <pjedrzejewski@diweb.pl>
|
||||||
|
*/
|
||||||
|
interface DoctrineResourceManagerInterface extends ResourceManagerInterface
|
||||||
|
{
|
||||||
|
function getObjectManager();
|
||||||
|
function getObjectRepository();
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Sylius package.
|
||||||
|
*
|
||||||
|
* (c) Paweł Jędrzejewski
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Sylius\Component\Resource\Manager\Doctrine;
|
||||||
|
|
||||||
|
use Doctrine\ORM\EntityManager;
|
||||||
|
use Pagerfanta\Adapter\DoctrineORMAdapter;
|
||||||
|
use Pagerfanta\Pagerfanta;
|
||||||
|
use Sylius\Bundle\ResourceBundle\Manager\Doctrine\DoctrineResourceManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Doctrine ORM driver resource manager.
|
||||||
|
*
|
||||||
|
* @author Paweł Jędrzejewski <pjedrzejewski@diweb.pl>
|
||||||
|
*/
|
||||||
|
class ResourceManager extends DoctrineResourceManager
|
||||||
|
{
|
||||||
|
public function createPaginator()
|
||||||
|
{
|
||||||
|
return new Pagerfanta(new DoctrineORMAdapter($this->objectRepository->createQueryBuilder('r')));
|
||||||
|
}
|
||||||
|
}
|
||||||
39
src/Sylius/Bundle/ResourceBundle/Manager/ResourceManager.php
Normal file
39
src/Sylius/Bundle/ResourceBundle/Manager/ResourceManager.php
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Sylius package.
|
||||||
|
*
|
||||||
|
* (c) Paweł Jędrzejewski
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Sylius\Bundle\ResourceBundle\Manager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default resource manager class.
|
||||||
|
*
|
||||||
|
* @author Paweł Jędrzejewski <pjedrzejewski@diweb.pl>
|
||||||
|
*/
|
||||||
|
abstract class ResourceManager implements ResourceManagerInterface
|
||||||
|
{
|
||||||
|
protected $class;
|
||||||
|
|
||||||
|
public function __construct($class)
|
||||||
|
{
|
||||||
|
$this->class = $class;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
$class = $this->getClass();
|
||||||
|
|
||||||
|
return new $class;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getClass()
|
||||||
|
{
|
||||||
|
return $this->class;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,93 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Sylius package.
|
||||||
|
*
|
||||||
|
* (c) Paweł Jędrzejewski
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Sylius\Bundle\ResourceBundle\Manager;
|
||||||
|
|
||||||
|
use Sylius\Bundle\ResourceBundle\Model\ResourceInterface;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resource manager interface.
|
||||||
|
*
|
||||||
|
* @author Paweł Jędrzejewski <pjedrzejewski@diweb.pl>
|
||||||
|
*/
|
||||||
|
interface ResourceManagerInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Creates new resource object.
|
||||||
|
*
|
||||||
|
* @return ResourceInterface
|
||||||
|
*/
|
||||||
|
function create();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new Pagerfanta instance to paginate the resources.
|
||||||
|
*
|
||||||
|
* @return PagerfantaInterface
|
||||||
|
*/
|
||||||
|
function createPaginator();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Persist.
|
||||||
|
*
|
||||||
|
* @param ResourceInterface $resource
|
||||||
|
* @param Boolean $flush
|
||||||
|
*/
|
||||||
|
function persist(ResourceInterface $resource, $flush = true);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes resource.
|
||||||
|
*
|
||||||
|
* @param ResourceInterface $resource
|
||||||
|
* @param Boolean $flush
|
||||||
|
*/
|
||||||
|
function remove(ResourceInterface $resource, $flush = true);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Finds resource by id.
|
||||||
|
*
|
||||||
|
* @param mixed Identifier
|
||||||
|
*
|
||||||
|
* @return ResourceInterface
|
||||||
|
*/
|
||||||
|
function find($id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Finds resource by criteria.
|
||||||
|
*
|
||||||
|
* @param array $criteria
|
||||||
|
*
|
||||||
|
* @return ResourceInterface
|
||||||
|
*/
|
||||||
|
function findOneBy(array $criteria);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find all.
|
||||||
|
*
|
||||||
|
* @return Collection
|
||||||
|
*/
|
||||||
|
function findAll();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Finds resources by criteria.
|
||||||
|
*
|
||||||
|
* @param array $criteria
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
function findBy(array $criteria);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get resource class name.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function getClass();
|
||||||
|
}
|
||||||
27
src/Sylius/Bundle/ResourceBundle/Model/Resource.php
Normal file
27
src/Sylius/Bundle/ResourceBundle/Model/Resource.php
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Sylius package.
|
||||||
|
*
|
||||||
|
* (c) Paweł Jędrzejewski
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Sylius\Component\Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Base resource class.
|
||||||
|
*
|
||||||
|
* @author Paweł Jędrzejewski <pjedrzejewski@diweb.pl>
|
||||||
|
*/
|
||||||
|
abstract class Resource implements ResourceInterface
|
||||||
|
{
|
||||||
|
protected $id;
|
||||||
|
|
||||||
|
public function getId()
|
||||||
|
{
|
||||||
|
return $this->id;
|
||||||
|
}
|
||||||
|
}
|
||||||
27
src/Sylius/Bundle/ResourceBundle/Model/ResourceInterface.php
Normal file
27
src/Sylius/Bundle/ResourceBundle/Model/ResourceInterface.php
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Sylius package.
|
||||||
|
*
|
||||||
|
* (c) Paweł Jędrzejewski
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Sylius\Component\Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resource interface.
|
||||||
|
*
|
||||||
|
* @author Paweł Jędrzejewski <pjedrzejewski@diweb.pl>
|
||||||
|
*/
|
||||||
|
interface ResourceInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get resource identifier.
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
function getId();
|
||||||
|
}
|
||||||
97
src/Sylius/Bundle/ResourceBundle/README.md
Normal file
97
src/Sylius/Bundle/ResourceBundle/README.md
Normal file
|
|
@ -0,0 +1,97 @@
|
||||||
|
SyliusResourceBundle [](http://travis-ci.org/Sylius/SyliusResourceBundle)
|
||||||
|
======================
|
||||||
|
|
||||||
|
Sylius resource bundle.
|
||||||
|
|
||||||
|
Sylius
|
||||||
|
------
|
||||||
|
|
||||||
|
**Sylius** is simple but **end-user and developer friendly** webshop engine built on top of Symfony2.
|
||||||
|
|
||||||
|
Please visit [Sylius.org](http://sylius.org) for more details.
|
||||||
|
|
||||||
|
Testing and build status
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
This bundle uses [travis-ci.org](http://travis-ci.org/Sylius/SyliusResourceBundle) for CI.
|
||||||
|
[](http://travis-ci.org/Sylius/SyliusResourceBundle)
|
||||||
|
|
||||||
|
Before running tests, load the dependencies using [Composer](http://packagist.org).
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ wget http://getcomposer.org/composer.phar
|
||||||
|
$ php composer.phar install --dev
|
||||||
|
```
|
||||||
|
|
||||||
|
Now you can run the tests by simply using this command.
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ phpunit
|
||||||
|
```
|
||||||
|
|
||||||
|
Code examples
|
||||||
|
-------------
|
||||||
|
|
||||||
|
If you want to see working implementation, try out the [Sylius sandbox application](http://github.com/Sylius/Sylius-Sandbox).
|
||||||
|
It's open sourced github project.
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Documentation is available on [readthedocs.org](http://sylius.readthedocs.org/en/latest/bundles/SyliusSalesBundle.html).
|
||||||
|
|
||||||
|
Contributing
|
||||||
|
------------
|
||||||
|
|
||||||
|
All informations about contributing to Sylius can be found on [this page](http://sylius.readthedocs.org/en/latest/contributing/index.html).
|
||||||
|
|
||||||
|
Mailing lists
|
||||||
|
-------------
|
||||||
|
|
||||||
|
### Users
|
||||||
|
|
||||||
|
If you are using this bundle and have any questions, feel free to ask on users mailing list.
|
||||||
|
[Mail](mailto:sylius@googlegroups.com) or [view it](http://groups.google.com/group/sylius).
|
||||||
|
|
||||||
|
### Developers
|
||||||
|
|
||||||
|
If you want to contribute, and develop this bundle, use the developers mailing list.
|
||||||
|
[Mail](mailto:sylius-dev@googlegroups.com) or [view it](http://groups.google.com/group/sylius-dev).
|
||||||
|
|
||||||
|
Sylius twitter account
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
If you want to keep up with updates, [follow the official Sylius account on twitter](http://twitter.com/_Sylius)
|
||||||
|
or [follow me](http://twitter.com/pjedrzejewski).
|
||||||
|
|
||||||
|
Bug tracking
|
||||||
|
------------
|
||||||
|
|
||||||
|
This bundle uses [GitHub issues](https://github.com/Sylius/SyliusResourceBundle/issues).
|
||||||
|
If you have found bug, please create an issue.
|
||||||
|
|
||||||
|
Versioning
|
||||||
|
----------
|
||||||
|
|
||||||
|
Releases will be numbered with the format `major.minor.patch`.
|
||||||
|
|
||||||
|
And constructed with the following guidelines.
|
||||||
|
|
||||||
|
* Breaking backwards compatibility bumps the major.
|
||||||
|
* New additions without breaking backwards compatibility bumps the minor.
|
||||||
|
* Bug fixes and misc changes bump the patch.
|
||||||
|
|
||||||
|
For more information on SemVer, please visit [semver.org website](http://semver.org/).
|
||||||
|
|
||||||
|
This versioning method is same for all **Sylius** bundles and applications.
|
||||||
|
|
||||||
|
License
|
||||||
|
-------
|
||||||
|
|
||||||
|
License can be found [here](https://github.com/Sylius/SyliusResourceBundle/blob/master/Resources/meta/LICENSE).
|
||||||
|
|
||||||
|
Authors
|
||||||
|
-------
|
||||||
|
|
||||||
|
The bundle was originally created by [Paweł Jędrzejewski](http://pjedrzejewski.com).
|
||||||
|
See the list of [contributors](https://github.com/Sylius/SyliusResourceBundle/contributors).
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
This file is part of the Sylius package.
|
||||||
|
|
||||||
|
(c) Paweł Jędrzejewski
|
||||||
|
|
||||||
|
For the full copyright and license information, please view the LICENSE
|
||||||
|
file that was distributed with this source code.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<container xmlns="http://symfony.com/schema/dic/services"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://symfony.com/schema/dic/services
|
||||||
|
http://symfony.com/schema/dic/services/services-1.0.xsd"
|
||||||
|
>
|
||||||
|
|
||||||
|
<services>
|
||||||
|
<service id="sylius_addressing.controller.backend.address" class="%sylius_addressing.controller.backend.address.class%">
|
||||||
|
<call method="setContainer">
|
||||||
|
<argument type="service" id="service_container" />
|
||||||
|
</call>
|
||||||
|
</service>
|
||||||
|
</services>
|
||||||
|
|
||||||
|
</container>
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
This file is part of the Sylius package.
|
||||||
|
|
||||||
|
(c) Paweł Jędrzejewski
|
||||||
|
|
||||||
|
For the full copyright and license information, please view the LICENSE
|
||||||
|
file that was distributed with this source code.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<container xmlns="http://symfony.com/schema/dic/services"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://symfony.com/schema/dic/services
|
||||||
|
http://symfony.com/schema/dic/services/services-1.0.xsd"
|
||||||
|
>
|
||||||
|
|
||||||
|
<parameters>
|
||||||
|
<parameter key="sylius_addressing.manager.address.class">Sylius\Bundle\AddressingBundle\Entity\AddressManager</parameter>
|
||||||
|
<parameter key="sylius_addressing.sorter.address.class">Sylius\Bundle\AddressingBundle\Sorting\ORM\AddressSorter</parameter>
|
||||||
|
</parameters>
|
||||||
|
|
||||||
|
<services>
|
||||||
|
<!-- managers... -->
|
||||||
|
<service id="sylius_addressing.manager.address" class="%sylius_addressing.manager.address.class%">
|
||||||
|
<argument type="service" id="doctrine.orm.default_entity_manager" />
|
||||||
|
<argument>%sylius_addressing.model.address.class%</argument>
|
||||||
|
</service>
|
||||||
|
|
||||||
|
<!-- sorters... -->
|
||||||
|
<service id="sylius_addressing.sorter.address" class="%sylius_addressing.sorter.address.class%">
|
||||||
|
<call method="setContainer">
|
||||||
|
<argument type="service" id="service_container" />
|
||||||
|
</call>
|
||||||
|
</service>
|
||||||
|
|
||||||
|
</services>
|
||||||
|
|
||||||
|
</container>
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
This file is part of the Sylius package.
|
||||||
|
|
||||||
|
(c) Paweł Jędrzejewski
|
||||||
|
|
||||||
|
For the full copyright and license information, please view the LICENSE
|
||||||
|
file that was distributed with this source code.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<container xmlns="http://symfony.com/schema/dic/services"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://symfony.com/schema/dic/services
|
||||||
|
http://symfony.com/schema/dic/services/services-1.0.xsd"
|
||||||
|
>
|
||||||
|
|
||||||
|
<services>
|
||||||
|
|
||||||
|
<service id="sylius_addressing.form.type.address" class="%sylius_addressing.form.type.address.class%">
|
||||||
|
<argument>%sylius_addressing.model.address.class%</argument>
|
||||||
|
<tag name="form.type" alias="sylius_addressing_address" />
|
||||||
|
</service>
|
||||||
|
|
||||||
|
</services>
|
||||||
|
|
||||||
|
</container>
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
This file is part of the Sylius package.
|
||||||
|
|
||||||
|
(c) Paweł Jędrzejewski
|
||||||
|
|
||||||
|
For the full copyright and license information, please view the LICENSE
|
||||||
|
file that was distributed with this source code.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<container xmlns="http://symfony.com/schema/dic/services"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://symfony.com/schema/dic/services
|
||||||
|
http://symfony.com/schema/dic/services/services-1.0.xsd"
|
||||||
|
>
|
||||||
|
|
||||||
|
<services>
|
||||||
|
<service id="sylius_addressing.manipulator.address" class="%sylius_addressing.manipulator.address.class%">
|
||||||
|
<argument type="service" id="sylius_addressing.manager.address" />
|
||||||
|
</service>
|
||||||
|
</services>
|
||||||
|
|
||||||
|
</container>
|
||||||
19
src/Sylius/Bundle/ResourceBundle/Resources/meta/LICENSE
Normal file
19
src/Sylius/Bundle/ResourceBundle/Resources/meta/LICENSE
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
Copyright (c) 2011-2012 Paweł Jędrzejewski
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is furnished
|
||||||
|
to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
29
src/Sylius/Bundle/ResourceBundle/SyliusResourceBundle.php
Normal file
29
src/Sylius/Bundle/ResourceBundle/SyliusResourceBundle.php
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Sylius package.
|
||||||
|
*
|
||||||
|
* (c) Paweł Jędrzejewski
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Sylius\Bundle\ResourceBundle;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpKernel\Bundle\Bundle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resource bundle.
|
||||||
|
*
|
||||||
|
* @author Paweł Jędrzejewski <pjedrzejewski@sylius.pl>
|
||||||
|
*/
|
||||||
|
class SyliusResourceBundle extends Bundle
|
||||||
|
{
|
||||||
|
// Bundle driver list.
|
||||||
|
const DRIVER_DOCTRINE_ORM = 'doctrine/orm';
|
||||||
|
const DRIVER_DOCTRINE_MONGODB_ODM = 'doctrine/mongodb-odm';
|
||||||
|
const DRIVER_DOCTRINE_COUCHDB_ODM = 'doctrine/couchdb-odm';
|
||||||
|
const DRIVER_PROPEL = 'propel';
|
||||||
|
const DRIVER_PROPEL2 = 'propel2';
|
||||||
|
}
|
||||||
16
src/Sylius/Bundle/ResourceBundle/Tests/autoload.php.dist
Normal file
16
src/Sylius/Bundle/ResourceBundle/Tests/autoload.php.dist
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Sylius package.
|
||||||
|
*
|
||||||
|
* (c) Paweł Jędrzejewski
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!file_exists($file = __DIR__.'/../vendor/autoload.php')) {
|
||||||
|
die("Please install dev dependencies using Composer to run the test suite. \n");
|
||||||
|
} else {
|
||||||
|
require_once $file;
|
||||||
|
}
|
||||||
16
src/Sylius/Bundle/ResourceBundle/Tests/bootstrap.php
Normal file
16
src/Sylius/Bundle/ResourceBundle/Tests/bootstrap.php
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Sylius package.
|
||||||
|
*
|
||||||
|
* (c) Paweł Jędrzejewski
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (file_exists($file = __DIR__.'/autoload.php')) {
|
||||||
|
require_once $file;
|
||||||
|
} elseif (file_exists($file = __DIR__.'/autoload.php.dist')) {
|
||||||
|
require_once $file;
|
||||||
|
}
|
||||||
33
src/Sylius/Bundle/ResourceBundle/composer.json
Normal file
33
src/Sylius/Bundle/ResourceBundle/composer.json
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
"name": "sylius/resource-bundle",
|
||||||
|
"type": "symfony-bundle",
|
||||||
|
"description": "Resource component for Sylius.",
|
||||||
|
"keywords": ["resource", "storage", "persistence"],
|
||||||
|
"homepage": "http://sylius.org",
|
||||||
|
"license": "MIT",
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Paweł Jędrzejewski",
|
||||||
|
"email": "pjedrzejewski@diweb.pl",
|
||||||
|
"homepage": "http://pjedrzejewski.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Community contributions",
|
||||||
|
"homepage": "https://github.com/Sylius/SyliusResourceBundle/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.2",
|
||||||
|
|
||||||
|
"symfony/framework": ">=2.1.*",
|
||||||
|
"stof/doctrine-extensions-bundle": "*",
|
||||||
|
"white-october/pagerfanta-bundle": "*"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"doctrine/orm": "*"
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": { "Sylius\\Bundle\\ResourceBundle": "" }
|
||||||
|
},
|
||||||
|
"target-dir": "Sylius/Bundle/ResourceBundle"
|
||||||
|
}
|
||||||
19
src/Sylius/Bundle/ResourceBundle/phpunit.xml.dist
Normal file
19
src/Sylius/Bundle/ResourceBundle/phpunit.xml.dist
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<phpunit bootstrap="./Tests/bootstrap.php" colors="true">
|
||||||
|
<testsuites>
|
||||||
|
<testsuite name="SyliusResourceBundle test suite">
|
||||||
|
<directory suffix="Test.php">./Tests</directory>
|
||||||
|
</testsuite>
|
||||||
|
</testsuites>
|
||||||
|
<filter>
|
||||||
|
<whitelist>
|
||||||
|
<directory>./</directory>
|
||||||
|
<exclude>
|
||||||
|
<directory>./Resources</directory>
|
||||||
|
<directory>./Tests</directory>
|
||||||
|
<directory>./vendor</directory>
|
||||||
|
</exclude>
|
||||||
|
</whitelist>
|
||||||
|
</filter>
|
||||||
|
</phpunit>
|
||||||
Loading…
Add table
Reference in a new issue