From 316f7ee6b5c1633a8786ff190c7ce7d68862c7dc Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sun, 12 Feb 2017 21:43:10 +0100 Subject: [PATCH] Bulkl path fix reverse --- Admin/Activate.php | 44 +++++ Admin/Deactivate.php | 44 +++++ Admin/Install/Navigation.install.json | 109 ++++++++++++ Admin/Install/Navigation.php | 40 +++++ Admin/Installer.php | 50 ++++++ Admin/Routes/Web/Backend.php | 30 ++++ Admin/Routes/console.php | 3 + Admin/Routes/socket.php | 3 + Admin/Uninstall.php | 43 +++++ Admin/Update.php | 46 +++++ Controller.php | 140 ++++++++++++++++ Theme/Backend/Lang/Navigation.en.lang.php | 20 +++ Theme/Backend/Lang/en.lang.php | 58 +++++++ Theme/Backend/supplier-create.tpl.php | 195 ++++++++++++++++++++++ Theme/Backend/supplier-list.tpl.php | 48 ++++++ Theme/Backend/supplier-single.tpl.php | 19 +++ info.json | 44 +++++ 17 files changed, 936 insertions(+) create mode 100644 Admin/Activate.php create mode 100644 Admin/Deactivate.php create mode 100644 Admin/Install/Navigation.install.json create mode 100644 Admin/Install/Navigation.php create mode 100644 Admin/Installer.php create mode 100644 Admin/Routes/Web/Backend.php create mode 100644 Admin/Routes/console.php create mode 100644 Admin/Routes/socket.php create mode 100644 Admin/Uninstall.php create mode 100644 Admin/Update.php create mode 100644 Controller.php create mode 100644 Theme/Backend/Lang/Navigation.en.lang.php create mode 100644 Theme/Backend/Lang/en.lang.php create mode 100644 Theme/Backend/supplier-create.tpl.php create mode 100644 Theme/Backend/supplier-list.tpl.php create mode 100644 Theme/Backend/supplier-single.tpl.php create mode 100644 info.json diff --git a/Admin/Activate.php b/Admin/Activate.php new file mode 100644 index 0000000..cc2ed70 --- /dev/null +++ b/Admin/Activate.php @@ -0,0 +1,44 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +namespace Modules\SupplierManagement\Admin; + + +use phpOMS\DataStorage\Database\DatabasePool; +use phpOMS\Module\ActivateAbstract; +use phpOMS\Module\InfoManager; + +/** + * Navigation class. + * + * @category Modules + * @package Modules\Admin + * @author OMS Development Team + * @author Dennis Eichhorn + * @license OMS License 1.0 + * @link http://orange-management.com + * @since 1.0.0 + */ +class Activate extends ActivateAbstract +{ + + /** + * {@inheritdoc} + */ + public static function activate(DatabasePool $dbPool, InfoManager $info) + { + parent::activate($dbPool, $info); + } +} diff --git a/Admin/Deactivate.php b/Admin/Deactivate.php new file mode 100644 index 0000000..3d05804 --- /dev/null +++ b/Admin/Deactivate.php @@ -0,0 +1,44 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +namespace Modules\SupplierManagement\Admin; + + +use phpOMS\DataStorage\Database\DatabasePool; +use phpOMS\Module\DeactivateAbstract; +use phpOMS\Module\InfoManager; + +/** + * Navigation class. + * + * @category Modules + * @package Modules\Admin + * @author OMS Development Team + * @author Dennis Eichhorn + * @license OMS License 1.0 + * @link http://orange-management.com + * @since 1.0.0 + */ +class Deactivate extends DeactivateAbstract +{ + + /** + * {@inheritdoc} + */ + public static function deactivate(DatabasePool $dbPool, InfoManager $info) + { + parent::deactivate($dbPool, $info); + } +} diff --git a/Admin/Install/Navigation.install.json b/Admin/Install/Navigation.install.json new file mode 100644 index 0000000..d8b3d0f --- /dev/null +++ b/Admin/Install/Navigation.install.json @@ -0,0 +1,109 @@ +[ + { + "id": 1003202001, + "pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd", + "type": 2, + "subtype": 1, + "name": "Suppliers", + "uri": "/{/lang}/backend/purchase/supplier/list?{?}", + "target": "self", + "icon": null, + "order": 1, + "from": 1003200000, + "permission": null, + "parent": 1002101001, + "children": [ + { + "id": 1003202101, + "pid": "520f00a1a583e4936dc01665781e0dfafd699613", + "type": 3, + "subtype": 1, + "name": "List", + "uri": "/{/lang}/backend/purchase/supplier/list?{?}", + "target": "self", + "icon": null, + "order": 1, + "from": 1003200000, + "permission": null, + "parent": 1003202001, + "children": [ + { + "id": 1003203101, + "pid": "8cb9bb8ac30a3372db74b90f4c847bdb48da45ce", + "type": 3, + "subtype": 1, + "name": "Profile", + "uri": "/{/lang}/backend/purchase/supplier/profile?{?}", + "target": "self", + "icon": null, + "order": 1, + "from": 1003200000, + "permission": null, + "parent": 1003202101, + "children": [] + }, + { + "id": 1003203201, + "pid": "8cb9bb8ac30a3372db74b90f4c847bdb48da45ce", + "type": 3, + "subtype": 1, + "name": "Invoices", + "uri": "/{/lang}/backend/purchase/supplier/invoice/list?{?}", + "target": "self", + "icon": null, + "order": 1, + "from": 1003200000, + "permission": null, + "parent": 1003202101, + "children": [] + }, + { + "id": 1003203301, + "pid": "8cb9bb8ac30a3372db74b90f4c847bdb48da45ce", + "type": 3, + "subtype": 1, + "name": "Articles", + "uri": "/{/lang}/backend/purchase/supplier/article/list?{?}", + "target": "self", + "icon": null, + "order": 1, + "from": 1003200000, + "permission": null, + "parent": 1003202101, + "children": [] + }, + { + "id": 1003203401, + "pid": "8cb9bb8ac30a3372db74b90f4c847bdb48da45ce", + "type": 3, + "subtype": 1, + "name": "Analysis", + "uri": "/{/lang}/backend/purchase/supplier/analysis?{?}", + "target": "self", + "icon": null, + "order": 1, + "from": 1003200000, + "permission": null, + "parent": 1003202101, + "children": [] + } + ] + }, + { + "id": 1003202201, + "pid": "520f00a1a583e4936dc01665781e0dfafd699613", + "type": 3, + "subtype": 1, + "name": "Create", + "uri": "/{/lang}/backend/purchase/supplier/create?{?}", + "target": "self", + "icon": null, + "order": 5, + "from": 1003200000, + "permission": null, + "parent": 1003202001, + "children": [] + } + ] + } +] diff --git a/Admin/Install/Navigation.php b/Admin/Install/Navigation.php new file mode 100644 index 0000000..7379768 --- /dev/null +++ b/Admin/Install/Navigation.php @@ -0,0 +1,40 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +namespace Modules\SupplierManagement\Admin\Install; +use phpOMS\DataStorage\Database\DatabasePool; + +/** + * Navigation class. + * + * @category Modules + * @package Modules\Admin + * @author OMS Development Team + * @author Dennis Eichhorn + * @license OMS License 1.0 + * @link http://orange-management.com + * @since 1.0.0 + */ +class Navigation +{ + public static function install(string $path, DatabasePool $dbPool) + { + $navData = json_decode(file_get_contents(__DIR__ . '/Navigation.install.json'), true); + + $class = '\\Modules\\Navigation\\Admin\\Installer'; + /** @var $class \Modules\Navigation\Admin\Installer */ + $class::installExternal($dbPool, $navData); + } +} diff --git a/Admin/Installer.php b/Admin/Installer.php new file mode 100644 index 0000000..03e169a --- /dev/null +++ b/Admin/Installer.php @@ -0,0 +1,50 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +namespace Modules\SupplierManagement\Admin; + +use phpOMS\DataStorage\Database\DatabaseType; +use phpOMS\DataStorage\Database\DatabasePool; +use phpOMS\Module\InfoManager; +use phpOMS\Module\InstallerAbstract; + +/** + * Purchase install class. + * + * @category Modules + * @package Modules\Purchase + * @author OMS Development Team + * @author Dennis Eichhorn + * @license OMS License 1.0 + * @link http://orange-management.com + * @since 1.0.0 + */ +class Installer extends InstallerAbstract +{ + + /** + * {@inheritdoc} + */ + public static function install(string $path, DatabasePool $dbPool, InfoManager $info) + { + parent::install($path, $dbPool, $info); + + switch ($dbPool->get('core')->getType()) { + case DatabaseType::MYSQL: + + break; + } + } +} diff --git a/Admin/Routes/Web/Backend.php b/Admin/Routes/Web/Backend.php new file mode 100644 index 0000000..3d5d47a --- /dev/null +++ b/Admin/Routes/Web/Backend.php @@ -0,0 +1,30 @@ + [ + [ + 'dest' => '\Modules\SupplierManagement\Controller:viewSupplierManagementSupplierList', + 'verb' => RouteVerb::GET, + ], + ], + '^.*/backend/purchase/supplier/create.*$' => [ + [ + 'dest' => '\Modules\SupplierManagement\Controller:viewSupplierManagementSupplierCreate', + 'verb' => RouteVerb::GET, + ], + ], + '^.*/backend/purchase/supplier/profile.*$' => [ + [ + 'dest' => '\Modules\SupplierManagement\Controller:viewSupplierManagementSupplierProfile', + 'verb' => RouteVerb::GET, + ], + ], + '^.*/backend/purchase/supplier/analysis.*$' => [ + [ + 'dest' => '\Modules\SupplierManagement\Controller:viewSupplierManagementSupplierAnalysis', + 'verb' => RouteVerb::GET, + ], + ], +]; diff --git a/Admin/Routes/console.php b/Admin/Routes/console.php new file mode 100644 index 0000000..1ecbfac --- /dev/null +++ b/Admin/Routes/console.php @@ -0,0 +1,3 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +namespace Modules\SupplierManagement\Admin; + + +use phpOMS\DataStorage\Database\DatabasePool; +use phpOMS\Module\UninstallAbstract; + +/** + * Navigation class. + * + * @category Modules + * @package Modules\Admin + * @author OMS Development Team + * @author Dennis Eichhorn + * @license OMS License 1.0 + * @link http://orange-management.com + * @since 1.0.0 + */ +class Uninstall extends UninstallAbstract +{ + + /** + * {@inheritdoc} + */ + public static function uninstall(DatabasePool $dbPool, InfoManager $info) + { + parent::uninstall($dbPool, $info); + } +} diff --git a/Admin/Update.php b/Admin/Update.php new file mode 100644 index 0000000..a1aeba7 --- /dev/null +++ b/Admin/Update.php @@ -0,0 +1,46 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +namespace Modules\SupplierManagement\Admin; + + +use phpOMS\DataStorage\Database\DatabasePool; +use phpOMS\Module\UpdateAbstract; +use phpOMS\System\File\Directory; + +/** + * Navigation class. + * + * @category Modules + * @package Modules\Admin + * @author OMS Development Team + * @author Dennis Eichhorn + * @license OMS License 1.0 + * @link http://orange-management.com + * @since 1.0.0 + */ +class Update extends UpdateAbstract +{ + + /** + * {@inheritdoc} + */ + public static function update(DatabasePool $dbPool, array $info) + { + Directory::deletePath(__DIR__ . '/Update'); + mkdir('Update'); + parent::update($dbPool, $info); + } +} diff --git a/Controller.php b/Controller.php new file mode 100644 index 0000000..866ebb7 --- /dev/null +++ b/Controller.php @@ -0,0 +1,140 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +namespace Modules\SupplierManagement; + +use Modules\Navigation\Models\Navigation; +use Modules\Navigation\Views\NavigationView; +use phpOMS\Contract\RenderableInterface; +use phpOMS\Message\RequestAbstract; +use phpOMS\Message\ResponseAbstract; +use phpOMS\Module\ModuleAbstract; +use phpOMS\Module\WebInterface; +use phpOMS\Views\View; +use phpOMS\Views\ViewLayout; + +/** + * SupplierManagement controller class. + * + * @category Modules + * @package Modules\SupplierManagement + * @author OMS Development Team + * @author Dennis Eichhorn + * @license OMS License 1.0 + * @link http://orange-management.com + * @since 1.0.0 + */ +class Controller extends ModuleAbstract implements WebInterface +{ + + /** + * Module path. + * + * @var string + * @since 1.0.0 + */ + /* public */ const MODULE_PATH = __DIR__; + + /** + * Module version. + * + * @var string + * @since 1.0.0 + */ + /* public */ const MODULE_VERSION = '1.0.0'; + + /** + * Module name. + * + * @var string + * @since 1.0.0 + */ + /* public */ const MODULE_NAME = 'SupplierManagement'; + + /** + * Providing. + * + * @var string + * @since 1.0.0 + */ + protected static $providing = []; + + /** + * Dependencies. + * + * @var string + * @since 1.0.0 + */ + protected static $dependencies = [ + ]; + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function viewSupplierManagementSupplierList(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/SupplierManagement/Theme/Backend/supplier-list'); + $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1003202001, $request, $response)); + + return $view; + } + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function viewSupplierManagementSupplierCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/SupplierManagement/Theme/Backend/supplier-create'); + $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1003202001, $request, $response)); + + return $view; + } + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function viewSupplierManagementSupplierProfile(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/SupplierManagement/Theme/Backend/supplier-profile'); + $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1003202001, $request, $response)); + + return $view; + } + +} diff --git a/Theme/Backend/Lang/Navigation.en.lang.php b/Theme/Backend/Lang/Navigation.en.lang.php new file mode 100644 index 0000000..8667521 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.en.lang.php @@ -0,0 +1,20 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +return ['Navigation' => [ + 'Create' => 'Create', + 'List' => 'List', + 'Suppliers' => 'Suppliers', +]]; diff --git a/Theme/Backend/Lang/en.lang.php b/Theme/Backend/Lang/en.lang.php new file mode 100644 index 0000000..5027d06 --- /dev/null +++ b/Theme/Backend/Lang/en.lang.php @@ -0,0 +1,58 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +return ['SupplierManagement' => [ + 'Accounting' => 'Accounting', + 'Address' => 'Address', + 'Addresses' => 'Addresses', + 'Articlegroup' => 'Articlegroup', + 'City' => 'City', + 'Contact' => 'Contact', + 'Country' => 'Country', + 'Creditcard' => 'Creditcard', + 'Date' => 'Date', + 'Default' => 'Default', + 'Delivery' => 'Delivery', + 'Email' => 'Email', + 'Fax' => 'Fax', + 'Files' => 'Files', + 'Freightage' => 'Freightage', + 'Group' => 'Group', + 'Info' => 'Info', + 'Invoice' => 'Invoice', + 'IsDefault' => 'Is default', + 'Log' => 'Log', + 'Logs' => 'Logs', + 'Master' => 'Master', + 'Name' => 'Name', + 'Name1' => 'Name1', + 'Name2' => 'Name2', + 'Name3' => 'Name3', + 'Office' => 'Office', + 'PaymentTerm' => 'Payment Term', + 'Payment' => 'Payment', + 'Phone' => 'Phone', + 'Productgroup' => 'Productgroup', + 'Purchase' => 'Purchase', + 'Sales' => 'Sales', + 'Segment' => 'Segment', + 'Subtype' => 'Subtype', + 'Support' => 'Support', + 'Supplier' => 'Supplier', + 'Suppliers' => 'Suppliers', + 'Type' => 'Type', + 'Wire' => 'Wire', + 'Zip' => 'Zip', +]]; diff --git a/Theme/Backend/supplier-create.tpl.php b/Theme/Backend/supplier-create.tpl.php new file mode 100644 index 0000000..0e25efb --- /dev/null +++ b/Theme/Backend/supplier-create.tpl.php @@ -0,0 +1,195 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +/** + * @var \phpOMS\Views\View $this + */ +echo $this->getData('nav')->render(); ?> + +
+
+ +
+
+ +
+
+

getText('Supplier') ?>

+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+

getText('Contact') ?>

+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+

getText('Address') ?>

+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+

getText('PaymentTerm') ?>

+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+

getText('Payment') ?>

+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ +
+ app, $this->request, $this->response); + $footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig'); + $footerView->setPages(20); + $footerView->setPage(1); + ?> +
+ + + + + + + + +
getText('Logs') ?>
IP + getText('ID', 0, 0); ?> + getText('Name'); ?> + getText('Log'); ?> + getText('Date'); ?> +
render(); ?> +
request->getOrigin(); ?> + request->getAccount(); ?> + request->getAccount(); ?> + Creating suppier + format('Y-m-d H:i:s') ?> +
+
+
+
+
diff --git a/Theme/Backend/supplier-list.tpl.php b/Theme/Backend/supplier-list.tpl.php new file mode 100644 index 0000000..a0472aa --- /dev/null +++ b/Theme/Backend/supplier-list.tpl.php @@ -0,0 +1,48 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ + +$footerView = new \Web\Views\Lists\PaginationView($this->app, $this->request, $this->response); +$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig'); +$footerView->setPages(20); +$footerView->setPage(1); + +echo $this->getData('nav')->render(); ?> + + +
+ + + + + + + + $value) : $count++; ?> + + +
getText('Suppliers') ?>
getText('ID', 0, 0); ?> + getText('Name1'); ?> + getText('Name2'); ?> + getText('Name3'); ?> + getText('City'); ?> + getText('Zip'); ?> + getText('Address'); ?> + getText('Country'); ?> +
render(); ?> +
getText('Empty', 0, 0); ?> + +
+
diff --git a/Theme/Backend/supplier-single.tpl.php b/Theme/Backend/supplier-single.tpl.php new file mode 100644 index 0000000..9e3f926 --- /dev/null +++ b/Theme/Backend/supplier-single.tpl.php @@ -0,0 +1,19 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +/** + * @var \phpOMS\Views\View $this + */ +echo $this->getData('nav')->render(); ?> diff --git a/info.json b/info.json new file mode 100644 index 0000000..55eaab3 --- /dev/null +++ b/info.json @@ -0,0 +1,44 @@ +{ + "name": { + "id": 1003200000, + "internal": "SupplierManagement", + "external": "OMS Purchase" + }, + "version": "1.0.0", + "requirements": { + "phpOMS": "1.0.0", + "phpOMS-db": "1.0.0" + }, + "creator": { + "name": "Orange Management", + "website": "www.spl1nes.com" + }, + "description": "Supplier management module.", + "directory": "SupplierManagement", + "dependencies": { + "Admin" : "1.0.0" + }, + "providing": { + "Navigation": "*" + }, + "load": [ + { + "pid": [ + "520f00a1a583e4936dc01665781e0dfafd699613" + ], + "type": 4, + "for": 0, + "from": "SupplierManagement", + "file": "SupplierManagement" + }, + { + "pid": [ + "754a08ddf8bcb1cf22f310f09206dd783d42f7dd" + ], + "type": 5, + "from": "SupplierManagement", + "for": "Navigation", + "file": "Navigation" + } + ] +}