/** * @Rest\Get("/inventory_audit") * @Rest\View(template=":default:index.html.twig",serializerEnableMaxDepthChecks=true, serializerGroups={"Default"}) */ public function listInventoryAuditAction(Request $request) { $page = (int) $request->query->get('page') - 1; $perPage = (int) $request->query->get('per_page'); $qb = $this->getDoctrine()->getManager()->createQueryBuilder()->select('COUNT(ia.id)')->from('AppBundle:InventoryAudit', 'ia'); $totalItems = $qb->getQuery()->getSingleScalarResult(); Utilities::setupSearchableEntityQueryBuild($qb, $request); $totalCount = $qb->getQuery()->getSingleScalarResult(); $qb->select('ia')->orderBy('ia.id', 'DESC')->setMaxResults($perPage)->setFirstResult($page * $perPage); $items = $qb->getQuery()->getResult(); $itemlist = array(); $authorizationChecker = $this->get('security.authorization_checker'); foreach ($items as $item) { if (true === $authorizationChecker->isGranted('VIEW', $item)) { $itemlist[] = $item; } } return ['total_count' => (int) $totalCount, 'total_items' => (int) $totalItems, 'list' => $itemlist]; }
/** * @Rest\Get("/outbound_order") * @Rest\View(template=":default:index.html.twig",serializerEnableMaxDepthChecks=true, serializerGroups={"Default"}) */ public function listOutboundOrderAction(Request $request) { $page = (int) $request->query->get('page') - 1; $perPage = (int) $request->query->get('per_page'); $qb = $this->getDoctrine()->getManager()->createQueryBuilder()->select('COUNT(e.id)')->from('AppBundle:OutboundOrder', 'e')->join('e.customer', 'c')->where('c.organization = :org')->setParameter('org', $this->getUser()->getOrganization()); $totalItems = $qb->getQuery()->getSingleScalarResult(); Utilities::setupSearchableEntityQueryBuild($qb, $request); $totalCount = $qb->getQuery()->getSingleScalarResult(); $qb->select('e')->orderBy('e.id', 'DESC')->setMaxResults($perPage)->setFirstResult($page * $perPage); $items = $qb->getQuery()->getResult(); $itemlist = array(); $authorizationChecker = $this->get('security.authorization_checker'); foreach ($items as $item) { if (true === $authorizationChecker->isGranted('VIEW', $item)) { $itemlist[] = $item; } } return ['total_count' => (int) $totalCount, 'total_items' => (int) $totalItems, 'list' => $itemlist]; }
/** * @Rest\Get("/select_options/unit_type") * @Rest\View(template=":default:index.html.twig",serializerEnableMaxDepthChecks=true, serializerGroups={"Default"}) */ public function listSelectOptionsForUnitTypeAction(Request $request) { $qb = $this->getDoctrine()->getManager()->createQueryBuilder()->select('ut')->from('AppBundle:UnitType', 'ut')->where('ut.organization = :org')->setParameter('org', $this->getUser()->getOrganization()); Utilities::setupSearchableEntityQueryBuild($qb, $request); $qb->select('ut')->orderBy('ut.name', 'ASC'); $items = $qb->getQuery()->getResult(); $itemlist = array(); $authorizationChecker = $this->get('security.authorization_checker'); foreach ($items as $item) { if (true === $authorizationChecker->isGranted('VIEW', $item)) { $itemlist[] = $item->getSelectOptionData(); } } return ['total_count' => count($itemlist), 'total_items' => count($itemlist), 'list' => $itemlist]; }