partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

commit 19f45a11852173a3c1d27d4e011844c7475458fb
parent 6a0ce6da839052204ea42f644537b6eb27118c1f
Author: Felicitus <felicitus@felicitus.org>
Date:   Sat, 31 Oct 2015 18:29:36 +0100

Removed legacy stock service

Diffstat:
Dsrc/backend/PartKeepr/Stock/StockManager.php | 67-------------------------------------------------------------------
Dsrc/backend/PartKeepr/Stock/StockService.php | 93-------------------------------------------------------------------------------
2 files changed, 0 insertions(+), 160 deletions(-)

diff --git a/src/backend/PartKeepr/Stock/StockManager.php b/src/backend/PartKeepr/Stock/StockManager.php @@ -1,66 +0,0 @@ -<?php -namespace PartKeepr\Stock; - -use PartKeepr\Manager\AbstractManager, - Doctrine\ORM\QueryBuilder, - PartKeepr\Manager\ManagerFilter, - PartKeepr\PartKeepr; - -class StockManager extends AbstractManager { - /** - * Returns the FQCN for the target entity to operate on. - * @return string The FQCN, e.g. PartKeepr\Part - */ - public function getEntityName () { - return 'PartKeepr\Stock\StockEntry'; - } - - /** - * Returns all fields which need to appear in the getList ResultSet. - * @return array An array of all fields which should be returned - */ - public function getQueryFields () { - return array(); - } - - /** - * Returns the default sort field - * - * @return string The default sort field - */ - public function getDefaultSortField () { - return "dateTime"; - } - - /** - * Applies a custom query to the QueryBuilder - * - * @param QueryBuilder $qb The query builder - * @param ManagerFilter $filter The query filter - */ - protected function applyCustomQuery (QueryBuilder $qb, ManagerFilter $filter) { - - // Apply special handling for non-direct fields in relations, where the frontend has no idea about. - foreach ($filter->getSorters() as $sorter) { - switch ($sorter->getSortField()) { - case "q.part_name": - $qb->join("q.part", "p"); - $sorter->setSortField("p.name"); - break; - case "q.user_id": - $qb->leftJoin("q.user", "u"); - $sorter->setSortField("u.username"); - break; - case "q.direction": - $sorter->setSortField("q.dateTime"); - break; - case "q.storageLocation_name": - $qb->join("q.part", "p")->join("p.storageLocation", "st"); - $sorter->setSortField("st.name"); - break; - default: - break; - } - } - } -}- \ No newline at end of file diff --git a/src/backend/PartKeepr/Stock/StockService.php b/src/backend/PartKeepr/Stock/StockService.php @@ -1,92 +0,0 @@ -<?php -namespace PartKeepr\Stock; - -use PartKeepr\AuthBundle\Entity\User; -use PartKeepr\Manager\ManagerFilter; -use PartKeepr\PartKeepr; -use PartKeepr\Service\RestfulService; -use PartKeepr\Service\Service; -use PartKeepr\Session\SessionManager; - -class StockService extends Service implements RestfulService { - /** - * (non-PHPdoc) - * @see PartKeepr\Service.RestfulService::get() - */ - public function get () { - if ($this->hasParameter("id")) { - return array("data" => StockManager::getInstance()->getEntity($this->getParameter("id"))->serialize()); - } else { - $parameters = new ManagerFilter($this); - $parameters->setFilterField("name"); - - if ($this->hasParameter("part")) { - $parameters->setFilterCallback(array($this, "filterCallback")); - } - return StockManager::getInstance()->getList($parameters); - } - } - - /** - * If the "part" parameter is set, join the part into the result and filter on that - * @param QueryBuilder The $queryBuilder - */ - public function filterCallback ($queryBuilder) { - $queryBuilder->andWhere("q.part = :part"); - $queryBuilder->setParameter("part", $this->getParameter("part")); - } - - public function create () { - throw new \Exception("Not yet implemented"); - } - - /** - * (non-PHPdoc) - * @see PartKeepr\Service.RestfulService::update() - */ - public function update () { - $this->requireParameter("id"); - - $stockEntry = StockEntry::loadById($this->getParameter("id")); - - if (!SessionManager::getCurrentSession()->getUser()->isAdmin() && - !(SessionManager::getCurrentSession()->getUser() && $stockEntry->getUser() && SessionManager::getCurrentSession()->getUser()->getId() == $stockEntry->getUser()->getId() )) { - throw new \Exception("Permission denied"); - } - - /* It's not allowed to edit a price for a removal */ - if (!$stockEntry->isRemoval()) { - $stockEntry->setPrice(abs($this->getParameter("price"))); - } - - /** - * Only an admin user may correct the in&out stock levels - */ - if (SessionManager::getCurrentSession()->getUser()->isAdmin()) { - if ($this->getParameter("direction") == "out") { - $stockEntry->setStockLevel(-(abs($this->getParameter("stockLevel")))); - } else { - $stockEntry->setStockLevel($this->getParameter("stockLevel")); - } - - } - - if (SessionManager::getCurrentSession()->getUser()->isAdmin()) { - try { - $stockEntry->setUser(User::loadById($this->getParameter("user_id"))); - } catch (\Exception $e) { - $stockEntry->setUser(null); - } - - } - - $stockEntry->setComment($this->getParameter("comment")); - PartKeepr::getEM()->flush(); - - return array("data" => $stockEntry->serialize()); - } - - public function destroy () { - throw new \Exception("Not yet implemented"); - } -}- \ No newline at end of file