diff --git a/Admin/Installer.php b/Admin/Installer.php index e8bcfff..fe8d28e 100755 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -80,9 +80,9 @@ final class Installer extends InstallerAbstract $request->setData('abbr', $data['abbr'] ?? ''); $request->setData('percentage_invoice', $data['percentage_invoice'] ?? 0); $request->setData('percentage_sales_tax', $data['percentage_sales_tax'] ?? 0); + $request->setData('percentage_input_tax', $data['percentage_input_tax'] ?? 0); $request->setData('tax1', $data['tax1_account'] ?? null); $request->setData('tax2', $data['tax2_account'] ?? null); - $request->setData('percentage_input_tax', $data['percentage_input_tax'] ?? 0); $request->setData('title', \reset($data['l11n'])['title'] ?? ''); $request->setData('short', \reset($data['l11n'])['short'] ?? ''); $request->setData('long', \reset($data['l11n'])['long'] ?? ''); diff --git a/Admin/Routes/Web/Backend.php b/Admin/Routes/Web/Backend.php index 23d654a..4d11de0 100755 --- a/Admin/Routes/Web/Backend.php +++ b/Admin/Routes/Web/Backend.php @@ -22,9 +22,10 @@ return [ [ 'dest' => '\Modules\Finance\Controller\BackendController:viewDashboard', 'verb' => RouteVerb::GET, + 'active' => true, 'permission' => [ 'module' => BackendController::NAME, - 'type' => PermissionType::CREATE, + 'type' => PermissionType::READ, 'state' => PermissionCategory::ANALYSIS, ], ], @@ -33,9 +34,22 @@ return [ [ 'dest' => '\Modules\Finance\Controller\BackendController:viewTaxList', 'verb' => RouteVerb::GET, + 'active' => true, 'permission' => [ 'module' => BackendController::NAME, - 'type' => PermissionType::CREATE, + 'type' => PermissionType::READ, + 'state' => PermissionCategory::TAX, + ], + ], + ], + '^/finance/tax/code/view(\?.*$|$)' => [ + [ + 'dest' => '\Modules\Finance\Controller\BackendController:viewTaxCode', + 'verb' => RouteVerb::GET, + 'active' => true, + 'permission' => [ + 'module' => BackendController::NAME, + 'type' => PermissionType::READ, 'state' => PermissionCategory::TAX, ], ], @@ -44,6 +58,7 @@ return [ [ 'dest' => '\Modules\Finance\Controller\BackendController:viewTaxCreate', 'verb' => RouteVerb::GET, + 'active' => true, 'permission' => [ 'module' => BackendController::NAME, 'type' => PermissionType::CREATE, diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 8046989..064fdd5 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -132,7 +132,7 @@ final class ApiController extends Controller } /** - * Api method to create tag localization + * Api method to create tax code localization * * @param RequestAbstract $request Request * @param ResponseAbstract $response Response @@ -159,7 +159,7 @@ final class ApiController extends Controller } /** - * Method to create tag localization from request. + * Method to create tax code localization from request. * * @param RequestAbstract $request Request * diff --git a/Controller/BackendController.php b/Controller/BackendController.php index d196335..8f0b7ad 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -45,7 +45,7 @@ final class BackendController extends Controller public function viewTaxList(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); - $view->setTemplate('/Modules/Finance/Theme/Backend/finance-taxcode-list'); + $view->setTemplate('/Modules/Finance/Theme/Backend/taxcode-list'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1008102001, $request, $response); $view->data['taxcode'] = TaxCodeMapper::getAll() @@ -68,7 +68,7 @@ final class BackendController extends Controller public function viewTaxView(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface { $view = new View($this->app->l11nManager, $request, $response); - $view->setTemplate('/Modules/Finance/Theme/Backend/finance-taxcode-view'); + $view->setTemplate('/Modules/Finance/Theme/Backend/taxcode-view'); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1008102001, $request, $response); $view->data['taxcode'] = TaxCodeMapper::getAll() @@ -76,4 +76,24 @@ final class BackendController extends Controller return $view; } + + /** + * Method which shows the sales dashboard + * + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param array $data Generic data + * + * @return RenderableInterface Response can be rendered + * + * @since 1.0.0 + */ + public function viewTaxCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface + { + $view = new View($this->app->l11nManager, $request, $response); + $view->setTemplate('/Modules/Finance/Theme/Backend/taxcode-view'); + $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1008102001, $request, $response); + + return $view; + } } diff --git a/Models/TaxCode.php b/Models/TaxCode.php index 7923f20..ce2105c 100755 --- a/Models/TaxCode.php +++ b/Models/TaxCode.php @@ -45,6 +45,8 @@ class TaxCode implements \JsonSerializable // 1. Account (gross postings are automatically split) // 2. Tax code // 3. Tax combination + + // @todo create comment which is the sales an which is the input tax account public ?string $taxAccount1 = null; public ?string $taxAccount2 = null; diff --git a/Theme/Backend/Lang/de.lang.php b/Theme/Backend/Lang/de.lang.php index 56c8f7b..80101fa 100755 --- a/Theme/Backend/Lang/de.lang.php +++ b/Theme/Backend/Lang/de.lang.php @@ -22,7 +22,6 @@ return ['Finance' => [ 'Analysis' => 'Analyse', 'Analyze' => 'Analyse', 'Area' => 'Bereich', - 'Article' => 'Artikel', 'Articles' => 'Artikel', 'Available' => 'Erhältlich', 'Calculate' => 'Berechnung', @@ -106,6 +105,9 @@ return ['Finance' => [ 'TaxCodes' => 'Steuerkz.', 'TaxCode' => 'Steuerkz.', 'Purchase' => 'Einkauf', + 'InvoicePercentage' => 'Rechnungsprozentsatz', + 'OutputPercentage' => 'Umsatzsteuerprozentsatz', + 'InputPercentage' => 'Vorsteuerprozentsatz', 'Tax1Account' => 'Steuerkonto 1', 'Tax2Account' => 'Steyerkonto 2', ]]; diff --git a/Theme/Backend/Lang/en.lang.php b/Theme/Backend/Lang/en.lang.php index bb2cf6e..b51cc51 100755 --- a/Theme/Backend/Lang/en.lang.php +++ b/Theme/Backend/Lang/en.lang.php @@ -22,8 +22,6 @@ return ['Finance' => [ 'Analysis' => 'Analysis', 'Analyze' => 'Analyze', 'Area' => 'Area', - 'Article' => 'Article', - 'Articles' => 'Articles', 'Available' => 'Available', 'Calculate' => 'Calculate', 'City' => 'City', @@ -106,6 +104,9 @@ return ['Finance' => [ 'TaxCodes' => 'Tax Codes', 'TaxCode' => 'Tax Code', 'Purchase' => 'Purchase', + 'InvoicePercentage' => 'Invoice Percentage', + 'OutputPercentage' => 'Sales Percentage', + 'InputPercentage' => 'Input Percentage', 'Tax1Account' => 'Tax Account 1', 'Tax2Account' => 'Tax Account 2', ]]; diff --git a/Theme/Backend/finance-taxcode-list.tpl.php b/Theme/Backend/taxcode-list.tpl.php similarity index 100% rename from Theme/Backend/finance-taxcode-list.tpl.php rename to Theme/Backend/taxcode-list.tpl.php diff --git a/Theme/Backend/taxcode-view.tpl.php b/Theme/Backend/taxcode-view.tpl.php new file mode 100644 index 0000000..ca51e92 --- /dev/null +++ b/Theme/Backend/taxcode-view.tpl.php @@ -0,0 +1,81 @@ +data['taxcode'] ?? new NullTaxCode(); +$isNew = $taxcode->id === 0; + +/** @var \phpOMS\Views\View $this */ +echo $this->data['nav']->render(); ?> +