This commit is contained in:
Dennis Eichhorn 2015-11-29 21:57:18 +01:00
commit 4691e6bb58
49 changed files with 3464 additions and 0 deletions

View File

@ -0,0 +1,38 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Admin\Install;
/**
* Navigation class.
*
* @category Modules
* @package Modules\Admin
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
class Navigation
{
public static function install($dbPool)
{
$navData = json_decode(file_get_contents(__DIR__ . '/nav.install.json'), true);
$class = '\\Modules\\Navigation\\Admin\\Installer';
$class::installExternal($dbPool, $navData);
}
}

View File

@ -0,0 +1,217 @@
[
{
"id": 1002601001,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 2,
"subtype": 0,
"name": "Accounting",
"uri": null,
"target": "self",
"icon": "fa fa-book",
"order": 50,
"from": 1002600000,
"permission": null,
"parent": 0,
"children": [
{
"id": 1002602001,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 2,
"subtype": 1,
"name": "Accounts",
"uri": "/{/lang}/backend/accounting/gl/list",
"target": "self",
"icon": null,
"order": 5,
"from": 1002600000,
"permission": null,
"parent": 1002601001,
"children": [
{
"id": 1002602101,
"pid": "1259733702c323edae599221fcbf82f0a479372a",
"type": 3,
"subtype": 1,
"name": "List",
"uri": "/{/lang}/backend/accounting/gl/list",
"target": "self",
"icon": null,
"order": 1,
"from": 1002600000,
"permission": null,
"parent": 1002602001,
"children": []
},
{
"id": 1002602201,
"pid": "1259733702c323edae599221fcbf82f0a479372a",
"type": 3,
"subtype": 1,
"name": "Create",
"uri": "/{/lang}/backend/accounting/gl/create",
"target": "self",
"icon": null,
"order": 5,
"from": 1002600000,
"permission": null,
"parent": 1002602001,
"children": []
}
]
},
{
"id": 1002603001,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 2,
"subtype": 1,
"name": "CostCenters",
"uri": "/{/lang}/backend/accounting/costcenter/list",
"target": "self",
"icon": null,
"order": 5,
"from": 1002600000,
"permission": null,
"parent": 1002601001,
"children": [
{
"id": 1002603101,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 3,
"subtype": 1,
"name": "List",
"uri": "/{/lang}/backend/accounting/costcenter/list",
"target": "self",
"icon": null,
"order": 5,
"from": 1002600000,
"permission": null,
"parent": 1002603001,
"children": []
},
{
"id": 1002603201,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 3,
"subtype": 1,
"name": "Create",
"uri": "/{/lang}/backend/accounting/costcenter/create",
"target": "self",
"icon": null,
"order": 10,
"from": 1002600000,
"permission": null,
"parent": 1002603001,
"children": []
}
]
},
{
"id": 1002604001,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 2,
"subtype": 1,
"name": "CostObjects",
"uri": "/{/lang}/backend/accounting/costobject/list",
"target": "self",
"icon": null,
"order": 5,
"from": 1002600000,
"permission": null,
"parent": 1002601001,
"children": [
{
"id": 1002604101,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 3,
"subtype": 1,
"name": "List",
"uri": "/{/lang}/backend/accounting/costobject/list",
"target": "self",
"icon": null,
"order": 5,
"from": 1002600000,
"permission": null,
"parent": 1002604001,
"children": []
},
{
"id": 1002604201,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 3,
"subtype": 1,
"name": "Create",
"uri": "/{/lang}/backend/accounting/costobject/create",
"target": "self",
"icon": null,
"order": 10,
"from": 1002600000,
"permission": null,
"parent": 1002604001,
"children": []
}
]
},
{
"id": 1002605001,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 2,
"subtype": 1,
"name": "BatchPostings",
"uri": "/{/lang}/backend/accounting/stack/list",
"target": "self",
"icon": null,
"order": 20,
"from": 1002600000,
"permission": null,
"parent": 1002601001,
"children": [
{
"id": 1002605101,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 3,
"subtype": 1,
"name": "List",
"uri": "/{/lang}/backend/accounting/stack/list",
"target": "self",
"icon": null,
"order": 5,
"from": 1002600000,
"permission": null,
"parent": 1002605001,
"children": []
},
{
"id": 1002605201,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 3,
"subtype": 1,
"name": "Archive",
"uri": "/{/lang}/backend/accounting/stack/archive/list",
"target": "self",
"icon": null,
"order": 10,
"from": 1002600000,
"permission": null,
"parent": 1002605001,
"children": []
},
{
"id": 1002605301,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 3,
"subtype": 1,
"name": "Create",
"uri": "/{/lang}/backend/accounting/stack/create",
"target": "self",
"icon": null,
"order": 15,
"from": 1002600000,
"permission": null,
"parent": 1002605001,
"children": []
}
]
}
]
}
]

213
Admin/Installer.php Normal file
View File

@ -0,0 +1,213 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Admin;
use phpOMS\DataStorage\Database\DatabaseType;
use phpOMS\DataStorage\Database\Pool;
use phpOMS\Module\InstallerAbstract;
/**
* Navigation class.
*
* @category Modules
* @package Modules\Admin
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
class Installer extends InstallerAbstract
{
/**
* {@inheritdoc}
*/
public static function install(Pool $dbPool, array $info)
{
parent::install($dbPool, $info);
switch ($dbPool->get('core')->getType()) {
case DatabaseType::MYSQL:
$dbPool->get('core')->con->prepare(
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'accounting_account` (
`accounting_account_id` int(11) NOT NULL AUTO_INCREMENT,
`accounting_account_name` varchar(25) NOT NULL,
`accounting_account_description` varchar(255) NOT NULL,
`accounting_account_type` tinyint(1) NOT NULL,
`accounting_account_parent` int(11) NOT NULL,
PRIMARY KEY (`accounting_account_id`),
KEY `accounting_account_parent` (`accounting_account_parent`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'
)->execute();
$dbPool->get('core')->con->prepare(
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'accounting_account`
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'accounting_account_ibfk_1` FOREIGN KEY (`accounting_account_parent`) REFERENCES `' . $dbPool->get('core')->prefix . 'accounting_account` (`accounting_account_id`);'
)->execute();
$dbPool->get('core')->con->prepare(
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'accounting_batch` (
`accounting_batch_id` int(11) NOT NULL AUTO_INCREMENT,
`accounting_batch_title` varchar(30) NOT NULL,
`accounting_batch_creator` int(11) NOT NULL,
`accounting_batch_created`datetime NOT NULL,
`accounting_batch_type` tinyint(1) NOT NULL,
PRIMARY KEY (`accounting_batch_id`),
KEY `accounting_batch_creator` (`accounting_batch_creator`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'
)->execute();
$dbPool->get('core')->con->prepare(
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'accounting_batch`
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'accounting_batch_ibfk_1` FOREIGN KEY (`accounting_batch_creator`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);'
)->execute();
$dbPool->get('core')->con->prepare(
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'accounting_posting` (
`accounting_posting_id` int(11) NOT NULL AUTO_INCREMENT,
`accounting_posting_batch` int(11) NOT NULL,
`accounting_posting_receipt` int(11) DEFAULT NULL,
`accounting_posting_receipt_ext` int(11) DEFAULT NULL,
`accounting_posting_price` decimal(11,3) NOT NULL,
`accounting_posting_affiliation` datetime NOT NULL,
PRIMARY KEY (`accounting_posting_id`),
KEY `accounting_posting_batch` (`accounting_posting_batch`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'
)->execute();
$dbPool->get('core')->con->prepare(
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'accounting_posting`
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'accounting_posting_ibfk_1` FOREIGN KEY (`accounting_posting_batch`) REFERENCES `' . $dbPool->get('core')->prefix . 'accounting_batch` (`accounting_batch_id`);'
)->execute();
$dbPool->get('core')->con->prepare(
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'accounting_posting_ele` (
`accounting_posting_ele_id` int(11) NOT NULL AUTO_INCREMENT,
`accounting_posting_ele_type` tinyint(1) NOT NULL,
`accounting_posting_ele_account` int(11) NOT NULL,
`accounting_posting_ele_value` decimal(11,3) NOT NULL,
`accounting_posting_ele_tax` tinyint(1) NOT NULL,
PRIMARY KEY (`accounting_posting_ele_id`),
KEY `accounting_posting_ele_account` (`accounting_posting_ele_account`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'
)->execute();
$dbPool->get('core')->con->prepare(
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'accounting_posting_ele`
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'accounting_posting_ele_ibfk_1` FOREIGN KEY (`accounting_posting_ele_account`) REFERENCES `' . $dbPool->get('core')->prefix . 'accounting_account` (`accounting_account_id`);'
)->execute();
/*
* type = (offer, confirmation etc.)
* soptained = date of when we received the service/order (not the invoice)
* check = person who checked or is supposed to check the invoice
* checked = date of when the invoice got approved (no datetime = no approval)
* posting referes (direct)
* payment referes to this (indirect)
* status {
* blank
* received-ok
* received-notok
* checked-ok
* checked-notok
* posted-ok
* posted-notok
* payed-ok
* payed-notok
* }
*/
/*
* TODO: Purchasing can create. person who creates automatically get's permission for these to read.
* TODO: move to different module
*/
/*
$dbPool->get('core')->con->prepare(
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'accounting_invoices_process` (
`AccountingInvoiceProcessID` int(11) NOT NULL AUTO_INCREMENT,
`media` int(11) DEFAULT NULL,
`type` tinyint(1) DEFAULT NULL,
`supplier` int(11) DEFAULT NULL,
`sname` varchar(32) DEFAULT NULL,
`optained` datetime NOT NULL,
`soptained` datetime NOT NULL,
`refnumber` varchar(24) NOT NULL,
`invoicedate` datetime NOT NULL,
`internalref` int(11) NOT NULL,
`due` datetime NOT NULL,
`duediscount` datetime NOT NULL,
`amount` decimal(11,3) NOT NULL,
`amountdiscount` decimal(11,3) NOT NULL,
`order` int(11) DEFAULT NULL,
`arrival` int(11) DEFAULT NULL,
`dnote` int(11) DEFAULT NULL,
PRIMARY KEY (`AccountingInvoiceProcessID`),
KEY `media` (`media`),
KEY `order` (`order`),
KEY `arrival` (`arrival`),
KEY `dnote` (`dnote`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'
)->execute();
$dbPool->get('core')->con->prepare(
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'accounting_invoices_process`
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'accounting_invoices_process_ibfk_1` FOREIGN KEY (`media`) REFERENCES `' . $dbPool->get('core')->prefix . 'media` (`media_id`),
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'accounting_invoices_process_ibfk_2` FOREIGN KEY (`order`) REFERENCES `' . $dbPool->get('core')->prefix . 'purchase_invoices` (`PurchaseInvoiceID`),
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'accounting_invoices_process_ibfk_3` FOREIGN KEY (`arrival`) REFERENCES `' . $dbPool->get('core')->prefix . 'warehousing_arrival` (`WarehousingArrivalID`),
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'accounting_invoices_process_ibfk_4` FOREIGN KEY (`dnote`) REFERENCES `' . $dbPool->get('core')->prefix . 'purchase_dnote` (`PurchaseDnoteID`);'
)->execute();
$dbPool->get('core')->con->prepare(
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'accounting_invoices_status` (
`AccountingInvoiceStatusID` int(11) NOT NULL AUTO_INCREMENT,
`invoice` int(11) DEFAULT NULL,
`status` tinyint(1) DEFAULT NULL,
`person` int(11) DEFAULT NULL,
`changed` datetime DEFAULT NULL,
`info` varchar(256) NOT NULL,
PRIMARY KEY (`AccountingInvoiceStatusID`),
KEY `invoice` (`invoice`),
KEY `person` (`person`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'
)->execute();
$dbPool->get('core')->con->prepare(
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'accounting_invoices_status`
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'accounting_invoices_status_ibfk_1` FOREIGN KEY (`invoice`) REFERENCES `' . $dbPool->get('core')->prefix . 'accounting_invoices_process` (`AccountingInvoiceProcessID`),
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'accounting_invoices_status_ibfk_2` FOREIGN KEY (`person`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);'
)->execute();
$dbPool->get('core')->con->prepare(
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'accounting_invoices_process_permission` (
`AccountingInvoiceProcessPermissionID` int(11) NOT NULL AUTO_INCREMENT,
`process` int(11) DEFAULT NULL,
`person` int(11) DEFAULT NULL,
`permission` int(11) DEFAULT NULL,
PRIMARY KEY (`AccountingInvoiceProcessPermissionID`),
KEY `person` (`person`),
KEY `process` (`process`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'
)->execute();
$dbPool->get('core')->con->prepare(
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'accounting_invoices_process_permission`
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'accounting_invoices_process_permission_ibfk_1` FOREIGN KEY (`person`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`),
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'accounting_invoices_process_permission_ibfk_2` FOREIGN KEY (`process`) REFERENCES `' . $dbPool->get('core')->prefix . 'accounting_invoices_process` (`AccountingInvoiceProcessID`);'
)->execute();*/
break;
}
}
}

423
Controller.php Normal file
View File

@ -0,0 +1,423 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting;
use Modules\Navigation\Models\Navigation;
use Modules\Navigation\Views\NavigationView;
use phpOMS\Contract\RenderableInterface;
use phpOMS\Message\RequestAbstract;
use phpOMS\Message\RequestDestination;
use phpOMS\Message\ResponseAbstract;
use phpOMS\Module\ModuleAbstract;
use phpOMS\Module\WebInterface;
use phpOMS\Views\View;
use phpOMS\Views\ViewLayout;
/**
* Accounting class.
*
* @category Modules
* @package Framework
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
class Controller extends ModuleAbstract implements WebInterface
{
/**
* Module name.
*
* @var \string
* @since 1.0.0
*/
protected static $module = 'Accounting';
/**
* Localization files.
*
* @var \string
* @since 1.0.0
*/
protected static $localization = [
RequestDestination::BACKEND => ['backend'],
];
/**
* Routing elements.
*
* @var array
* @since 1.0.0
*/
protected static $routes = [
'^.*/backend/accounting/personal/entries.*$' => [['dest' => '\Modules\Accounting\Controller:viewPersonalEntries', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/impersonal/entries.*$' => [['dest' => '\Modules\Accounting\Controller:viewImpersonalEntries', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/entries.*$' => [['dest' => '\Modules\Accounting\Controller:viewEntries', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/impersonal/journal/list.*$' => [['dest' => '\Modules\Accounting\Controller:viewJournalList', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/stack/list.*$' => [['dest' => '\Modules\Accounting\Controller:viewStackList', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/stack/entries.*$' => [['dest' => '\Modules\Accounting\Controller:viewStackEntries', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/stack/archive/list.*$' => [['dest' => '\Modules\Accounting\Controller:viewStackArchiveList', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/stack/create.*$' => [['dest' => '\Modules\Accounting\Controller:viewStackCreate', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/gl/list.*$' => [['dest' => '\Modules\Accounting\Controller:viewGLList', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/gl/create.*$' => [['dest' => '\Modules\Accounting\Controller:viewGLCreate', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/gl/profile.*$' => [['dest' => '\Modules\Accounting\Controller:viewGLProfile', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/costobject/list.*$' => [['dest' => '\Modules\Accounting\Controller:viewCostObjectList', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/costobject/create.*$' => [['dest' => '\Modules\Accounting\Controller:viewCostObjectCreate', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/costobject/profile.*$' => [['dest' => '\Modules\Accounting\Controller:viewCostObjectProfile', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/costcenter/list.*$' => [['dest' => '\Modules\Accounting\Controller:viewCostCenterList', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/costcenter/create.*$' => [['dest' => '\Modules\Accounting\Controller:viewCostCenterCreate', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/backend/accounting/costcenter/profile.*$' => [['dest' => '\Modules\Accounting\Controller:viewCostCenterProfile', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/api/accounting/dun/print.*$' => [['dest' => '\Modules\Accounting\Controller:viewCostCenterProfile', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/api/accounting/statement/print.*$' => [['dest' => '\Modules\Accounting\Controller:viewCostCenterProfile', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/api/accounting/balances/print.*$' => [['dest' => '\Modules\Accounting\Controller:viewCostCenterProfile', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
'^.*/api/accounting/accountform/print.*$' => [['dest' => '\Modules\Accounting\Controller:viewCostCenterProfile', 'method' => 'GET', 'type' => ViewLayout::MAIN],],
];
/**
* Providing.
*
* @var \string
* @since 1.0.0
*/
protected static $providing = [
'Content',
];
/**
* Dependencies.
*
* @var \string
* @since 1.0.0
*/
protected static $dependencies = [
'Media',
];
/**
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
* @param mixed $data Generic data
*
* @return RenderableInterface
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function viewEntries(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/entries');
$view->addData('nav', $this->createNavigation(1000104001, $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 <d.eichhorn@oms.com>
*/
public function viewJournalList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/journal-list');
$view->addData('nav', $this->createNavigation(1000104001, $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 <d.eichhorn@oms.com>
*/
public function viewStackList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/stack-list');
$view->addData('nav', $this->createNavigation(1002605001, $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 <d.eichhorn@oms.com>
*/
public function viewStackCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/stack-create');
$view->addData('nav', $this->createNavigation(1002605001, $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 <d.eichhorn@oms.com>
*/
public function viewStackEntries(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/stack-entries');
$view->addData('nav', $this->createNavigation(1002605001, $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 <d.eichhorn@oms.com>
*/
public function viewStackArchiveList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/stack-archive-list');
$view->addData('nav', $this->createNavigation(1002605001, $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 <d.eichhorn@oms.com>
*/
public function viewGLList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/gl-list');
$view->addData('nav', $this->createNavigation(1002602001, $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 <d.eichhorn@oms.com>
*/
public function viewGLCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/gl-create');
$view->addData('nav', $this->createNavigation(1002602001, $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 <d.eichhorn@oms.com>
*/
public function viewGLProfile(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/gl-profile');
$view->addData('nav', $this->createNavigation(1002602001, $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 <d.eichhorn@oms.com>
*/
public function viewCostObjectList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/costobject-list');
$view->addData('nav', $this->createNavigation(1002604001, $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 <d.eichhorn@oms.com>
*/
public function viewCostObjectCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/costobject-create');
$view->addData('nav', $this->createNavigation(1002604001, $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 <d.eichhorn@oms.com>
*/
public function viewCostObjectProfile(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/costobject-profile');
$view->addData('nav', $this->createNavigation(1002604001, $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 <d.eichhorn@oms.com>
*/
public function viewCostCenterList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/costcenter-list');
$view->addData('nav', $this->createNavigation(1002603001, $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 <d.eichhorn@oms.com>
*/
public function viewCostCenterCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/costcenter-create');
$view->addData('nav', $this->createNavigation(1002603001, $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 <d.eichhorn@oms.com>
*/
public function viewCostCenterProfile(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
{
$view = new View($this->app, $request, $response);
$view->setTemplate('/Modules/Accounting/Theme/backend/costcenter-profile');
$view->addData('nav', $this->createNavigation(1002603001, $request, $response));
return $view;
}
/**
* @param int $pageId Page/parent Id for navigation
* @param RequestAbstract $request Request
* @param ResponseAbstract $response Response
*
* @return RenderableInterface
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
private function createNavigation(\int $pageId, RequestAbstract $request, ResponseAbstract $response)
{
$nav = Navigation::getInstance($request, $this->app->dbPool);
$navView = new NavigationView($this->app, $request, $response);
$navView->setTemplate('/Modules/Navigation/Theme/backend/mid');
$navView->setNav($nav->getNav());
$navView->setLanguage($request->getL11n()->language);
$navView->setParent($pageId);
return $navView;
}
}

View File

@ -0,0 +1,99 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
/**
* Account abstraction class.
*
* @category Module
* @package Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class AccountAbstract implements AccountInterface
{
/**
* Account ID.
*
* @var \int
* @since 1.0.0
*/
protected $id = 0;
/**
* Type.
*
* @var \Modules\Accounting\Models\AccountType
* @since 1.0.0
*/
protected $type = null;
/**
* Entry list.
*
* @var \Modules\Accounting\Models\EntryInterface[]
* @since 1.0.0
*/
protected $entryList = 0;
/**
* Constructor.
*
* @param \int $id Account ID
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __construct($id)
{
$this->id = $id;
}
/**
* Get entry.
*
* @param \int $id Entry ID
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getEntryById($id)
{
}
/**
* Get entry.
*
* @param \DateTime $start Interval start
* @param \DateTime $end Interval end
* @param \int $dateType
*
* @internal \Modules\Accounting\Models\TimeRangeType $dateTime Time range type
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getEntriesByDate($start, $end, $dateType = TimeRangeType::RECEIPT_DATE)
{
}
}

212
Models/AccountBalance.php Normal file
View File

@ -0,0 +1,212 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
/**
* Account balance class.
*
* @category Modules
* @package Modules\Accounting\Models
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class AccountBalance
{
/**
* Id.
*
* @var \int
* @since 1.0.0
*/
private $id = null;
/**
* Time range start.
*
* @var \DateTime
* @since 1.0.0
*/
private $start = null;
/**
* Time range end.
*
* @var \DateTime
* @since 1.0.0
*/
private $end = null;
/**
* Time range type.
*
* @var \Modules\Accounting\Models\TimeRangeType
* @since 1.0.0
*/
private $rangetype = null;
/**
* Account.
*
* @var \Modules\Accounting\Models\AccountInterface
* @since 1.0.0
*/
private $account = null;
/**
* Balance.
*
* @var \float
* @since 1.0.0
*/
private $balance = null;
/**
* Constructor.
*
* @param \int $id Account id
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __construct(\int $id)
{
$this->id = $id;
}
/**
* @return \DateTime
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getStart()
{
return $this->start;
}
/**
* @param \DateTime $start
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setStart($start)
{
$this->start = $start;
}
/**
* @return \DateTime
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getEnd()
{
return $this->end;
}
/**
* @param \DateTime $end
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setEnd($end)
{
$this->end = $end;
}
/**
* @return TimeRangeType
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getRangetype()
{
return $this->rangetype;
}
/**
* @param TimeRangeType $rangetype
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setRangetype($rangetype)
{
$this->rangetype = $rangetype;
}
/**
* @return AccountInterface
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getAccount()
{
return $this->account;
}
/**
* @param AccountInterface $account
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setAccount($account)
{
$this->account = $account;
}
/**
* @return \float
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getBalance()
{
return $this->balance;
}
/**
* @param \float $balance
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setBalance($balance)
{
$this->balance = $balance;
}
}

View File

@ -0,0 +1,51 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
/**
* Account interface.
*
* @category Module
* @package Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
interface AccountInterface
{
/**
* Get all groups.
*
* This function gets all groups in a range
*
* @return \float
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getBalance();
/**
* Close out account.
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function closeOut();
}

40
Models/AccountType.php Normal file
View File

@ -0,0 +1,40 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
use phpOMS\Datatypes\Enum;
/**
* Account type enum.
*
* @category Modules
* @package Modules\Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class AccountType extends Enum
{
const IMPERSONAL = 0;
const PERSONAL = 1;
const CREDITOR = 2;
const DEBITOR = 3;
}

156
Models/Balance.php Normal file
View File

@ -0,0 +1,156 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
use phpOMS\Utils\IO\ExchangeInterface;
/**
* Balance class.
*
* @category Modules
* @package Modules\Accounting\Models
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class Balance implements ExchangeInterface
{
/**
* ID.
*
* @var \int
* @since 1.0.0
*/
private $id = 0;
/**
* Date of the balance.
*
* @var \Datetime
* @since 1.0.0
*/
private $date = null;
/**
* Balance data.
*
* @var array
* @since 1.0.0
*/
private $balance = [
'credit' => [
'capital' => [],
'circulating' => [],
],
'debit' => [
'equity' => [],
'debt' => [],
],
];
/**
* Constructor.
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __construct()
{
}
/**
* @return \int
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getId()
{
return $this->id;
}
/**
* @param \int $id
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setId($id)
{
$this->id = $id;
}
/**
* {@inheritdoc}
*/
public function exportJson($path)
{
}
/**
* {@inheritdoc}
*/
public function importJson($path)
{
}
/**
* {@inheritdoc}
*/
public function exportCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function importCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function exportExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function importExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function exportPdf($path)
{
}
/**
* {@inheritdoc}
*/
public function importPdf($path)
{
}
}

303
Models/BatchPosting.php Normal file
View File

@ -0,0 +1,303 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
use phpOMS\Utils\IO\ExchangeInterface;
/**
* BatchPosting class.
*
* @category Module
* @package Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
class BatchPosting implements ExchangeInterface, \Countable
{
/**
* ID.
*
* @var \int
* @since 1.0.0
*/
private $id = 0;
/**
* Creator.
*
* @var \int
* @since 1.0.0
*/
private $creator = null;
/**
* Created.
*
* @var \Datetime
* @since 1.0.0
*/
private $created = null;
/**
* Description.
*
* @var \string
* @since 1.0.0
*/
private $description = null;
/**
* Postings.
*
* @var \Modules\Accounting\Models\PostingAbstract[]
* @since 1.0.0
*/
private $postings = [];
/**
* Constructor.
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __construct()
{
}
/**
* Get id.
*
* @return \int
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getId()
{
return $this->id;
}
/**
* Set id.
*
* @param \int $id Batch ID
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setId($id)
{
$this->id = $id;
}
/**
* Get description.
*
* @return \string
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getDescription()
{
return $this->description;
}
/**
* Set description.
*
* @param \string $desc Description
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setDescription($desc)
{
}
/**
* Get created.
*
* @return \Datetime
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getCreated()
{
return $this->created;
}
/**
* Set creator.
*
* @param \Datetime $created Created
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setCreated($created)
{
$this->created = $created;
}
/**
* Get creator.
*
* @return \int
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getCreator()
{
return $this->creator;
}
/**
* Set creator.
*
* @param \int $creator Creator ID
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function setCreator($creator)
{
$this->creator = $creator;
}
/**
* Get posting.
*
* @param \int $id Posting ID
*
* @return \Modules\Accounting\Models\PostingAbstract
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getPosting($id)
{
return $this->postings[$id];
}
/**
* Remove posting.
*
* @param \int $id Posting ID
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function removePosting($id)
{
unset($this->postings[$id]);
}
/**
* Add posting.
*
* @param \Modules\Accounting\Models\PostingAbstract $posting Posting
*
* @return void
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function addPosting($posting)
{
$this->postings[] = $posting;
}
/**
* {@inheritdoc}
*/
public function count()
{
return count($this->postings);
}
/**
* {@inheritdoc}
*/
public function exportJson($path)
{
}
/**
* {@inheritdoc}
*/
public function importJson($path)
{
}
/**
* {@inheritdoc}
*/
public function exportCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function importCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function exportExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function importExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function exportPdf($path)
{
}
/**
* {@inheritdoc}
*/
public function importPdf($path)
{
}
}

0
Models/CostCenter.php Normal file
View File

0
Models/CostObject.php Normal file
View File

0
Models/CreditPosting.php Normal file
View File

99
Models/Creditor.php Normal file
View File

@ -0,0 +1,99 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
use phpOMS\Utils\IO\ExchangeInterface;
/**
* Creditor class.
*
* @category Module
* @package Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class Creditor implements ExchangeInterface
{
/**
* Constructor.
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __construct()
{
}
/**
* {@inheritdoc}
*/
public function exportJson($path)
{
}
/**
* {@inheritdoc}
*/
public function importJson($path)
{
}
/**
* {@inheritdoc}
*/
public function exportCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function importCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function exportExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function importExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function exportPdf($path)
{
}
/**
* {@inheritdoc}
*/
public function importPdf($path)
{
}
}

View File

@ -0,0 +1,51 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
use Modules\Accounting\Models\PersonalAccount;
/**
* Creditor account class.
*
* @category Modules
* @package Modules\Accounting\Models
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class CreditorAccount extends PersonalAccount
{
/**
* Constructor.
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __construct()
{
}
public function getPDO()
{
}
public function getDefault()
{
}
}

0
Models/DebitPosting.php Normal file
View File

99
Models/Debitor.php Normal file
View File

@ -0,0 +1,99 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
use phpOMS\Utils\IO\ExchangeInterface;
/**
* Debitor class.
*
* @category Module
* @package Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class Debitor implements ExchangeInterface
{
/**
* Constructor.
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __construct()
{
}
/**
* {@inheritdoc}
*/
public function exportJson($path)
{
}
/**
* {@inheritdoc}
*/
public function importJson($path)
{
}
/**
* {@inheritdoc}
*/
public function exportCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function importCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function exportExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function importExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function exportPdf($path)
{
}
/**
* {@inheritdoc}
*/
public function importPdf($path)
{
}
}

55
Models/DebitorAccount.php Normal file
View File

@ -0,0 +1,55 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
use Modules\Accounting\Models\PersonalAccount;
/**
* DebitorAccount class.
*
* @category Modules
* @package Modules\Accounting\Models
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class DebitorAccount extends PersonalAccount
{
/**
* Constructor.
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __construct()
{
}
public function getDSO()
{
}
public function getDefault()
{
}
public function getNetReceivable()
{
}
}

31
Models/EntryInterface.php Normal file
View File

@ -0,0 +1,31 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
/**
* Entry interface.
*
* @category Modules
* @package Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
interface EntryInterface
{
}

View File

@ -0,0 +1,99 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
use phpOMS\Utils\IO\ExchangeInterface;
/**
* ImpersonalAccount class.
*
* @category Module
* @package Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class ImpersonalAccount implements ExchangeInterface
{
/**
* Constructor.
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __construct()
{
}
/**
* {@inheritdoc}
*/
public function exportJson($path)
{
}
/**
* {@inheritdoc}
*/
public function importJson($path)
{
}
/**
* {@inheritdoc}
*/
public function exportCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function importCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function exportExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function importExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function exportPdf($path)
{
}
/**
* {@inheritdoc}
*/
public function importPdf($path)
{
}
}

View File

@ -0,0 +1,98 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
use phpOMS\Utils\IO\ExchangeInterface;
/**
* IncomeStatement class.
*
* @category Module
* @package Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class IncomeStatement implements ExchangeInterface
{
private $id = 0;
private $date = null;
private $incomeStatement = [];
public function __construct()
{
}
/**
* {@inheritdoc}
*/
public function exportJson($path)
{
}
/**
* {@inheritdoc}
*/
public function importJson($path)
{
}
/**
* {@inheritdoc}
*/
public function exportCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function importCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function exportExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function importExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function exportPdf($path)
{
}
/**
* {@inheritdoc}
*/
public function importPdf($path)
{
}
}

99
Models/InvoicePosting.php Normal file
View File

@ -0,0 +1,99 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
/**
* Invoice posting class.
*
* @category Module
* @package Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class InvoicePosting extends PostingAbstract
{
/**
* Constructor.
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __construct()
{
}
/**
* {@inheritdoc}
*/
public function exportJson($path)
{
}
/**
* {@inheritdoc}
*/
public function importJson($path)
{
}
/**
* {@inheritdoc}
*/
public function exportCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function importCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function exportExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function importExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function exportPdf($path)
{
}
/**
* {@inheritdoc}
*/
public function importPdf($path)
{
}
}

View File

@ -0,0 +1,99 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
/**
* Invoice posting simple class.
*
* @category Module
* @package Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class InvoicePostingSimple extends PostingAbstract
{
/**
* Constructor.
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __construct()
{
}
/**
* {@inheritdoc}
*/
public function exportJson($path)
{
}
/**
* {@inheritdoc}
*/
public function importJson($path)
{
}
/**
* {@inheritdoc}
*/
public function exportCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function importCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function exportExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function importExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function exportPdf($path)
{
}
/**
* {@inheritdoc}
*/
public function importPdf($path)
{
}
}

View File

@ -0,0 +1,110 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
use phpOMS\Utils\IO\ExchangeInterface;
/**
* ImpersonalAccount class.
*
* @category Modules
* @package Modules\Accounting\Models
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class PersonalAccountAbstract extends AccountAbstract implements ExchangeInterface
{
protected $id = 0;
public function __construct()
{
}
public function getBalance()
{
}
public function getAccountsReceivable()
{
}
public function getAccountsPayable()
{
}
public function getAccountsHistory($start, $end)
{
}
/**
* {@inheritdoc}
*/
public function exportJson($path)
{
}
/**
* {@inheritdoc}
*/
public function importJson($path)
{
}
/**
* {@inheritdoc}
*/
public function exportCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function importCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function exportExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function importExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function exportPdf($path)
{
}
/**
* {@inheritdoc}
*/
public function importPdf($path)
{
}
}

99
Models/Posting.php Normal file
View File

@ -0,0 +1,99 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
/**
* Posting class.
*
* @category Module
* @package Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class Posting extends PostingAbstract
{
/**
* Constructor.
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __construct()
{
}
/**
* {@inheritdoc}
*/
public function exportJson($path)
{
}
/**
* {@inheritdoc}
*/
public function importJson($path)
{
}
/**
* {@inheritdoc}
*/
public function exportCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function importCsv($path)
{
}
/**
* {@inheritdoc}
*/
public function exportExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function importExcel($path)
{
}
/**
* {@inheritdoc}
*/
public function exportPdf($path)
{
}
/**
* {@inheritdoc}
*/
public function importPdf($path)
{
}
}

View File

@ -0,0 +1,43 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
/**
* Posting abstract class.
*
* @category Module
* @package Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class PostingAbstract implements PostingInterface
{
/**
* Constructor.
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function __construct()
{
}
}

View File

@ -0,0 +1,33 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
use phpOMS\Utils\IO\ExchangeInterface;
/**
* Posting interface.
*
* @category Modules
* @package Accounting
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
interface PostingInterface extends ExchangeInterface
{
}

37
Models/TimeRangeType.php Normal file
View File

@ -0,0 +1,37 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
namespace Modules\Accounting\Models;
use phpOMS\Datatypes\Enum;
/**
* Time range type enum.
*
* @category Modules
* @package Modules\Accounting\Models
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @license OMS License 1.0
* @link http://orange-management.com
* @since 1.0.0
*/
abstract class TimeRangeType extends Enum
{
const ENTRY_DATE = 0; /* Date of when the entry happened */
const DUE_DATE = 1; /* Date of when the entry is due (only for invoices) */
const RECEIPT_DATE = 2; /* Date of the receipt */
const ASSOCIATED_DATE = 3; /* Date of the association (e.g. when did the articles arrive) */
}

1
README.md Normal file
View File

@ -0,0 +1 @@
# Accounting #

View File

@ -0,0 +1,33 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
echo $this->getData('nav')->render(); ?>
<section class="box w-50">
<h1><?= $this->l11n->lang['Accounting']['CostCenter']; ?></h1>
<div class="inner">
<form>
<table class="layout wf-100">
<tr><td><label for="iId"><?= $this->l11n->lang[0]['ID']; ?></label>
<tr><td><input type="text" id="iId" name="id">
<tr><td><label for="iName"><?= $this->l11n->lang['Accounting']['Name']; ?></label>
<tr><td><input type="text" id="iName" name="name">
<tr><td><label for="iParent"><?= $this->l11n->lang['Accounting']['Parent']; ?></label>
<tr><td><input type="text" id="iParent" name="parent">
<tr><td><input type="submit" value="<?= $this->l11n->lang[0]['Create']; ?>">
</table>
</form>
</div>
</section>

View File

@ -0,0 +1,52 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
/**
* @var \phpOMS\Views\View $this
*/
$footerView = new \Web\Views\Lists\PaginationView($this->app, $this->request, $this->response);
$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig');
$footerView->setPages(1 / 25);
$footerView->setPage(1);
$footerView->setResults(1);
echo $this->getData('nav')->render(); ?>
<section class="box w-100">
<table class="table">
<caption><?= $this->l11n->lang['Accounting']['CostCenters']; ?></caption>
<thead>
<tr>
<td><?= $this->l11n->lang[0]['ID']; ?>
<td class="wf-100"><?= $this->l11n->lang['Accounting']['Name']; ?>
<tfoot>
<tr><td colspan="5"><?= $footerView->render(); ?>
<tbody>
<?php $c = 0; foreach ([] as $key => $value) : $c++;
$url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/admin/group/settings?id=' . $value->getId()); ?>
<tr>
<td><a href="<?= $url; ?>"><?= $value->getId(); ?></a>
<td><a href="<?= $url; ?>"><?= $value->getName(); ?></a>
<td>
<td>
<td>
<?php endforeach; ?>
<?php if($c === 0) : ?>
<tr><td colspan="5" class="empty"><?= $this->l11n->lang[0]['Empty']; ?>
<?php endif; ?>
</table>
</section>

View File

@ -0,0 +1,16 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
echo $this->getData('nav')->render(); ?>

View File

@ -0,0 +1,33 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
echo $this->getData('nav')->render(); ?>
<section class="box w-50">
<h1><?= $this->l11n->lang['Accounting']['CostObject']; ?></h1>
<div class="inner">
<form>
<table class="layout wf-100">
<tr><td><label for="iId"><?= $this->l11n->lang[0]['ID']; ?></label>
<tr><td><input type="text" id="iId" name="id">
<tr><td><label for="iName"><?= $this->l11n->lang['Accounting']['Name']; ?></label>
<tr><td><input type="text" id="iName" name="name">
<tr><td><label for="iParent"><?= $this->l11n->lang['Accounting']['Parent']; ?></label>
<tr><td><input type="text" id="iParent" name="parent">
<tr><td><input type="submit" value="<?= $this->l11n->lang[0]['Create']; ?>">
</table>
</form>
</div>
</section>

View File

@ -0,0 +1,52 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
/**
* @var \phpOMS\Views\View $this
*/
$footerView = new \Web\Views\Lists\PaginationView($this->app, $this->request, $this->response);
$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig');
$footerView->setPages(1 / 25);
$footerView->setPage(1);
$footerView->setResults(1);
echo $this->getData('nav')->render(); ?>
<section class="box w-100">
<table class="table">
<caption><?= $this->l11n->lang['Accounting']['CostObjects']; ?></caption>
<thead>
<tr>
<td><?= $this->l11n->lang[0]['ID']; ?>
<td class="wf-100"><?= $this->l11n->lang['Accounting']['Name']; ?>
<tfoot>
<tr><td colspan="5"><?= $footerView->render(); ?>
<tbody>
<?php $c = 0; foreach ([] as $key => $value) : $c++;
$url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/admin/group/settings?id=' . $value->getId()); ?>
<tr>
<td><a href="<?= $url; ?>"><?= $value->getId(); ?></a>
<td><a href="<?= $url; ?>"><?= $value->getName(); ?></a>
<td>
<td>
<td>
<?php endforeach; ?>
<?php if($c === 0) : ?>
<tr><td colspan="5" class="empty"><?= $this->l11n->lang[0]['Empty']; ?>
<?php endif; ?>
</table>
</section>

View File

@ -0,0 +1,16 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
echo $this->getData('nav')->render(); ?>

View File

@ -0,0 +1,16 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
echo $this->getData('nav')->render(); ?>

View File

@ -0,0 +1,33 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
echo $this->getData('nav')->render(); ?>
<section class="box w-50">
<h1><?= $this->l11n->lang['Accounting']['GL']; ?></h1>
<div class="inner">
<form>
<table class="layout wf-100">
<tr><td><label for="iId"><?= $this->l11n->lang[0]['ID']; ?></label>
<tr><td><input type="text" id="iId" name="id">
<tr><td><label for="iName"><?= $this->l11n->lang['Accounting']['Name']; ?></label>
<tr><td><input type="text" id="iName" name="name">
<tr><td><label for="iParent"><?= $this->l11n->lang['Accounting']['Parent']; ?></label>
<tr><td><input type="text" id="iParent" name="parent">
<tr><td><input type="submit" value="<?= $this->l11n->lang[0]['Create']; ?>">
</table>
</form>
</div>
</section>

View File

@ -0,0 +1,52 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
/**
* @var \phpOMS\Views\View $this
*/
$footerView = new \Web\Views\Lists\PaginationView($this->app, $this->request, $this->response);
$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig');
$footerView->setPages(1 / 25);
$footerView->setPage(1);
$footerView->setResults(1);
echo $this->getData('nav')->render(); ?>
<section class="box w-100">
<table class="table">
<caption><?= $this->l11n->lang['Accounting']['GL']; ?></caption>
<thead>
<tr>
<td><?= $this->l11n->lang[0]['ID']; ?>
<td class="wf-100"><?= $this->l11n->lang['Accounting']['Name']; ?>
<tfoot>
<tr><td colspan="5"><?= $footerView->render(); ?>
<tbody>
<?php $c = 0; foreach ([] as $key => $value) : $c++;
$url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/admin/group/settings?id=' . $value->getId()); ?>
<tr>
<td><a href="<?= $url; ?>"><?= $value->getId(); ?></a>
<td><a href="<?= $url; ?>"><?= $value->getName(); ?></a>
<td>
<td>
<td>
<?php endforeach; ?>
<?php if($c === 0) : ?>
<tr><td colspan="5" class="empty"><?= $this->l11n->lang[0]['Empty']; ?>
<?php endif; ?>
</table>
</section>

View File

@ -0,0 +1,16 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
echo $this->getData('nav')->render(); ?>

View File

@ -0,0 +1,52 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
/**
* @var \phpOMS\Views\View $this
*/
$footerView = new \Web\Views\Lists\PaginationView($this->app, $this->request, $this->response);
$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig');
$footerView->setPages(1 / 25);
$footerView->setPage(1);
$footerView->setResults(1);
echo $this->getData('nav')->render(); ?>
<section class="box w-100">
<table class="table">
<caption><?= $this->l11n->lang['Accounting']['Journal']; ?></caption>
<thead>
<tr>
<td><?= $this->l11n->lang[0]['ID']; ?>
<td class="wf-100"><?= $this->l11n->lang['Accounting']['Name']; ?>
<tfoot>
<tr><td colspan="5"><?= $footerView->render(); ?>
<tbody>
<?php $c = 0; foreach ([] as $key => $value) : $c++;
$url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/admin/group/settings?id=' . $value->getId()); ?>
<tr>
<td><a href="<?= $url; ?>"><?= $value->getId(); ?></a>
<td><a href="<?= $url; ?>"><?= $value->getName(); ?></a>
<td>
<td>
<td>
<?php endforeach; ?>
<?php if($c === 0) : ?>
<tr><td colspan="5" class="empty"><?= $this->l11n->lang[0]['Empty']; ?>
<?php endif; ?>
</table>
</section>

View File

@ -0,0 +1,54 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
/**
* @var \phpOMS\Views\View $this
*/
$footerView = new \Web\Views\Lists\PaginationView($this->app, $this->request, $this->response);
$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig');
$footerView->setPages(1 / 25);
$footerView->setPage(1);
$footerView->setResults(1);
echo $this->getData('nav')->render(); ?>
<section class="box w-100">
<table class="table">
<caption><?= $this->l11n->lang['Accounting']['BatchPostings']; ?></caption>
<thead>
<tr>
<td><?= $this->l11n->lang[0]['ID']; ?>
<td class="wf-100"><?= $this->l11n->lang['Accounting']['Name']; ?>
<td><?= $this->l11n->lang['Accounting']['Creator']; ?>
<td><?= $this->l11n->lang['Accounting']['Created']; ?>
<tfoot>
<tr><td colspan="5"><?= $footerView->render(); ?>
<tbody>
<?php $c = 0; foreach ([] as $key => $value) : $c++;
$url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/admin/group/settings?id=' . $value->getId()); ?>
<tr>
<td><a href="<?= $url; ?>"><?= $value->getId(); ?></a>
<td><a href="<?= $url; ?>"><?= $value->getName(); ?></a>
<td>
<td>
<td>
<?php endforeach; ?>
<?php if($c === 0) : ?>
<tr><td colspan="5" class="empty"><?= $this->l11n->lang[0]['Empty']; ?>
<?php endif; ?>
</table>
</section>

View File

@ -0,0 +1,38 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 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(); ?>
<section class="box w-50">
<h1><?= $this->l11n->lang['Accounting']['Stack']; ?></h1>
<div class="inner">
<form>
<table class="layout wf-100">
<tr><td><label for="iName"><?= $this->l11n->lang['Accounting']['Name']; ?></label>
<tr><td><input id="iName" name="name" type="text">
<tr><td><label for="iType"><?= $this->l11n->lang['Accounting']['Type']; ?></label>
<tr><td><select id="iType" name="type">
<option value=""><?= $this->l11n->lang['Accounting']['TAccount']; ?>
<option value=""><?= $this->l11n->lang['Accounting']['Incoming']; ?>
<option value=""><?= $this->l11n->lang['Accounting']['Outgoing']; ?>
</select>
<tr><td><input name="submit" type="submit" value="<?= $this->l11n->lang[0]['Create']; ?>">
</table>
</form>
</div>
</section>

View File

@ -0,0 +1,16 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
echo $this->getData('nav')->render(); ?>

View File

@ -0,0 +1,54 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
/**
* @var \phpOMS\Views\View $this
*/
$footerView = new \Web\Views\Lists\PaginationView($this->app, $this->request, $this->response);
$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig');
$footerView->setPages(1 / 25);
$footerView->setPage(1);
$footerView->setResults(1);
echo $this->getData('nav')->render(); ?>
<section class="box w-100">
<table class="table">
<caption><?= $this->l11n->lang['Accounting']['BatchPostings']; ?></caption>
<thead>
<tr>
<td><?= $this->l11n->lang[0]['ID']; ?>
<td class="wf-100"><?= $this->l11n->lang['Accounting']['Name']; ?>
<td><?= $this->l11n->lang['Accounting']['Creator']; ?>
<td><?= $this->l11n->lang['Accounting']['Created']; ?>
<tfoot>
<tr><td colspan="5"><?= $footerView->render(); ?>
<tbody>
<?php $c = 0; foreach ([] as $key => $value) : $c++;
$url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/admin/group/settings?id=' . $value->getId()); ?>
<tr>
<td><a href="<?= $url; ?>"><?= $value->getId(); ?></a>
<td><a href="<?= $url; ?>"><?= $value->getName(); ?></a>
<td>
<td>
<td>
<?php endforeach; ?>
<?php if($c === 0) : ?>
<tr><td colspan="5" class="empty"><?= $this->l11n->lang[0]['Empty']; ?>
<?php endif; ?>
</table>
</section>

View File

@ -0,0 +1,17 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
$MODLANG[1] = [
];

View File

@ -0,0 +1,32 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
$MODLANG['Accounting'] = [
'BatchPostings' => 'Batch Postings',
'CostCenter' => 'Cost Center',
'CostCenters' => 'Cost Centers',
'CostObject' => 'Cost Object',
'CostObjects' => 'Cost Objects',
'Created' => 'Created',
'Creator' => 'Creator',
'Incoming' => 'Incoming',
'GL' => 'GL',
'Name' => 'Name',
'Outgoing' => 'Outgoing',
'Parent' => 'Parent',
'Stack' => 'Stack',
'TAccount' => 'T-Account',
'Type' => 'Type',
];

View File

@ -0,0 +1,26 @@
<?php
/**
* Orange Management
*
* PHP Version 7.0
*
* @category TBD
* @package TBD
* @author OMS Development Team <dev@oms.com>
* @author Dennis Eichhorn <d.eichhorn@oms.com>
* @copyright 2013 Dennis Eichhorn
* @license OMS License 1.0
* @version 1.0.0
* @link http://orange-management.com
*/
$MODLANG['Navigation'] = [
'Accounting' => 'Accounting',
'AccountPostings' => 'Account Postings',
'Balance' => 'Balance',
'BatchPostings' => 'Batch Postings',
'CostCenters' => 'Cost Centers',
'CostObjects' => 'Cost Objects',
'Creditors' => 'Creditors',
'Debitors' => 'Debitors',
'Postings' => 'Postings',
];

BIN
img/module_teaser_small.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

51
info.json Normal file
View File

@ -0,0 +1,51 @@
{
"name": {
"id": 1002600000,
"internal": "Accounting",
"external": "OMS Accounting"
},
"version": "1.0.0",
"requirements": {
"phpOMS": "1.0.0",
"phpOMS-db": "1.0.0"
},
"creator": {
"name": "Orange Management",
"website": "www.spl1nes.com"
},
"description": "Accounting module.",
"directory": "Accounting",
"dependencies": {},
"providing": {
"Navigation": "*"
},
"load": [
{
"pid": [
"47e9d72449035cd040e0f93693fd0a925bf6e340"
],
"type": 4,
"for": "Content",
"from": "Accounting",
"file": "Accounting"
},
{
"pid": [
"754a08ddf8bcb1cf22f310f09206dd783d42f7dd"
],
"type": 5,
"from": "Accounting",
"for": "Navigation",
"file": "nav.backend"
},
{
"pid": [
"47e9d72449035cd040e0f93693fd0a925bf6e340"
],
"type": 5,
"for": "Content",
"file": "backend",
"from": "Accounting"
}
]
}