mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-17 15:03:25 +00:00
Push & Feedback templates
This commit is contained in:
@@ -46,76 +46,76 @@ class Basket implements ControllerProviderInterface
|
||||
*
|
||||
*/
|
||||
$controllers->post('/', function(Application $app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
{
|
||||
$request = $app['request'];
|
||||
|
||||
/* @var $request \Symfony\Component\HttpFoundation\Request */
|
||||
/* @var $request \Symfony\Component\HttpFoundation\Request */
|
||||
|
||||
$em = $app['Core']->getEntityManager();
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
|
||||
$Basket = new \Entities\Basket();
|
||||
$Basket = new \Entities\Basket();
|
||||
|
||||
$Basket->setName($request->get('name', ''));
|
||||
$Basket->setOwner($app['Core']->getAuthenticatedUser());
|
||||
$Basket->setDescription($request->get('desc'));
|
||||
$Basket->setName($request->get('name', ''));
|
||||
$Basket->setOwner($app['Core']->getAuthenticatedUser());
|
||||
$Basket->setDescription($request->get('desc'));
|
||||
|
||||
$em->persist($Basket);
|
||||
$em->persist($Basket);
|
||||
|
||||
$n = 0;
|
||||
$n = 0;
|
||||
|
||||
foreach (explode(';', $request->get('lst')) as $sbas_rec)
|
||||
{
|
||||
$sbas_rec = explode('_', $sbas_rec);
|
||||
foreach (explode(';', $request->get('lst')) as $sbas_rec)
|
||||
{
|
||||
$sbas_rec = explode('_', $sbas_rec);
|
||||
|
||||
if (count($sbas_rec) !== 2)
|
||||
continue;
|
||||
if (count($sbas_rec) !== 2)
|
||||
continue;
|
||||
|
||||
$record = new \record_adapter($sbas_rec[0], $sbas_rec[1]);
|
||||
$record = new \record_adapter($sbas_rec[0], $sbas_rec[1]);
|
||||
|
||||
if (!$user->ACL()->has_access_to_base($record->get_base_id())
|
||||
&& !$user->ACL()->has_hd_grant($record)
|
||||
&& !$user->ACL()->has_preview_grant($record))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (!$user->ACL()->has_access_to_base($record->get_base_id())
|
||||
&& !$user->ACL()->has_hd_grant($record)
|
||||
&& !$user->ACL()->has_preview_grant($record))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($Basket->hasRecord($record))
|
||||
continue;
|
||||
if ($Basket->hasRecord($record))
|
||||
continue;
|
||||
|
||||
$basket_element = new \Entities\BasketElement();
|
||||
$basket_element->setRecord($record);
|
||||
$basket_element->setBasket($Basket);
|
||||
$basket_element = new \Entities\BasketElement();
|
||||
$basket_element->setRecord($record);
|
||||
$basket_element->setBasket($Basket);
|
||||
|
||||
$em->persist($basket_element);
|
||||
$em->persist($basket_element);
|
||||
|
||||
$Basket->addBasketElement($basket_element);
|
||||
$Basket->addBasketElement($basket_element);
|
||||
|
||||
$n++;
|
||||
}
|
||||
$n++;
|
||||
}
|
||||
|
||||
$em->flush();
|
||||
$em->flush();
|
||||
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => _('Basket created')
|
||||
, 'basket' => array(
|
||||
'id' => $Basket->getId()
|
||||
)
|
||||
);
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => _('Basket created')
|
||||
, 'basket' => array(
|
||||
'id' => $Basket->getId()
|
||||
)
|
||||
);
|
||||
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse(sprintf('/%d/', $Basket->getId()));
|
||||
}
|
||||
});
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse(sprintf('/%d/', $Basket->getId()));
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* This route is used to delete a basket
|
||||
@@ -124,73 +124,73 @@ class Basket implements ControllerProviderInterface
|
||||
*
|
||||
*/
|
||||
$controllers->post('/{basket_id}/delete/', function(Application $app, Request $request, $basket_id)
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
|
||||
$em->remove($basket);
|
||||
$em->flush();
|
||||
$em->remove($basket);
|
||||
$em->flush();
|
||||
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => _('Basket has been deleted')
|
||||
);
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => _('Basket has been deleted')
|
||||
);
|
||||
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('basket_id', '\d+');
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('basket_id', '\d+');
|
||||
|
||||
/**
|
||||
* Removes a BasketElement
|
||||
*/
|
||||
$controllers->post(
|
||||
'/{basket_id}/delete/{basket_element_id}/'
|
||||
, function(Application $app, Request $request, $basket_id, $basket_element_id)
|
||||
{
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
$em = $app['Core']->getEntityManager();
|
||||
'/{basket_id}/delete/{basket_element_id}/'
|
||||
, function(Application $app, Request $request, $basket_id, $basket_element_id)
|
||||
{
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
|
||||
foreach ($basket->getElements() as $basket_element)
|
||||
{
|
||||
/* @var $basket_element \Entities\BasketElement */
|
||||
if ($basket_element->getId() == $basket_element_id)
|
||||
{
|
||||
$em->remove($basket_element);
|
||||
}
|
||||
}
|
||||
foreach ($basket->getElements() as $basket_element)
|
||||
{
|
||||
/* @var $basket_element \Entities\BasketElement */
|
||||
if ($basket_element->getId() == $basket_element_id)
|
||||
{
|
||||
$em->remove($basket_element);
|
||||
}
|
||||
}
|
||||
|
||||
$em->flush();
|
||||
$em->flush();
|
||||
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => _('Record removed from basket')
|
||||
);
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => _('Record removed from basket')
|
||||
);
|
||||
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('basket_id', '\d+')->assert('basket_element_id', '\d+');
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('basket_id', '\d+')->assert('basket_element_id', '\d+');
|
||||
|
||||
/**
|
||||
* Update name and description of a basket
|
||||
@@ -200,83 +200,83 @@ class Basket implements ControllerProviderInterface
|
||||
*
|
||||
*/
|
||||
$controllers->post('/{basket_id}/update/', function(Application $app, Request $request, $basket_id)
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
|
||||
$basket->setName($request->get('name', ''));
|
||||
$basket->setDescription($request->get('description'));
|
||||
$basket->setName($request->get('name', ''));
|
||||
$basket->setDescription($request->get('description'));
|
||||
|
||||
$em->merge($basket);
|
||||
$em->flush();
|
||||
$em->merge($basket);
|
||||
$em->flush();
|
||||
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => _('Basket has been updated')
|
||||
, 'basket' => array('id' => $basket->getId())
|
||||
);
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => _('Basket has been updated')
|
||||
, 'basket' => array('id' => $basket->getId())
|
||||
);
|
||||
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('basket_id', '\d+');
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('basket_id', '\d+');
|
||||
|
||||
/**
|
||||
* Get the form to update the Basket attributes (name and description)
|
||||
*/
|
||||
$controllers->get('/{basket_id}/update/', function(Application $app, $basket_id)
|
||||
{
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
$em = $app['Core']->getEntityManager();
|
||||
{
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
|
||||
/* @var $twig \Twig_Environment */
|
||||
$twig = $app['Core']->getTwig();
|
||||
/* @var $twig \Twig_Environment */
|
||||
$twig = $app['Core']->getTwig();
|
||||
|
||||
return new Response(
|
||||
$twig->render(
|
||||
'prod/Baskets/Update.html.twig'
|
||||
, array('basket' => $basket)
|
||||
)
|
||||
);
|
||||
})->assert('basket_id', '\d+');
|
||||
return new Response(
|
||||
$twig->render(
|
||||
'prod/Baskets/Update.html.twig'
|
||||
, array('basket' => $basket)
|
||||
)
|
||||
);
|
||||
})->assert('basket_id', '\d+');
|
||||
|
||||
|
||||
/**
|
||||
* Get the Basket reorder form
|
||||
*/
|
||||
$controllers->get(
|
||||
'/{basket_id}/reorder/'
|
||||
, function(Application $app, $basket_id)
|
||||
{
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
$em = $app['Core']->getEntityManager();
|
||||
'/{basket_id}/reorder/'
|
||||
, function(Application $app, $basket_id)
|
||||
{
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
|
||||
/* @var $twig \Twig_Environment */
|
||||
$twig = $app['Core']->getTwig();
|
||||
/* @var $twig \Twig_Environment */
|
||||
$twig = $app['Core']->getTwig();
|
||||
|
||||
return new Response(
|
||||
$twig->render(
|
||||
'prod/Baskets/Reorder.html.twig'
|
||||
, array('basket' => $basket)
|
||||
)
|
||||
);
|
||||
})->assert('basket_id', '\d+');
|
||||
return new Response(
|
||||
$twig->render(
|
||||
'prod/Baskets/Reorder.html.twig'
|
||||
, array('basket' => $basket)
|
||||
)
|
||||
);
|
||||
})->assert('basket_id', '\d+');
|
||||
|
||||
/**
|
||||
* Toggle the status of a Basket
|
||||
@@ -286,114 +286,114 @@ class Basket implements ControllerProviderInterface
|
||||
* @returns JSON / HTML
|
||||
*/
|
||||
$controllers->post('/{basket_id}/archive/', function(Application $app, Request $request, $basket_id)
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
|
||||
$archive_status = !!$request->get('archive');
|
||||
$archive_status = !!$request->get('archive');
|
||||
|
||||
$basket->setArchived($archive_status);
|
||||
$basket->setArchived($archive_status);
|
||||
|
||||
$em->merge($basket);
|
||||
$em->flush();
|
||||
$em->merge($basket);
|
||||
$em->flush();
|
||||
|
||||
if($archive_status)
|
||||
{
|
||||
$message = _('Basket has been archived');
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = _('Basket has been unarchived');
|
||||
}
|
||||
if ($archive_status)
|
||||
{
|
||||
$message = _('Basket has been archived');
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = _('Basket has been unarchived');
|
||||
}
|
||||
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'archive' => $archive_status
|
||||
, 'message' => $message
|
||||
);
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'archive' => $archive_status
|
||||
, 'message' => $message
|
||||
);
|
||||
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('basket_id', '\d+');
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('basket_id', '\d+');
|
||||
|
||||
/**
|
||||
* Add a BasketElement to a basket
|
||||
*/
|
||||
$controllers->post(
|
||||
'/{basket_id}/addElements/'
|
||||
, function(Application $app, Request $request, $basket_id)
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
'/{basket_id}/addElements/'
|
||||
, function(Application $app, Request $request, $basket_id)
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
/* @var $user \User_Adapter */
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
/* @var $user \User_Adapter */
|
||||
|
||||
$n = 0;
|
||||
$n = 0;
|
||||
|
||||
foreach (explode(';', $request->get('lst')) as $sbas_rec)
|
||||
{
|
||||
$sbas_rec = explode('_', $sbas_rec);
|
||||
foreach (explode(';', $request->get('lst')) as $sbas_rec)
|
||||
{
|
||||
$sbas_rec = explode('_', $sbas_rec);
|
||||
|
||||
if (count($sbas_rec) !== 2)
|
||||
continue;
|
||||
if (count($sbas_rec) !== 2)
|
||||
continue;
|
||||
|
||||
$record = new \record_adapter($sbas_rec[0], $sbas_rec[1]);
|
||||
$record = new \record_adapter($sbas_rec[0], $sbas_rec[1]);
|
||||
|
||||
if (!$user->ACL()->has_access_to_base($record->get_base_id())
|
||||
&& !$user->ACL()->has_hd_grant($record)
|
||||
&& !$user->ACL()->has_preview_grant($record))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (!$user->ACL()->has_access_to_base($record->get_base_id())
|
||||
&& !$user->ACL()->has_hd_grant($record)
|
||||
&& !$user->ACL()->has_preview_grant($record))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($basket->hasRecord($record))
|
||||
continue;
|
||||
if ($basket->hasRecord($record))
|
||||
continue;
|
||||
|
||||
$basket_element = new \Entities\BasketElement();
|
||||
$basket_element->setRecord($record);
|
||||
$basket_element->setBasket($basket);
|
||||
$basket_element = new \Entities\BasketElement();
|
||||
$basket_element->setRecord($record);
|
||||
$basket_element->setBasket($basket);
|
||||
|
||||
$em->persist($basket_element);
|
||||
$em->persist($basket_element);
|
||||
|
||||
$basket->addBasketElement($basket_element);
|
||||
$basket->addBasketElement($basket_element);
|
||||
|
||||
$n++;
|
||||
}
|
||||
$n++;
|
||||
}
|
||||
|
||||
$em->merge($basket);
|
||||
$em->flush();
|
||||
$em->merge($basket);
|
||||
$em->flush();
|
||||
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => sprintf(_('%d records added'), $n)
|
||||
);
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => sprintf(_('%d records added'), $n)
|
||||
);
|
||||
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('basket_id', '\d+');
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('basket_id', '\d+');
|
||||
|
||||
|
||||
|
||||
@@ -406,91 +406,96 @@ class Basket implements ControllerProviderInterface
|
||||
*
|
||||
*/
|
||||
$controllers->post(
|
||||
'/{basket_id}/stealElements/'
|
||||
, function(Application $app, Request $request, $basket_id)
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
'/{basket_id}/stealElements/'
|
||||
, function(Application $app, Request $request, $basket_id)
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
/* @var $user \User_Adapter */
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
/* @var $user \User_Adapter */
|
||||
|
||||
$n = 0;
|
||||
$n = 0;
|
||||
|
||||
foreach ($request->get('elements') as $bask_element_id)
|
||||
{
|
||||
$basket_element = $em->getRepository('\Entities\BasketElement')
|
||||
->findUserElement($bask_element_id, $user);
|
||||
foreach ($request->get('elements') as $bask_element_id)
|
||||
{
|
||||
$basket_element = $em->getRepository('\Entities\BasketElement')
|
||||
->findUserElement($bask_element_id, $user);
|
||||
|
||||
if (!$basket_element)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (!$basket_element)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$basket_element->setBasket($basket);
|
||||
$basket_element->setBasket($basket);
|
||||
|
||||
$em->merge($basket_element);
|
||||
$em->merge($basket_element);
|
||||
|
||||
$n++;
|
||||
}
|
||||
$n++;
|
||||
}
|
||||
|
||||
$em->merge($basket);
|
||||
$em->flush();
|
||||
$em->merge($basket);
|
||||
$em->flush();
|
||||
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => sprintf(_('%d records moved'), $n)
|
||||
);
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => sprintf(_('%d records moved'), $n)
|
||||
);
|
||||
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('basket_id', '\d+');
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('basket_id', '\d+');
|
||||
|
||||
/**
|
||||
* Get basket creation form
|
||||
*/
|
||||
$controllers->get('/create/', function(Application $app)
|
||||
{
|
||||
/* @var $twig \Twig_Environment */
|
||||
$twig = $app['Core']->getTwig();
|
||||
{
|
||||
/* @var $twig \Twig_Environment */
|
||||
$twig = $app['Core']->getTwig();
|
||||
|
||||
return new Response($twig->render('prod/Baskets/Create.html.twig', array()));
|
||||
});
|
||||
return new Response($twig->render('prod/Baskets/Create.html.twig', array()));
|
||||
});
|
||||
|
||||
/**
|
||||
* Get a basket
|
||||
*/
|
||||
$controllers->get('/{basket_id}/', function(Application $app, $basket_id)
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
$controllers->get('/{basket_id}/', function(Application $app, Request $request, $basket_id)
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
|
||||
$basket->setIsRead(true);
|
||||
$basket->setIsRead(true);
|
||||
|
||||
$em->merge($basket);
|
||||
$em->flush();
|
||||
$em->merge($basket);
|
||||
$em->flush();
|
||||
|
||||
/* @var $twig \Twig_Environment */
|
||||
$twig = $app['Core']->getTwig();
|
||||
/* @var $twig \Twig_Environment */
|
||||
$twig = $app['Core']->getTwig();
|
||||
|
||||
$html = $twig->render('prod/WorkZone/Basket.html.twig', array('basket' => $basket));
|
||||
$params = array(
|
||||
'basket' => $basket,
|
||||
'ordre' => $request->get('ordre')
|
||||
);
|
||||
|
||||
return new Response($html);
|
||||
})->assert('basket_id', '\d+');
|
||||
$html = $twig->render('prod/WorkZone/Basket.html.twig', $params);
|
||||
|
||||
return new Response($html);
|
||||
})->assert('basket_id', '\d+');
|
||||
|
||||
return $controllers;
|
||||
}
|
||||
|
@@ -89,9 +89,10 @@ class Language implements ControllerProviderInterface
|
||||
$out['sureToRemoveList'] = _('Are you sure you want to delete this list ?');
|
||||
$out['newListName'] = _('New list name ?');
|
||||
$out['listNameCannotBeEmpty'] = _('List name can not be empty');
|
||||
|
||||
|
||||
|
||||
$out['FeedBackName'] = _('Name');
|
||||
$out['FeedBackMessage'] = _('Message');
|
||||
$out['FeedBackNoUsersSelected'] = _('No users selected');
|
||||
|
||||
$Serializer = $app['Core']['Serializer'];
|
||||
|
||||
return new Response(
|
||||
|
@@ -64,6 +64,7 @@ class Push implements ControllerProviderInterface
|
||||
'type' => 'LIST'
|
||||
, 'list_id' => $List->getId()
|
||||
, 'name' => $List->getName()
|
||||
, 'length' => count($entries)
|
||||
, 'entries' => $entries
|
||||
);
|
||||
};
|
||||
@@ -90,7 +91,7 @@ class Push implements ControllerProviderInterface
|
||||
'lists' => $repository->findUserLists($app['Core']->getAuthenticatedUser())
|
||||
);
|
||||
|
||||
$template = 'prod/actions/Feedback.html.twig';
|
||||
$template = 'prod/actions/Push.html.twig';
|
||||
|
||||
/* @var $twig \Twig_Environment */
|
||||
$twig = $app['Core']->getTwig();
|
||||
@@ -145,7 +146,7 @@ class Push implements ControllerProviderInterface
|
||||
|
||||
$push_description = $request->get('push_description');
|
||||
|
||||
$receivers = $request->get('receivers');
|
||||
$receivers = $request->get('participants');
|
||||
|
||||
if (!is_array($receivers) || count($receivers) === 0)
|
||||
{
|
||||
@@ -209,7 +210,7 @@ class Push implements ControllerProviderInterface
|
||||
$message = sprintf(
|
||||
_('%1$d records have been sent to %2$d users')
|
||||
, count($pusher->get_elements())
|
||||
, count($request->get('receivers'))
|
||||
, count($receivers)
|
||||
);
|
||||
|
||||
$ret = array(
|
||||
@@ -286,11 +287,11 @@ class Push implements ControllerProviderInterface
|
||||
|
||||
$em->persist($BasketElement);
|
||||
}
|
||||
|
||||
$em->flush();
|
||||
//
|
||||
// $em->flush();
|
||||
}
|
||||
|
||||
$em->refresh($Basket);
|
||||
// $em->refresh($Basket);
|
||||
|
||||
if (!$Basket->getValidation())
|
||||
{
|
||||
@@ -309,7 +310,7 @@ class Push implements ControllerProviderInterface
|
||||
|
||||
$appbox = \appbox::get_instance();
|
||||
|
||||
foreach ($participants as $participant)
|
||||
foreach ($participants as $key=>$participant)
|
||||
{
|
||||
foreach (array('see_others', 'usr_id', 'agree', 'HD') as $mandatoryparam)
|
||||
{
|
||||
@@ -386,7 +387,7 @@ class Push implements ControllerProviderInterface
|
||||
$message = sprintf(
|
||||
_('%1$d records have been sent for validation to %2$d users')
|
||||
, count($pusher->get_elements())
|
||||
, count($request->get('$participants'))
|
||||
, count($request->get('participants'))
|
||||
);
|
||||
|
||||
$ret = array(
|
||||
@@ -597,6 +598,79 @@ class Push implements ControllerProviderInterface
|
||||
|
||||
|
||||
|
||||
|
||||
$controllers->match('/edit-list/{list_id}/', function(Application $app, Request $request, $list_id)
|
||||
{
|
||||
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$repository = $em->getRepository('\Entities\UsrList');
|
||||
|
||||
$list = $repository->findUserListByUserAndId($user, $list_id);
|
||||
|
||||
$query = new \User_Query(\appbox::get_instance());
|
||||
|
||||
$query->on_bases_where_i_am($user->ACL(), array('canpush'));
|
||||
|
||||
if ($request->get('query'))
|
||||
{
|
||||
$query->like($request->get('like_field'), $request->get('query'))
|
||||
->like_match(\User_Query::LIKE_MATCH_OR);
|
||||
}
|
||||
if (is_array($request->get('Activity')))
|
||||
{
|
||||
$query->haveActivities($request->get('Activity'));
|
||||
}
|
||||
if (is_array($request->get('Template')))
|
||||
{
|
||||
$query->haveTemplate($request->get('Template'));
|
||||
}
|
||||
if (is_array($request->get('Company')))
|
||||
{
|
||||
$query->inCompanies($request->get('Company'));
|
||||
}
|
||||
if (is_array($request->get('Country')))
|
||||
{
|
||||
$query->inCountries($request->get('Country'));
|
||||
}
|
||||
if (is_array($request->get('Position')))
|
||||
{
|
||||
$query->havePositions($request->get('Position'));
|
||||
}
|
||||
|
||||
$sort = $request->get('srt', 'usr_creationdate');
|
||||
$ord = $request->get('ord', 'desc');
|
||||
|
||||
$query->sort_by($sort, $ord);
|
||||
|
||||
$results = $query->include_phantoms()
|
||||
->limit(0, 10)
|
||||
->execute()->get_results();
|
||||
|
||||
$params = array(
|
||||
'query' => $query
|
||||
, 'results' => $results
|
||||
, 'list' => $list
|
||||
, 'sort' => $sort
|
||||
, 'ord' => $ord
|
||||
);
|
||||
|
||||
if($request->get('type') === 'fragment')
|
||||
{
|
||||
return new Response(
|
||||
$app['Core']->getTwig()->render('prod/actions/Feedback/ResultTable.html.twig', $params)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new Response(
|
||||
$app['Core']->getTwig()->render('prod/actions/Feedback/list.html.twig', $params)
|
||||
);
|
||||
}
|
||||
}
|
||||
)->assert('list_id', '\d+');
|
||||
|
||||
return $controllers;
|
||||
}
|
||||
|
||||
|
@@ -183,7 +183,7 @@ class UsrLists implements ControllerProviderInterface
|
||||
}
|
||||
catch (\Exception $e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
||||
@@ -198,91 +198,56 @@ class UsrLists implements ControllerProviderInterface
|
||||
$controllers->get('/list/{list_id}/', function(Application $app, Request $request, $list_id)
|
||||
{
|
||||
|
||||
$datas = array(
|
||||
'success' => false
|
||||
, 'message' => ''
|
||||
, 'result' => null
|
||||
);
|
||||
|
||||
$result = array();
|
||||
|
||||
try
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$repository = $em->getRepository('\Entities\UsrList');
|
||||
|
||||
$list = $repository->findUserListByUserAndId($user, $list_id);
|
||||
|
||||
$entries = new \Doctrine\Common\Collections\ArrayCollection();
|
||||
$owners = new \Doctrine\Common\Collections\ArrayCollection();
|
||||
|
||||
foreach ($list->getOwners() as $owner)
|
||||
{
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$repository = $em->getRepository('\Entities\UsrList');
|
||||
|
||||
$list = $repository->findUserListByUserAndId($user, $list_id);
|
||||
|
||||
$entries = new \Doctrine\Common\Collections\ArrayCollection();
|
||||
$owners = new \Doctrine\Common\Collections\ArrayCollection();
|
||||
|
||||
foreach ($list->getOwners() as $owner)
|
||||
{
|
||||
$owners[] = array(
|
||||
'usr_id' => $owner->getUser()->get_id(),
|
||||
'display_name' => $owner->getUser()->get_display_name(),
|
||||
'position' => $owner->getUser()->get_position(),
|
||||
'job' => $owner->getUser()->get_job(),
|
||||
'company' => $owner->getUser()->get_company(),
|
||||
'email' => $owner->getUser()->get_email(),
|
||||
'role' => $owner->getRole()
|
||||
);
|
||||
}
|
||||
|
||||
foreach ($list->getEntries() as $entry)
|
||||
{
|
||||
$entries[] = array(
|
||||
'usr_id' => $entry->getUser()->get_id(),
|
||||
'display_name' => $entry->getUser()->get_display_name(),
|
||||
'position' => $entry->getUser()->get_position(),
|
||||
'job' => $entry->getUser()->get_job(),
|
||||
'company' => $entry->getUser()->get_company(),
|
||||
'email' => $entry->getUser()->get_email(),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/* @var $list \Entities\UsrList */
|
||||
$result = array(
|
||||
'id' => $list->getId(),
|
||||
'name' => $list->getName(),
|
||||
'created' => $list->getCreated()->format(DATE_ATOM),
|
||||
'updated' => $list->getUpdated()->format(DATE_ATOM),
|
||||
'owners' => $owners,
|
||||
'users' => $entries
|
||||
);
|
||||
|
||||
$datas = array(
|
||||
'success' => true
|
||||
, 'message' => ''
|
||||
, 'result' => $result
|
||||
$owners[] = array(
|
||||
'usr_id' => $owner->getUser()->get_id(),
|
||||
'display_name' => $owner->getUser()->get_display_name(),
|
||||
'position' => $owner->getUser()->get_position(),
|
||||
'job' => $owner->getUser()->get_job(),
|
||||
'company' => $owner->getUser()->get_company(),
|
||||
'email' => $owner->getUser()->get_email(),
|
||||
'role' => $owner->getRole()
|
||||
);
|
||||
}
|
||||
catch (ControllerException $e)
|
||||
|
||||
foreach ($list->getEntries() as $entry)
|
||||
{
|
||||
$datas = array(
|
||||
'success' => false
|
||||
, 'message' => $e->getMessage()
|
||||
$entries[] = array(
|
||||
'usr_id' => $entry->getUser()->get_id(),
|
||||
'display_name' => $entry->getUser()->get_display_name(),
|
||||
'position' => $entry->getUser()->get_position(),
|
||||
'job' => $entry->getUser()->get_job(),
|
||||
'company' => $entry->getUser()->get_company(),
|
||||
'email' => $entry->getUser()->get_email(),
|
||||
);
|
||||
}
|
||||
catch (\Exception $e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
||||
/* @var $list \Entities\UsrList */
|
||||
$result = array(
|
||||
'id' => $list->getId(),
|
||||
'name' => $list->getName(),
|
||||
'created' => $list->getCreated()->format(DATE_ATOM),
|
||||
'updated' => $list->getUpdated()->format(DATE_ATOM),
|
||||
'owners' => $owners,
|
||||
'users' => $entries
|
||||
);
|
||||
|
||||
return new Response($Json, 200, array('Content-Type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
return new Response($app['Core']->getTwig()->render('prod/actions/Feedback/list.html.twig', $result));
|
||||
}
|
||||
return new Response($app['Core']->getTwig()->render('prod/actions/Feedback/list.html.twig', $result));
|
||||
}
|
||||
);
|
||||
|
||||
@@ -290,34 +255,34 @@ class UsrLists implements ControllerProviderInterface
|
||||
* Update a list
|
||||
*/
|
||||
$controllers->post('/list/{list_id}/update/', function(Application $app, $list_id)
|
||||
{
|
||||
$request = $app['request'];
|
||||
{
|
||||
$request = $app['request'];
|
||||
|
||||
$datas = array(
|
||||
'success' => false
|
||||
, 'message' => _('Unable to update list')
|
||||
);
|
||||
$datas = array(
|
||||
'success' => false
|
||||
, 'message' => _('Unable to update list')
|
||||
);
|
||||
|
||||
try
|
||||
{
|
||||
$list_name = $request->get('name');
|
||||
try
|
||||
{
|
||||
$list_name = $request->get('name');
|
||||
|
||||
if (!$list_name)
|
||||
{
|
||||
throw new ControllerException(_('List name is required'));
|
||||
}
|
||||
if (!$list_name)
|
||||
{
|
||||
throw new ControllerException(_('List name is required'));
|
||||
}
|
||||
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
$em = $app['Core']->getEntityManager();
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$repository = $em->getRepository('\Entities\UsrList');
|
||||
$repository = $em->getRepository('\Entities\UsrList');
|
||||
|
||||
$list = $repository->findUserListByUserAndId($user, $list_id);
|
||||
$list = $repository->findUserListByUserAndId($user, $list_id);
|
||||
|
||||
$list->setName($list_name);
|
||||
$list->setName($list_name);
|
||||
|
||||
$em->merge($list);
|
||||
$em->flush();
|
||||
$em->merge($list);
|
||||
$em->flush();
|
||||
|
||||
$datas = array(
|
||||
'success' => true
|
||||
@@ -333,32 +298,32 @@ class UsrLists implements ControllerProviderInterface
|
||||
}
|
||||
catch (\Exception $e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
||||
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
||||
|
||||
return new Response($Json, 200, array('Content-Type' => 'application/json'));
|
||||
}
|
||||
return new Response($Json, 200, array('Content-Type' => 'application/json'));
|
||||
}
|
||||
)->assert('list_id', '\d+');
|
||||
|
||||
/**
|
||||
* Delete a list
|
||||
*/
|
||||
$controllers->post('/list/{list_id}/delete/', function(Application $app, $list_id)
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
try
|
||||
{
|
||||
$repository = $em->getRepository('\Entities\UsrList');
|
||||
try
|
||||
{
|
||||
$repository = $em->getRepository('\Entities\UsrList');
|
||||
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
|
||||
$list = $repository->findUserListByUserAndId($user, $list_id);
|
||||
$list = $repository->findUserListByUserAndId($user, $list_id);
|
||||
|
||||
$em->remove($list);
|
||||
$em->flush();
|
||||
$em->remove($list);
|
||||
$em->flush();
|
||||
|
||||
$datas = array(
|
||||
'success' => true
|
||||
@@ -375,16 +340,16 @@ class UsrLists implements ControllerProviderInterface
|
||||
catch (\Exception $e)
|
||||
{
|
||||
|
||||
$datas = array(
|
||||
'success' => false
|
||||
, 'message' => sprintf(_('Unable to delete list'))
|
||||
);
|
||||
}
|
||||
$datas = array(
|
||||
'success' => false
|
||||
, 'message' => sprintf(_('Unable to delete list'))
|
||||
);
|
||||
}
|
||||
|
||||
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
||||
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
||||
|
||||
return new Response($Json, 200, array('Content-Type' => 'application/json'));
|
||||
}
|
||||
return new Response($Json, 200, array('Content-Type' => 'application/json'));
|
||||
}
|
||||
)->assert('list_id', '\d+');
|
||||
|
||||
|
||||
@@ -395,21 +360,21 @@ class UsrLists implements ControllerProviderInterface
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
try
|
||||
{
|
||||
$repository = $em->getRepository('\Entities\UsrList');
|
||||
try
|
||||
{
|
||||
$repository = $em->getRepository('\Entities\UsrList');
|
||||
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
|
||||
$list = $repository->findUserListByUserAndId($user, $list_id);
|
||||
/* @var $list \Entities\UsrList */
|
||||
$list = $repository->findUserListByUserAndId($user, $list_id);
|
||||
/* @var $list \Entities\UsrList */
|
||||
|
||||
$entry_repository = $em->getRepository('\Entities\UsrListEntry');
|
||||
$entry_repository = $em->getRepository('\Entities\UsrListEntry');
|
||||
|
||||
$user_entry = $entry_repository->findEntryByListAndUsrId($list, $usr_id);
|
||||
|
||||
$em->remove($user_entry);
|
||||
$em->flush();
|
||||
$em->remove($user_entry);
|
||||
$em->flush();
|
||||
|
||||
$datas = array(
|
||||
'success' => true
|
||||
@@ -432,10 +397,10 @@ class UsrLists implements ControllerProviderInterface
|
||||
);
|
||||
}
|
||||
|
||||
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
||||
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
||||
|
||||
return new Response($Json, 200, array('Content-Type' => 'application/json'));
|
||||
}
|
||||
return new Response($Json, 200, array('Content-Type' => 'application/json'));
|
||||
}
|
||||
)->assert('list_id', '\d+')->assert('entry_id', '\d+');
|
||||
|
||||
/**
|
||||
@@ -479,7 +444,7 @@ class UsrLists implements ControllerProviderInterface
|
||||
$inserted_usr_ids[] = $user_entry->get_id();
|
||||
}
|
||||
|
||||
$em->flush();
|
||||
$em->flush();
|
||||
|
||||
if (count($inserted_usr_ids) > 1)
|
||||
{
|
||||
@@ -508,16 +473,16 @@ class UsrLists implements ControllerProviderInterface
|
||||
catch (\Exception $e)
|
||||
{
|
||||
|
||||
$datas = array(
|
||||
'success' => false
|
||||
, 'message' => _('Unable to add usr to list')
|
||||
);
|
||||
}
|
||||
$datas = array(
|
||||
'success' => false
|
||||
, 'message' => _('Unable to add usr to list')
|
||||
);
|
||||
}
|
||||
|
||||
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
||||
$Json = $app['Core']['Serializer']->serialize($datas, 'json');
|
||||
|
||||
return new Response($Json, 200, array('Content-Type' => 'application/json'));
|
||||
}
|
||||
return new Response($Json, 200, array('Content-Type' => 'application/json'));
|
||||
}
|
||||
)->assert('list_id', '\d+')->assert('usr_id', '\d+');
|
||||
|
||||
/**
|
||||
|
@@ -36,232 +36,232 @@ class WorkZone implements ControllerProviderInterface
|
||||
$controllers = new ControllerCollection();
|
||||
|
||||
$controllers->get('/', function(Application $app)
|
||||
{
|
||||
$params = array(
|
||||
'WorkZone' => new Helper\WorkZone($app['Core'], $app['request'])
|
||||
, 'selected_type' => $app['request']->get('type')
|
||||
, 'selected_id' => $app['request']->get('id')
|
||||
, 'srt' => $app['request']->get('sort')
|
||||
);
|
||||
{
|
||||
$params = array(
|
||||
'WorkZone' => new Helper\WorkZone($app['Core'], $app['request'])
|
||||
, 'selected_type' => $app['request']->get('type')
|
||||
, 'selected_id' => $app['request']->get('id')
|
||||
, 'srt' => $app['request']->get('sort')
|
||||
);
|
||||
|
||||
|
||||
return new Response($app['Core']->getTwig()->render('prod/WorkZone/WorkZone.html.twig', $params));
|
||||
});
|
||||
return new Response($app['Core']->getTwig()->render('prod/WorkZone/WorkZone.html.twig', $params));
|
||||
});
|
||||
|
||||
$controllers->get('/Browse/', function(Application $app)
|
||||
{
|
||||
$date_obj = new \DateTime();
|
||||
{
|
||||
$date_obj = new \DateTime();
|
||||
|
||||
$params = array(
|
||||
'CurrentYear' => $date_obj->format('Y')
|
||||
);
|
||||
$params = array(
|
||||
'CurrentYear' => $date_obj->format('Y')
|
||||
);
|
||||
|
||||
return new Response(
|
||||
$app['Core']->getTwig()->render('prod/WorkZone/Browser/Browser.html.twig'
|
||||
, $params
|
||||
)
|
||||
);
|
||||
});
|
||||
return new Response(
|
||||
$app['Core']->getTwig()->render('prod/WorkZone/Browser/Browser.html.twig'
|
||||
, $params
|
||||
)
|
||||
);
|
||||
});
|
||||
|
||||
$controllers->get('/Browse/Search/', function(Application $app)
|
||||
{
|
||||
{
|
||||
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
|
||||
$request = $app['request'];
|
||||
$request = $app['request'];
|
||||
|
||||
$em = $app['Core']->getEntityManager();
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
$em = $app['Core']->getEntityManager();
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
|
||||
$BasketRepo = $em->getRepository('\Entities\Basket');
|
||||
$BasketRepo = $em->getRepository('\Entities\Basket');
|
||||
|
||||
$Page = (int) $request->get('Page', 0);
|
||||
$Page = (int) $request->get('Page', 0);
|
||||
|
||||
$PerPage = 10;
|
||||
$offsetStart = max(($Page - 1) * $PerPage, 0);
|
||||
$PerPage = 10;
|
||||
$offsetStart = max(($Page - 1) * $PerPage, 0);
|
||||
|
||||
|
||||
$Baskets = $BasketRepo->findWorkzoneBasket(
|
||||
$user
|
||||
, $request->get('Query')
|
||||
, $request->get('Year')
|
||||
, $request->get('Type')
|
||||
, $offsetStart
|
||||
, $PerPage
|
||||
);
|
||||
$Baskets = $BasketRepo->findWorkzoneBasket(
|
||||
$user
|
||||
, $request->get('Query')
|
||||
, $request->get('Year')
|
||||
, $request->get('Type')
|
||||
, $offsetStart
|
||||
, $PerPage
|
||||
);
|
||||
|
||||
$page = floor($offsetStart / $PerPage) + 1;
|
||||
$maxPage = floor($Baskets['count'] / $PerPage) + 1;
|
||||
$page = floor($offsetStart / $PerPage) + 1;
|
||||
$maxPage = floor($Baskets['count'] / $PerPage) + 1;
|
||||
|
||||
|
||||
$params = array(
|
||||
'Baskets' => $Baskets['result']
|
||||
, 'Page' => $page
|
||||
, 'MaxPage' => $maxPage
|
||||
, 'Total' => $Baskets['count']
|
||||
, 'Query' => $request->get('Query')
|
||||
, 'Year' => $request->get('Year')
|
||||
, 'Type' => $request->get('Type')
|
||||
);
|
||||
$params = array(
|
||||
'Baskets' => $Baskets['result']
|
||||
, 'Page' => $page
|
||||
, 'MaxPage' => $maxPage
|
||||
, 'Total' => $Baskets['count']
|
||||
, 'Query' => $request->get('Query')
|
||||
, 'Year' => $request->get('Year')
|
||||
, 'Type' => $request->get('Type')
|
||||
);
|
||||
|
||||
return new Response($app['Core']->getTwig()->render('prod/WorkZone/Browser/Results.html.twig', $params));
|
||||
});
|
||||
return new Response($app['Core']->getTwig()->render('prod/WorkZone/Browser/Results.html.twig', $params));
|
||||
});
|
||||
|
||||
$controllers->get('/Browse/Basket/{basket_id}/', function(Application $app, $basket_id)
|
||||
{
|
||||
$controllers->get('/Browse/Basket/{basket_id}/', function(Application $app, Request $request, $basket_id)
|
||||
{
|
||||
|
||||
$em = $app['Core']->getEntityManager();
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
|
||||
$params = array(
|
||||
'Basket' => $basket
|
||||
);
|
||||
$params = array(
|
||||
'Basket' => $basket
|
||||
);
|
||||
|
||||
return new Response($app['Core']->getTwig()->render('prod/WorkZone/Browser/Basket.html.twig', $params));
|
||||
})->assert('basket_id', '\d+');
|
||||
return new Response($app['Core']->getTwig()->render('prod/WorkZone/Browser/Basket.html.twig', $params));
|
||||
})->assert('basket_id', '\d+');
|
||||
|
||||
|
||||
$controllers->post(
|
||||
'/attachStories/'
|
||||
, function(Application $app, Request $request)
|
||||
{
|
||||
if (!$request->get('stories'))
|
||||
throw new \Exception_BadRequest();
|
||||
'/attachStories/'
|
||||
, function(Application $app, Request $request)
|
||||
{
|
||||
if (!$request->get('stories'))
|
||||
throw new \Exception_BadRequest();
|
||||
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
|
||||
$em = $app['Core']->getEntityManager();
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
$em = $app['Core']->getEntityManager();
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
|
||||
$StoryWZRepo = $em->getRepository('\Entities\StoryWZ');
|
||||
$StoryWZRepo = $em->getRepository('\Entities\StoryWZ');
|
||||
|
||||
$alreadyFixed = $done = 0;
|
||||
$alreadyFixed = $done = 0;
|
||||
|
||||
foreach (explode(';', $request->get('stories')) as $element)
|
||||
{
|
||||
$element = explode('_', $element);
|
||||
$Story = new \record_adapter($element[0], $element[1]);
|
||||
foreach (explode(';', $request->get('stories')) as $element)
|
||||
{
|
||||
$element = explode('_', $element);
|
||||
$Story = new \record_adapter($element[0], $element[1]);
|
||||
|
||||
if (!$Story->is_grouping())
|
||||
throw new \Exception('You can only attach stories');
|
||||
if (!$Story->is_grouping())
|
||||
throw new \Exception('You can only attach stories');
|
||||
|
||||
if (!$user->ACL()->has_access_to_base($Story->get_base_id()))
|
||||
throw new \Exception_Forbidden('You do not have access to this Story');
|
||||
if (!$user->ACL()->has_access_to_base($Story->get_base_id()))
|
||||
throw new \Exception_Forbidden('You do not have access to this Story');
|
||||
|
||||
|
||||
if ($StoryWZRepo->findUserStory($user, $Story))
|
||||
{
|
||||
$alreadyFixed++;
|
||||
continue;
|
||||
}
|
||||
if ($StoryWZRepo->findUserStory($user, $Story))
|
||||
{
|
||||
$alreadyFixed++;
|
||||
continue;
|
||||
}
|
||||
|
||||
$StoryWZ = new \Entities\StoryWZ();
|
||||
$StoryWZ->setUser($user);
|
||||
$StoryWZ->setRecord($Story);
|
||||
$StoryWZ = new \Entities\StoryWZ();
|
||||
$StoryWZ->setUser($user);
|
||||
$StoryWZ->setRecord($Story);
|
||||
|
||||
$em->persist($StoryWZ);
|
||||
$done++;
|
||||
}
|
||||
$em->persist($StoryWZ);
|
||||
$done++;
|
||||
}
|
||||
|
||||
$em->flush();
|
||||
$em->flush();
|
||||
|
||||
if ($alreadyFixed === 0)
|
||||
{
|
||||
if ($done <= 1)
|
||||
{
|
||||
$message = sprintf(
|
||||
_('%d Story attached to the WorkZone')
|
||||
, $done
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = sprintf(
|
||||
_('%d Stories attached to the WorkZone')
|
||||
, $done
|
||||
);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($done <= 1)
|
||||
{
|
||||
$message = sprintf(
|
||||
_('%1$d Story attached to the WorkZone, %2$d already attached')
|
||||
, $done
|
||||
, $alreadyFixed
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = sprintf(
|
||||
_('%1$d Stories attached to the WorkZone, %2$d already attached')
|
||||
, $done
|
||||
, $alreadyFixed
|
||||
);
|
||||
}
|
||||
}
|
||||
if ($alreadyFixed === 0)
|
||||
{
|
||||
if ($done <= 1)
|
||||
{
|
||||
$message = sprintf(
|
||||
_('%d Story attached to the WorkZone')
|
||||
, $done
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = sprintf(
|
||||
_('%d Stories attached to the WorkZone')
|
||||
, $done
|
||||
);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($done <= 1)
|
||||
{
|
||||
$message = sprintf(
|
||||
_('%1$d Story attached to the WorkZone, %2$d already attached')
|
||||
, $done
|
||||
, $alreadyFixed
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = sprintf(
|
||||
_('%1$d Stories attached to the WorkZone, %2$d already attached')
|
||||
, $done
|
||||
, $alreadyFixed
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => $message
|
||||
);
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => $message
|
||||
);
|
||||
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/{sbas_id}/{record_id}/');
|
||||
}
|
||||
});
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/{sbas_id}/{record_id}/');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$controllers->post(
|
||||
'/detachStory/{sbas_id}/{record_id}/'
|
||||
, function(Application $app, Request $request, $sbas_id, $record_id)
|
||||
{
|
||||
$Story = new \record_adapter($sbas_id, $record_id);
|
||||
'/detachStory/{sbas_id}/{record_id}/'
|
||||
, function(Application $app, Request $request, $sbas_id, $record_id)
|
||||
{
|
||||
$Story = new \record_adapter($sbas_id, $record_id);
|
||||
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
|
||||
$em = $app['Core']->getEntityManager();
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$repository = $em->getRepository('\Entities\StoryWZ');
|
||||
$repository = $em->getRepository('\Entities\StoryWZ');
|
||||
|
||||
/* @var $repository \Repositories\StoryWZRepository */
|
||||
$StoryWZ = $repository->findUserStory($user, $Story);
|
||||
/* @var $repository \Repositories\StoryWZRepository */
|
||||
$StoryWZ = $repository->findUserStory($user, $Story);
|
||||
|
||||
if (!$StoryWZ)
|
||||
{
|
||||
throw new \Exception_NotFound('Story not found');
|
||||
}
|
||||
$em->remove($StoryWZ);
|
||||
if (!$StoryWZ)
|
||||
{
|
||||
throw new \Exception_NotFound('Story not found');
|
||||
}
|
||||
$em->remove($StoryWZ);
|
||||
|
||||
$em->flush();
|
||||
$em->flush();
|
||||
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => _('Story detached from the WorkZone')
|
||||
);
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => _('Story detached from the WorkZone')
|
||||
);
|
||||
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('sbas_id', '\d+')->assert('record_id', '\d+');
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
})->assert('sbas_id', '\d+')->assert('record_id', '\d+');
|
||||
|
||||
|
||||
return $controllers;
|
||||
|
Reference in New Issue
Block a user