diff --git a/Admin/Activate.php b/Admin/Activate.php new file mode 100644 index 0000000..6c0f1b5 --- /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\Purchase\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..a123c1e --- /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\Purchase\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..417c49f --- /dev/null +++ b/Admin/Install/Navigation.install.json @@ -0,0 +1,33 @@ +[ + { + "id": 1002101001, + "pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd", + "type": 2, + "subtype": 0, + "name": "Purchase", + "uri": null, + "target": "self", + "icon": "fa fa-shopping-cart", + "order": 30, + "from": 1002100000, + "permission": null, + "parent": 0, + "children": [ + { + "id": 1002106001, + "pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd", + "type": 2, + "subtype": 1, + "name": "Analysis", + "uri": "/{/lang}/backend/purchase/analysis?{?}", + "target": "self", + "icon": null, + "order": 15, + "from": 1002100000, + "permission": null, + "parent": 1002101001, + "children": [] + } + ] + } +] diff --git a/Admin/Install/Navigation.php b/Admin/Install/Navigation.php new file mode 100644 index 0000000..7685d2c --- /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\Purchase\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..5032417 --- /dev/null +++ b/Admin/Installer.php @@ -0,0 +1,104 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +namespace Modules\Purchase\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: + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'purchase_article` ( + `purchase_article_id` int(11) NOT NULL AUTO_INCREMENT, + `purchase_article_item` int(11) DEFAULT NULL, + PRIMARY KEY (`purchase_article_id`), + KEY `purchase_article_item` (`purchase_article_item`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'purchase_article` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'purchase_article_ibfk_1` FOREIGN KEY (`purchase_article_item`) REFERENCES `' . $dbPool->get('core')->prefix . 'itemreference` (`itemreference_id`);' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'purchase_supplier` ( + `purchase_supplier_id` int(11) NOT NULL AUTO_INCREMENT, + `purchase_supplier_account` int(11) NOT NULL, + PRIMARY KEY (`purchase_supplier_id`), + KEY `account` (`purchase_supplier_account`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'purchase_supplier` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'purchase_supplier_ibfk_1` FOREIGN KEY (`purchase_supplier_account`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);' + )->execute(); + + // TODO: create reference between WE, RG and Order????? + /* These are the invoices that get created by the purchasing department */ + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'purchase_invoice` ( + `purchase_invoice_id` int(11) NOT NULL AUTO_INCREMENT, + `purchase_invoice_status` tinyint(2) DEFAULT NULL, + `purchase_invoice_type` tinyint(2) DEFAULT NULL, + `purchase_invoice_created` datetime DEFAULT NULL, + `purchase_invoice_printed` datetime DEFAULT NULL, + `purchase_invoice_price` decimal(9,2) DEFAULT NULL, + `purchase_invoice_currency` varchar(3) DEFAULT NULL, + `purchase_invoice_creator` int(11) NOT NULL, + `purchase_invoice_supplier` int(11) NOT NULL, + `purchase_invoice_referer` int(11) NOT NULL, + PRIMARY KEY (`purchase_invoice_id`), + KEY `purchase_invoice_creator` (`purchase_invoice_creator`), + KEY `purchase_invoice_supplier` (`purchase_invoice_supplier`), + KEY `purchase_invoice_referer` (`purchase_invoice_referer`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'purchase_invoice` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'purchase_invoice_ibfk_1` FOREIGN KEY (`purchase_invoice_creator`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`), + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'purchase_invoice_ibfk_2` FOREIGN KEY (`purchase_invoice_supplier`) REFERENCES `' . $dbPool->get('core')->prefix . 'purchase_supplier` (`purchase_supplier_id`), + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'purchase_invoice_ibfk_3` FOREIGN KEY (`purchase_invoice_referer`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);' + )->execute(); + break; + } + } +} diff --git a/Admin/Routes/Web/Backend.php b/Admin/Routes/Web/Backend.php new file mode 100644 index 0000000..4b9e2d2 --- /dev/null +++ b/Admin/Routes/Web/Backend.php @@ -0,0 +1,42 @@ + [ + [ + 'dest' => '\Modules\Purchase\Controller:viewPurchaseInvoiceCreate', + 'verb' => RouteVerb::GET, + ], + ], + '^.*/backend/purchase/invoice/list.*$' => [ + [ + 'dest' => '\Modules\Purchase\Controller:viewPurchaseInvoiceList', + 'verb' => RouteVerb::GET, + ], + ], + '^.*/backend/purchase/article/list.*$' => [ + [ + 'dest' => '\Modules\Purchase\Controller:viewPurchaseArticleList', + 'verb' => RouteVerb::GET, + ], + ], + '^.*/backend/purchase/article/recommend.*$' => [ + [ + 'dest' => '\Modules\Purchase\Controller:viewPurchaseOrderRecommendation', + 'verb' => RouteVerb::GET, + ], + ], + '^.*/backend/purchase/article/create.*$' => [ + [ + 'dest' => '\Modules\Purchase\Controller:viewPurchaseArticleCreate', + 'verb' => RouteVerb::GET, + ], + ], + '^.*/backend/purchase/article/profile.*$' => [ + [ + 'dest' => '\Modules\Purchase\Controller:viewPurchaseArticleProfile', + '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\Purchase\Admin; + + +use phpOMS\DataStorage\Database\DatabasePool; +use phpOMS\DataStorage\Database\Schema\Builder; +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); + + $query = new Builder($dbPool->get()); + + $query->prefix($dbPool->get('core')->getPrefix())->drop( + 'purchase_invoice', + 'purchase_supplier', + 'purchase_article' + ); + + $dbPool->get()->con->prepare($query->toSql())->execute(); + } +} diff --git a/Admin/Update.php b/Admin/Update.php new file mode 100644 index 0000000..c2ba6d5 --- /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\Purchase\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..9477b7c --- /dev/null +++ b/Controller.php @@ -0,0 +1,197 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +namespace Modules\Purchase; + +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; + +/** + * Purchase controller 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 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 = 'Purchase'; + + /** + * 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 viewPurchaseInvoiceList(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/Purchase/Theme/Backend/invoice-list'); + $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1003001001, $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 viewPurchaseInvoiceCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/Purchase/Theme/Backend/invoice-create'); + $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1003001001, $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 viewPurchaseArticleList(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/Purchase/Theme/Backend/article-list'); + $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1003001001, $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 viewPurchaseArticleCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/Purchase/Theme/Backend/article-create'); + $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1003001001, $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 viewPurchaseArticleProfile(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/Purchase/Theme/Backend/article-profile'); + $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1003001001, $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 viewPurchaseOrderRecommendation(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/Purchase/Theme/Backend/article-order-recommendation'); + $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1003001001, $request, $response)); + + return $view; + } + +} diff --git a/Models/Article.php b/Models/Article.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/Invoice.php b/Models/Invoice.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/OrderSuggestion.php b/Models/OrderSuggestion.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/Supplier.php b/Models/Supplier.php new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md new file mode 100644 index 0000000..2ae86fb --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Purchase # diff --git a/Theme/Backend/Lang/Navigation.en.lang.php b/Theme/Backend/Lang/Navigation.en.lang.php new file mode 100644 index 0000000..ad01f01 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.en.lang.php @@ -0,0 +1,28 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +return ['Navigation' => [ + 'Analysis' => 'Analysis', + 'Articles' => 'Articles', + 'Create' => 'Create', + 'Invoices' => 'Invoices', + 'Invoice' => 'Invoice', + 'List' => 'List', + 'OrderSuggestions' => 'Order Suggestions', + 'PendingOrders' => 'Pending Orders', + 'Profile' => 'Profile', + 'Purchase' => 'Purchase', + 'Suppliers' => 'Suppliers', +]]; diff --git a/Theme/Backend/Lang/api.en.lang.php b/Theme/Backend/Lang/api.en.lang.php new file mode 100644 index 0000000..afe845f --- /dev/null +++ b/Theme/Backend/Lang/api.en.lang.php @@ -0,0 +1,17 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +$MODLANG[1] = [ +]; diff --git a/Theme/Backend/Lang/en.lang.php b/Theme/Backend/Lang/en.lang.php new file mode 100644 index 0000000..47a44d1 --- /dev/null +++ b/Theme/Backend/Lang/en.lang.php @@ -0,0 +1,103 @@ + + * @author Dennis Eichhorn + * @copyright Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +return ['Purchase' => [ + 'Account' => 'Account', + 'Active' => 'Active', + 'Activity' => 'Activity', + 'Address' => 'Address', + 'All' => 'All', + 'Amount' => 'Amount', + 'Analysis' => 'Analysis', + 'Area' => 'Area', + 'Article' => 'Article', + 'Articles' => 'Articles', + 'Available' => 'Available', + 'Calculate' => 'Calculate', + 'City' => 'City', + 'Class' => 'Class', + 'Confirmation' => 'Confirmation', + 'CoreData' => 'Core data', + 'Country' => 'Country', + 'Created' => 'Created', + 'Creator' => 'Creator', + 'CreditNote' => 'Credit Note', + 'Date' => 'Date', + 'DefaultInternational' => 'Default International', + 'DefaultNational' => 'Default National', + 'Delivery' => 'Delivery', + 'DeliveryNote' => 'Delivery Note', + 'Description' => 'Description', + 'Discount' => 'Discount', + 'DiscountP' => 'Discount in %', + 'Documentation' => 'Documentation', + 'DSO' => 'DSO', + 'Employee' => 'Employee', + 'FAO' => 'FAO', + 'From' => 'From', + 'Group' => 'Group', + 'Groups' => 'Groups', + 'Highest' => 'Highest', + 'Inactive' => 'Inactive', + 'Interval' => 'Interval', + 'Invoice' => 'Invoice', + 'Invoices' => 'Invoices', + 'IsDefault' => 'Is default?', + 'Language' => 'Language', + 'Last' => 'Last', + 'Localization' => 'Localization', + 'Loginname' => 'Loginname', + 'Matchcode' => 'Matchcode', + 'Media' => 'Media', + 'MinPrice' => 'Min Price', + 'Name' => 'Name', + 'Name1' => 'Name 1', + 'Name2' => 'Name 2', + 'Name3' => 'Name 3', + 'Offer' => 'Offer', + 'Order' => 'Order', + 'Orders' => 'Orders', + 'Ordered' => 'Ordered', + 'OrderedBy' => 'Ordered By', + 'OrderedDate' => 'Ordered Date', + 'Payment' => 'Payment', + 'Price' => 'Price', + 'Priority' => 'Priority', + 'Purchases' => 'Purchases', + 'Quantity' => 'Quantity', + 'Receipt' => 'Receipt', + 'Reference' => 'Reference', + 'Sales' => 'Sales', + 'Settings' => 'Settings', + 'Single' => 'Single', + 'State' => 'State', + 'Statistics' => 'Statistics', + 'Status' => 'Status', + 'Stock' => 'Stock', + 'Street' => 'Street', + 'Subgroup' => 'Subgroup', + 'Supplier' => 'Supplier', + 'SupplierID' => 'Supplier ID', + 'SupplierName' => 'Supplier Name', + 'Suppliers' => 'Suppliers', + 'Tax' => 'Tax', + 'Terms' => 'Terms', + 'To' => 'To', + 'TopArticles' => 'Top Articles', + 'Trend' => 'Trend', + 'Turnover' => 'Turnover', + 'Type' => 'Type', + 'ZipCode' => 'ZipCode', +]]; diff --git a/Theme/Backend/analysis-dashboard.tpl.php b/Theme/Backend/analysis-dashboard.tpl.php new file mode 100644 index 0000000..9e3f926 --- /dev/null +++ b/Theme/Backend/analysis-dashboard.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/Theme/Backend/article-create.tpl.php b/Theme/Backend/article-create.tpl.php new file mode 100644 index 0000000..9e3f926 --- /dev/null +++ b/Theme/Backend/article-create.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/Theme/Backend/article-list.tpl.php b/Theme/Backend/article-list.tpl.php new file mode 100644 index 0000000..9e3f926 --- /dev/null +++ b/Theme/Backend/article-list.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/Theme/Backend/article-order-pending-list.tpl.php b/Theme/Backend/article-order-pending-list.tpl.php new file mode 100644 index 0000000..9e3f926 --- /dev/null +++ b/Theme/Backend/article-order-pending-list.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/Theme/Backend/article-order-suggestion.tpl.php b/Theme/Backend/article-order-suggestion.tpl.php new file mode 100644 index 0000000..9e3f926 --- /dev/null +++ b/Theme/Backend/article-order-suggestion.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/Theme/Backend/article-single.tpl.php b/Theme/Backend/article-single.tpl.php new file mode 100644 index 0000000..9e3f926 --- /dev/null +++ b/Theme/Backend/article-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/Theme/Backend/invoice-archive.tpl.php b/Theme/Backend/invoice-archive.tpl.php new file mode 100644 index 0000000..9e3f926 --- /dev/null +++ b/Theme/Backend/invoice-archive.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/Theme/Backend/invoice-create.tpl.php b/Theme/Backend/invoice-create.tpl.php new file mode 100644 index 0000000..9e3f926 --- /dev/null +++ b/Theme/Backend/invoice-create.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/Theme/Backend/invoice-list.tpl.php b/Theme/Backend/invoice-list.tpl.php new file mode 100644 index 0000000..9e3f926 --- /dev/null +++ b/Theme/Backend/invoice-list.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/Theme/Backend/invoice-single.tpl.php b/Theme/Backend/invoice-single.tpl.php new file mode 100644 index 0000000..9e3f926 --- /dev/null +++ b/Theme/Backend/invoice-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/img/module_teaser_small.png b/img/module_teaser_small.png new file mode 100644 index 0000000..f56e6ff Binary files /dev/null and b/img/module_teaser_small.png differ diff --git a/info.json b/info.json new file mode 100644 index 0000000..db3257c --- /dev/null +++ b/info.json @@ -0,0 +1,44 @@ +{ + "name": { + "id": 1002100000, + "internal": "Purchase", + "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": "Purchase module.", + "directory": "Purchase", + "dependencies": { + "Admin" : "1.0.0" + }, + "providing": { + "Navigation": "*" + }, + "load": [ + { + "pid": [ + "6e21607dfaf20d18e793417dd8e874941f0cc740" + ], + "type": 4, + "for": 0, + "from": "Purchase", + "file": "Purchase" + }, + { + "pid": [ + "754a08ddf8bcb1cf22f310f09206dd783d42f7dd" + ], + "type": 5, + "from": "Purchase", + "for": "Navigation", + "file": "Navigation" + } + ] +}