public function register() { if ($this->isLogged()) { RouteService::redirect('account', 'profile', true); } $v = new RegisterViewModel(); $v->render(); }
/** * @param DeleteCategoryBindingModel $model * @throws \Exception * @Admin * @Editor */ public function delete(DeleteCategoryBindingModel $model) { $isDeleted = $this->_eshopData->getCategoriesRepository()->remove($model->getCategoryId()); // TODO ADD JAVASCRIPT CONFIRMATION BOX if ($isDeleted) { RouteService::redirect('categories', 'all', true); } else { echo 'Error during delete category'; } }
/** * @param DeleteProductBindingModel $model * @throws InvalidUserInputException * @throws \Exception * @Admin * @Editor */ public function deleteProduct(DeleteProductBindingModel $model) { $exists = $this->_eshopData->getProductsRepository()->findById($model->getProductId()); if (!$exists) { throw new InvalidUserInputException("Product with such id does not exists"); } $isDeleted = $this->_eshopData->getProductsRepository()->remove($model->getProductId()); if ($isDeleted) { RouteService::redirect('categories', 'products/' . $model->getCategoryId(), true); } echo "Error during delete product"; }
<?php namespace EShop; require_once 'FrontController.php'; use EShop\Config\AppConfig; use EShop\Config\RouteConfig; use EShop\Exceptions\InvalidCredentialsException; use EShop\Exceptions\InvalidUserInputException; use EShop\Exceptions\InvalidUserOperationException; use EShop\Exceptions\UnauthorizedException; use EShop\Helpers\RouteService; use EShop\Helpers\TokenHelper; RouteService::init(RouteConfig::getBasePath()); final class App { /** * @var FrontController */ private $frontController; public function __construct() { $this->frontController = new \EShop\FrontController(); \EShop\DependencyContainer\AppStarter::registerDbConfigurations(); } public function start() { if (!isset($_SESSION['formToken'])) { TokenHelper::setCSRFToken(); } try {
public function putDiscountOnAllProducts(AddAllProductsPromoBindingModel $model) { if ($model->getDiscount() < 1) { throw new InvalidUserInputException("Discount cannot be equal or less than 0."); } $hasPromotion = $this->_eshopData->getProductsRepository()->allProductsPromotionAvailable(); if ($hasPromotion) { throw new InvalidUserOperationException("There is already valid promo for all products."); } $isDiscounted = $this->_eshopData->getProductsRepository()->putAllProductsOnPromotion($model->getDiscount()); if ($isDiscounted) { RouteService::redirect('admin/admin', 'adminPanel', true); } echo 'Error during add all products promo'; }
/** * @param BindModels\ReorderProductBindingModel $model * @throws InvalidUserInputException * @throws InvalidUserOperationException * @throws \Exception * @Authorize * @Admin * @Editor */ public function reorder(BindModels\ReorderProductBindingModel $model) { if ($model->getQuantity() < 2) { throw new InvalidUserInputException("You cannot order less than 1 item quantity"); } $productExists = $this->_eshopData->getProductsRepository()->findById($model->getProductId()); if ($productExists == null) { throw new InvalidUserOperationException("The selected product does not exist anymore."); } $isUpdated = $this->_eshopData->getProductsRepository()->reorderProduct($model->getProductId(), $model->getQuantity()); if ($isUpdated) { RouteService::redirect('categories', 'products/' . $productExists->getCategoryId(), true); } echo 'Error during reorder product'; }