mirror of
https://github.com/Karaka-Management/oms-SupplierManagement.git
synced 2026-01-10 17:08:41 +00:00
template fixes + bug fixes + style fixes
This commit is contained in:
parent
b312918aa1
commit
f3eb4fa011
|
|
@ -79,8 +79,8 @@
|
||||||
"pid": "/purchase",
|
"pid": "/purchase",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"subtype": 1,
|
"subtype": 1,
|
||||||
"name": "Values",
|
"name": "Create",
|
||||||
"uri": "{/base}/purchase/supplier/attribute/value/list?{?}",
|
"uri": "{/base}/purchase/supplier/attribute/type/create?{?}",
|
||||||
"target": "self",
|
"target": "self",
|
||||||
"icon": null,
|
"icon": null,
|
||||||
"order": 15,
|
"order": 15,
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ final class ApiController extends Controller
|
||||||
/**
|
/**
|
||||||
* Create directory for an account
|
* Create directory for an account
|
||||||
*
|
*
|
||||||
* @param int $id Item number
|
* @param int $id Item number
|
||||||
* @param int $createdBy Creator of the directory
|
* @param int $createdBy Creator of the directory
|
||||||
*
|
*
|
||||||
* @return Collection
|
* @return Collection
|
||||||
|
|
@ -174,7 +174,7 @@ final class ApiController extends Controller
|
||||||
/** @var \Modules\Attribute\Models\AttributeType[] $types */
|
/** @var \Modules\Attribute\Models\AttributeType[] $types */
|
||||||
$types = SupplierAttributeTypeMapper::getAll()
|
$types = SupplierAttributeTypeMapper::getAll()
|
||||||
->where('name', \array_keys($segmentation), 'IN')
|
->where('name', \array_keys($segmentation), 'IN')
|
||||||
->execute();
|
->executeGetArray();
|
||||||
|
|
||||||
foreach ($types as $type) {
|
foreach ($types as $type) {
|
||||||
$internalResponse = clone $response;
|
$internalResponse = clone $response;
|
||||||
|
|
|
||||||
|
|
@ -14,22 +14,25 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\SupplierManagement\Controller;
|
namespace Modules\SupplierManagement\Controller;
|
||||||
|
|
||||||
use Modules\Billing\Models\PurchaseBillMapper;
|
use Modules\Auditor\Models\AuditMapper;
|
||||||
use Modules\Media\Models\MediaMapper;
|
use Modules\Media\Models\MediaMapper;
|
||||||
use Modules\Media\Models\MediaTypeMapper;
|
use Modules\Media\Models\MediaTypeMapper;
|
||||||
|
use Modules\Organization\Models\Attribute\UnitAttributeMapper;
|
||||||
use Modules\SupplierManagement\Models\Attribute\SupplierAttributeTypeL11nMapper;
|
use Modules\SupplierManagement\Models\Attribute\SupplierAttributeTypeL11nMapper;
|
||||||
use Modules\SupplierManagement\Models\Attribute\SupplierAttributeTypeMapper;
|
use Modules\SupplierManagement\Models\Attribute\SupplierAttributeTypeMapper;
|
||||||
use Modules\SupplierManagement\Models\Attribute\SupplierAttributeValueL11nMapper;
|
use Modules\SupplierManagement\Models\Attribute\SupplierAttributeValueL11nMapper;
|
||||||
use Modules\SupplierManagement\Models\Attribute\SupplierAttributeValueMapper;
|
use Modules\SupplierManagement\Models\Attribute\SupplierAttributeValueMapper;
|
||||||
|
use Modules\SupplierManagement\Models\PermissionCategory;
|
||||||
use Modules\SupplierManagement\Models\SupplierMapper;
|
use Modules\SupplierManagement\Models\SupplierMapper;
|
||||||
|
use phpOMS\Account\PermissionType;
|
||||||
use phpOMS\Asset\AssetType;
|
use phpOMS\Asset\AssetType;
|
||||||
use phpOMS\Contract\RenderableInterface;
|
use phpOMS\Contract\RenderableInterface;
|
||||||
use phpOMS\DataStorage\Database\Query\Builder;
|
use phpOMS\DataStorage\Database\Query\Builder;
|
||||||
use phpOMS\DataStorage\Database\Query\OrderType;
|
use phpOMS\DataStorage\Database\Query\OrderType;
|
||||||
use phpOMS\Localization\Money;
|
use phpOMS\DataStorage\Database\Query\Where;
|
||||||
use phpOMS\Message\RequestAbstract;
|
use phpOMS\Message\RequestAbstract;
|
||||||
use phpOMS\Message\ResponseAbstract;
|
use phpOMS\Message\ResponseAbstract;
|
||||||
use phpOMS\Stdlib\Base\SmartDateTime;
|
use phpOMS\Utils\StringUtils;
|
||||||
use phpOMS\Views\View;
|
use phpOMS\Views\View;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -57,13 +60,13 @@ final class BackendController extends Controller
|
||||||
*/
|
*/
|
||||||
public function viewSupplierManagementAttributeTypeList(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface
|
public function viewSupplierManagementAttributeTypeList(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface
|
||||||
{
|
{
|
||||||
$view = new \Modules\Attribute\Theme\Backend\Components\AttributeTypeListView($this->app->l11nManager, $request, $response);
|
$view = new \Modules\Attribute\Theme\Backend\Components\AttributeTypeListView($this->app->l11nManager, $request, $response);
|
||||||
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003203001, $request, $response);
|
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003203001, $request, $response);
|
||||||
|
|
||||||
$view->attributes = SupplierAttributeTypeMapper::getAll()
|
$view->attributes = SupplierAttributeTypeMapper::getAll()
|
||||||
->with('l11n')
|
->with('l11n')
|
||||||
->where('l11n/language', $response->header->l11n->language)
|
->where('l11n/language', $response->header->l11n->language)
|
||||||
->execute();
|
->executeGetArray();
|
||||||
|
|
||||||
$view->path = 'purchase/supplier';
|
$view->path = 'purchase/supplier';
|
||||||
|
|
||||||
|
|
@ -92,7 +95,7 @@ final class BackendController extends Controller
|
||||||
$attributes = SupplierAttributeValueMapper::getAll()
|
$attributes = SupplierAttributeValueMapper::getAll()
|
||||||
->with('l11n')
|
->with('l11n')
|
||||||
->where('l11n/language', $response->header->l11n->language)
|
->where('l11n/language', $response->header->l11n->language)
|
||||||
->execute();
|
->executeGetArray();
|
||||||
|
|
||||||
$view->data['attributes'] = $attributes;
|
$view->data['attributes'] = $attributes;
|
||||||
|
|
||||||
|
|
@ -113,7 +116,7 @@ final class BackendController extends Controller
|
||||||
*/
|
*/
|
||||||
public function viewSupplierManagementAttributeType(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface
|
public function viewSupplierManagementAttributeType(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface
|
||||||
{
|
{
|
||||||
$view = new \Modules\Attribute\Theme\Backend\Components\AttributeTypeView($this->app->l11nManager, $request, $response);
|
$view = new \Modules\Attribute\Theme\Backend\Components\AttributeTypeView($this->app->l11nManager, $request, $response);
|
||||||
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003203001, $request, $response);
|
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003203001, $request, $response);
|
||||||
|
|
||||||
$view->attribute = SupplierAttributeTypeMapper::get()
|
$view->attribute = SupplierAttributeTypeMapper::get()
|
||||||
|
|
@ -127,7 +130,7 @@ final class BackendController extends Controller
|
||||||
|
|
||||||
$view->l11ns = SupplierAttributeTypeL11nMapper::getAll()
|
$view->l11ns = SupplierAttributeTypeL11nMapper::getAll()
|
||||||
->where('ref', $view->attribute->id)
|
->where('ref', $view->attribute->id)
|
||||||
->execute();
|
->executeGetArray();
|
||||||
|
|
||||||
$view->path = 'purchase/supplier';
|
$view->path = 'purchase/supplier';
|
||||||
|
|
||||||
|
|
@ -148,7 +151,7 @@ final class BackendController extends Controller
|
||||||
*/
|
*/
|
||||||
public function viewSupplierManagementAttributeValue(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface
|
public function viewSupplierManagementAttributeValue(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface
|
||||||
{
|
{
|
||||||
$view = new \Modules\Attribute\Theme\Backend\Components\AttributeValueView($this->app->l11nManager, $request, $response);
|
$view = new \Modules\Attribute\Theme\Backend\Components\AttributeValueView($this->app->l11nManager, $request, $response);
|
||||||
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003203001, $request, $response);
|
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003203001, $request, $response);
|
||||||
|
|
||||||
$view->attribute = SupplierAttributeValueMapper::get()
|
$view->attribute = SupplierAttributeValueMapper::get()
|
||||||
|
|
@ -159,7 +162,7 @@ final class BackendController extends Controller
|
||||||
|
|
||||||
$view->l11ns = SupplierAttributeValueL11nMapper::getAll()
|
$view->l11ns = SupplierAttributeValueL11nMapper::getAll()
|
||||||
->where('ref', $view->attribute->id)
|
->where('ref', $view->attribute->id)
|
||||||
->execute();
|
->executeGetArray();
|
||||||
|
|
||||||
// @todo Also find the ItemAttributeType
|
// @todo Also find the ItemAttributeType
|
||||||
|
|
||||||
|
|
@ -189,7 +192,7 @@ final class BackendController extends Controller
|
||||||
->with('mainAddress')
|
->with('mainAddress')
|
||||||
->where('unit', $this->app->unitId)
|
->where('unit', $this->app->unitId)
|
||||||
->limit(25)
|
->limit(25)
|
||||||
->execute();
|
->executeGetArray();
|
||||||
|
|
||||||
$view->data['supplier'] = $supplier;
|
$view->data['supplier'] = $supplier;
|
||||||
|
|
||||||
|
|
@ -211,7 +214,7 @@ final class BackendController extends Controller
|
||||||
public function viewSupplierManagementSupplierCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface
|
public function viewSupplierManagementSupplierCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : RenderableInterface
|
||||||
{
|
{
|
||||||
$view = new View($this->app->l11nManager, $request, $response);
|
$view = new View($this->app->l11nManager, $request, $response);
|
||||||
$view->setTemplate('/Modules/SupplierManagement/Theme/Backend/supplier-create');
|
$view->setTemplate('/Modules/SupplierManagement/Theme/Backend/supplier-view');
|
||||||
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003202001, $request, $response);
|
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003202001, $request, $response);
|
||||||
|
|
||||||
return $view;
|
return $view;
|
||||||
|
|
@ -243,17 +246,43 @@ final class BackendController extends Controller
|
||||||
$view->setTemplate('/Modules/SupplierManagement/Theme/Backend/supplier-view');
|
$view->setTemplate('/Modules/SupplierManagement/Theme/Backend/supplier-view');
|
||||||
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003202001, $request, $response);
|
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1003202001, $request, $response);
|
||||||
|
|
||||||
/** @var \Modules\SupplierManagement\Models\Supplier $supplier */
|
$pkType = 'id';
|
||||||
$supplier = SupplierMapper::get()
|
$pkValue = $request->getDataInt('id');
|
||||||
|
if ($pkValue === null) {
|
||||||
|
$pkType = 'number';
|
||||||
|
$pkValue = $request->getDataString('number');
|
||||||
|
}
|
||||||
|
|
||||||
|
$view->data['supplier'] = SupplierMapper::get()
|
||||||
->with('account')
|
->with('account')
|
||||||
->with('contactElements')
|
->with('account/addresses')
|
||||||
|
->with('account/contacts')
|
||||||
->with('mainAddress')
|
->with('mainAddress')
|
||||||
->with('files')->limit(5, 'files')->sort('files/id', OrderType::DESC)
|
->with('files')->limit(5, 'files')->sort('files/id', OrderType::DESC)
|
||||||
->with('notes')->limit(5, 'notes')->sort('notes/id', OrderType::DESC)
|
->with('notes')->limit(5, 'notes')->sort('notes/id', OrderType::DESC)
|
||||||
->where('id', (int) $request->getData('id'))
|
->with('attributes')
|
||||||
|
->with('attributes/type')
|
||||||
|
->with('attributes/type/l11n')
|
||||||
|
->with('attributes/value')
|
||||||
|
//->with('attributes/value/l11n')
|
||||||
|
//->with('attributes/value/l11n')
|
||||||
|
->where($pkType, $pkValue)
|
||||||
|
->where('attributes/type/l11n/language', $response->header->l11n->language)
|
||||||
|
//->where('attributes/value/l11n/language', $response->header->l11n->language)
|
||||||
|
/*
|
||||||
|
->where('attributes/value/l11n', (new Where($this->app->dbPool->get()))
|
||||||
|
->where(SupplierAttributeValueL11nMapper::getColumnByMember('ref'), '=', null)
|
||||||
|
->orWhere(SupplierAttributeValueL11nMapper::getColumnByMember('language'), '=', $response->header->l11n->language))
|
||||||
|
*/
|
||||||
->execute();
|
->execute();
|
||||||
|
|
||||||
$view->data['supplier'] = $supplier;
|
$view->data['attributeView'] = new \Modules\Attribute\Theme\Backend\Components\AttributeView($this->app->l11nManager, $request, $response);
|
||||||
|
$view->data['attributeView']->data['default_localization'] = $this->app->l11nServer;
|
||||||
|
|
||||||
|
$view->data['attributeTypes'] = SupplierAttributeTypeMapper::getAll()
|
||||||
|
->with('l11n')
|
||||||
|
->where('l11n/language', $response->header->l11n->language)
|
||||||
|
->executeGetArray();
|
||||||
|
|
||||||
// Get item profile image
|
// Get item profile image
|
||||||
// @feature Create a new read mapper function that returns relation models instead of its own model
|
// @feature Create a new read mapper function that returns relation models instead of its own model
|
||||||
|
|
@ -269,38 +298,107 @@ final class BackendController extends Controller
|
||||||
->on(MediaMapper::TABLE . '.' . MediaMapper::PRIMARYFIELD, '=', MediaMapper::HAS_MANY['types']['table'] . '.' . MediaMapper::HAS_MANY['types']['self'])
|
->on(MediaMapper::TABLE . '.' . MediaMapper::PRIMARYFIELD, '=', MediaMapper::HAS_MANY['types']['table'] . '.' . MediaMapper::HAS_MANY['types']['self'])
|
||||||
->leftJoin(MediaTypeMapper::TABLE)
|
->leftJoin(MediaTypeMapper::TABLE)
|
||||||
->on(MediaMapper::HAS_MANY['types']['table'] . '.' . MediaMapper::HAS_MANY['types']['external'], '=', MediaTypeMapper::TABLE . '.' . MediaTypeMapper::PRIMARYFIELD)
|
->on(MediaMapper::HAS_MANY['types']['table'] . '.' . MediaMapper::HAS_MANY['types']['external'], '=', MediaTypeMapper::TABLE . '.' . MediaTypeMapper::PRIMARYFIELD)
|
||||||
->where(SupplierMapper::HAS_MANY['files']['self'], '=', $supplier->id)
|
->where(SupplierMapper::HAS_MANY['files']['self'], '=', $view->data['supplier']->id)
|
||||||
->where(MediaTypeMapper::TABLE . '.' . MediaTypeMapper::getColumnByMember('name'), '=', 'supplier_profile_image');
|
->where(MediaTypeMapper::TABLE . '.' . MediaTypeMapper::getColumnByMember('name'), '=', 'supplier_profile_image');
|
||||||
|
|
||||||
$clientImage = MediaMapper::get()
|
$view->data['supplierImage'] = MediaMapper::get()
|
||||||
->where('id', $results)
|
->where('id', $results)
|
||||||
->limit(1)
|
->limit(1)
|
||||||
->execute();
|
->execute();
|
||||||
|
|
||||||
$view->data['clientImage'] = $clientImage;
|
$businessStart = UnitAttributeMapper::get()
|
||||||
|
->with('type')
|
||||||
|
->with('value')
|
||||||
|
->where('ref', $this->app->unitId)
|
||||||
|
->where('type/name', 'business_year_start')
|
||||||
|
->execute();
|
||||||
|
|
||||||
// stats
|
$view->data['business_start'] = $businessStart->id === 0 ? 1 : $businessStart->value->getValue();
|
||||||
if ($this->app->moduleManager->isActive('Billing')) {
|
|
||||||
$ytd = PurchaseBillMapper::getPurchaseBySupplierId($supplier->id, new SmartDateTime('Y-01-01'), new SmartDateTime('now'));
|
|
||||||
$mtd = PurchaseBillMapper::getPurchaseBySupplierId($supplier->id, new SmartDateTime('Y-m-01'), new SmartDateTime('now'));
|
|
||||||
$lastOrder = PurchaseBillMapper::getLastOrderDateBySupplierId($supplier->id);
|
|
||||||
$newestInvoices = PurchaseBillMapper::getAll()->with('supplier')->where('supplier', $supplier->id)->sort('id', OrderType::DESC)->limit(5)->execute();
|
|
||||||
$monthlyPurchaseCosts = PurchaseBillMapper::getSupplierMonthlyPurchaseCosts($supplier->id, (new SmartDateTime('now'))->createModify(-1), new SmartDateTime('now'));
|
|
||||||
} else {
|
|
||||||
$ytd = new Money();
|
|
||||||
$mtd = new Money();
|
|
||||||
$lastOrder = null;
|
|
||||||
$newestInvoices = [];
|
|
||||||
$monthlyPurchaseCosts = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
$view->data['ytd'] = $ytd;
|
$view->data['hasBilling'] = $this->app->moduleManager->isActive('Billing');
|
||||||
$view->data['mtd'] = $mtd;
|
$view->data['hasAccounting'] = $this->app->moduleManager->isActive('Accounting');
|
||||||
$view->data['lastOrder'] = $lastOrder;
|
|
||||||
$view->data['newestInvoices'] = $newestInvoices;
|
|
||||||
$view->data['monthlyPurchaseCosts'] = $monthlyPurchaseCosts;
|
|
||||||
|
|
||||||
return $view;
|
$view->data['prices'] = $view->data['hasBilling']
|
||||||
|
? \Modules\Billing\Models\Price\PriceMapper::getAll()
|
||||||
|
->where('supplier', $view->data['supplier']->id)
|
||||||
|
->where('type', \Modules\Billing\Models\Price\PriceType::PURCHASE)
|
||||||
|
->executeGetArray()
|
||||||
|
: [];
|
||||||
|
|
||||||
|
/** @var \Modules\Attribute\Models\AttributeType[] $tmp */
|
||||||
|
$tmp = SupplierAttributeTypeMapper::getAll()
|
||||||
|
->with('defaults')
|
||||||
|
->with('defaults/l11n')
|
||||||
|
->where('name', [
|
||||||
|
'segment', 'section', 'sales_group', 'product_group', 'product_type',
|
||||||
|
'sales_tax_code', 'purchase_tax_code',
|
||||||
|
], 'IN')
|
||||||
|
->where('defaults/l11n', (new Where($this->app->dbPool->get()))
|
||||||
|
->where(SupplierAttributeValueL11nMapper::getColumnByMember('ref') ?? '', '=', null)
|
||||||
|
->orWhere(SupplierAttributeValueL11nMapper::getColumnByMember('language') ?? '', '=', $response->header->l11n->language))
|
||||||
|
->executeGetArray();
|
||||||
|
|
||||||
|
$defaultAttributeTypes = [];
|
||||||
|
foreach ($tmp as $t) {
|
||||||
|
$defaultAttributeTypes[$t->name] = $t;
|
||||||
|
}
|
||||||
|
|
||||||
|
$view->data['defaultAttributeTypes'] = $defaultAttributeTypes;
|
||||||
|
|
||||||
|
/** @var \Modules\Attribute\Models\AttributeType[] $tmp */
|
||||||
|
$tmp = SupplierAttributeTypeMapper::getAll()
|
||||||
|
->with('defaults')
|
||||||
|
->with('defaults/l11n')
|
||||||
|
->where('name', [
|
||||||
|
'segment', 'section', 'supplier_group', 'supplier_type',
|
||||||
|
'sales_tax_code',
|
||||||
|
], 'IN')
|
||||||
|
->where('defaults/l11n', (new Where($this->app->dbPool->get()))
|
||||||
|
->where(SupplierAttributeValueL11nMapper::getColumnByMember('ref') ?? '', '=', null)
|
||||||
|
->orWhere(SupplierAttributeValueL11nMapper::getColumnByMember('language') ?? '', '=', $response->header->l11n->language))
|
||||||
|
->executeGetArray();
|
||||||
|
|
||||||
|
$supplierSegmentationTypes = [];
|
||||||
|
foreach ($tmp as $t) {
|
||||||
|
$supplierSegmentationTypes[$t->name] = $t;
|
||||||
|
}
|
||||||
|
|
||||||
|
$view->data['supplierSegmentationTypes'] = $supplierSegmentationTypes;
|
||||||
|
|
||||||
|
$logs = [];
|
||||||
|
if ($this->app->accountManager->get($request->header->account)->hasPermission(
|
||||||
|
PermissionType::READ,
|
||||||
|
$this->app->unitId,
|
||||||
|
null,
|
||||||
|
self::NAME,
|
||||||
|
PermissionCategory::SUPPLIER_LOG,
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
/** @var \Modules\Auditor\Models\Audit[] */
|
||||||
|
$logs = AuditMapper::getAll()
|
||||||
|
->where('type', StringUtils::intHash(SupplierMapper::class))
|
||||||
|
->where('module', 'SupplierManagement')
|
||||||
|
->where('ref', (string) $view->data['supplier']->id)
|
||||||
|
->executeGetArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
$view->data['logs'] = $logs;
|
||||||
|
|
||||||
|
// @todo join audit with files, attributes, localization, prices, notes, ...
|
||||||
|
|
||||||
|
$view->data['files'] = MediaMapper::getAll()
|
||||||
|
->with('types')
|
||||||
|
->join('id', SupplierMapper::class, 'files') // id = media id, files = supplier relations
|
||||||
|
->on('id', $view->data['supplier']->id, relation: 'files') // id = item id
|
||||||
|
->executeGetArray();
|
||||||
|
|
||||||
|
$view->data['media-upload'] = new \Modules\Media\Theme\Backend\Components\Upload\BaseView($this->app->l11nManager, $request, $response);
|
||||||
|
$view->data['note'] = new \Modules\Editor\Theme\Backend\Components\Note\BaseView($this->app->l11nManager, $request, $response);
|
||||||
|
|
||||||
|
$view->data['address-component'] = new \Modules\Admin\Theme\Backend\Components\AddressEditor\AddressView($this->app->l11nManager, $request, $response);
|
||||||
|
$view->data['contact-component'] = new \Modules\Admin\Theme\Backend\Components\ContactEditor\ContactView($this->app->l11nManager, $request, $response);
|
||||||
|
|
||||||
|
return $view;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -31,4 +31,6 @@ abstract class PermissionCategory extends Enum
|
||||||
public const ANALYSIS = 2;
|
public const ANALYSIS = 2;
|
||||||
|
|
||||||
public const ATTRIBUTE = 4;
|
public const ATTRIBUTE = 4;
|
||||||
|
|
||||||
|
public const SUPPLIER_LOG = 5;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,96 +13,121 @@
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
return ['SupplierManagement' => [
|
return ['SupplierManagement' => [
|
||||||
'Accounting' => 'Buchhaltung',
|
'Accounting' => 'Buchhaltung',
|
||||||
'Address' => 'Adresse',
|
'Address' => 'Adresse',
|
||||||
'Addresses' => 'Adressen',
|
'Addresses' => 'Adressen',
|
||||||
'AreaManager' => 'Bereichsleiter',
|
'AreaManager' => 'Bereichsleiter',
|
||||||
'Articlegroup' => 'ArtikelGroup.',
|
'Articlegroup' => 'ArtikelGroup.',
|
||||||
'Articles' => 'Artikel',
|
'Articles' => 'Artikel',
|
||||||
'Attribute' => '',
|
'Attribute' => 'Attribut',
|
||||||
'AttributeTypes' => 'Attributetypen',
|
'AttributeTypes' => 'Attributetypen',
|
||||||
'Attributes' => '',
|
'Attributes' => 'Attribute',
|
||||||
'Balance' => 'Gleichgewicht',
|
'Balance' => 'Gleichgewicht',
|
||||||
'Bills' => '',
|
'Bills' => 'Rechnungen',
|
||||||
'Bonus' => 'Bonus',
|
'Bonus' => 'Bonus',
|
||||||
'CLV' => 'CLV',
|
'CLV' => 'CLV',
|
||||||
'Calendar' => 'Kalender',
|
'Calendar' => 'Kalender',
|
||||||
'City' => 'Stadt',
|
'City' => 'Stadt',
|
||||||
'Client' => 'Kunde',
|
'Client' => 'Kunde',
|
||||||
'ClientID' => 'Kunden ID',
|
'ClientID' => 'Kunden ID',
|
||||||
'Contact' => 'Kontakt',
|
'Contact' => 'Kontakt',
|
||||||
'Country' => 'Land',
|
'Country' => 'Land',
|
||||||
'Created' => 'Erstellt',
|
'Created' => 'Erstellt',
|
||||||
'CreatedAt' => '',
|
'CreatedAt' => 'Erstellt',
|
||||||
'CreditRating' => 'Kreditbeurteilung',
|
'CreditRating' => 'Kreditbeurteilung',
|
||||||
'Creditcard' => 'Kreditkarte',
|
'Creditcard' => 'Kreditkarte',
|
||||||
'DSO' => 'DSO.',
|
'DSO' => 'DSO.',
|
||||||
'DUE' => 'Fällig',
|
'DUE' => 'Fällig',
|
||||||
'Date' => 'Datum',
|
'Date' => 'Datum',
|
||||||
'Default' => 'Standard',
|
'Default' => 'Standard',
|
||||||
'Delivery' => 'Die Zustellung',
|
'Delivery' => 'Die Zustellung',
|
||||||
'Discount' => 'Rabatt',
|
'Discount' => 'Rabatt',
|
||||||
'DiscountBonus' => '',
|
'DiscountBonus' => '',
|
||||||
'DiscountP' => 'Rabatt %',
|
'DiscountP' => 'Rabatt %',
|
||||||
'Documents' => 'Unterlagen',
|
'Documents' => 'Unterlagen',
|
||||||
'Due' => '',
|
'Due' => 'Fällig',
|
||||||
'Email' => 'Email',
|
'Email' => 'Email',
|
||||||
'Fax' => 'Fax',
|
'Fax' => 'Fax',
|
||||||
'Files' => 'Dateien',
|
'Files' => 'Dateien',
|
||||||
'Freightage' => 'Fracht',
|
'Freightage' => 'Fracht',
|
||||||
'Group' => 'Gruppe',
|
'Group' => 'Gruppe',
|
||||||
'ID' => 'ICH WÜRDE',
|
'ID' => 'ICH WÜRDE',
|
||||||
'Info' => 'Die Info',
|
'Info' => 'Die Info',
|
||||||
'Invoice' => 'Rechnung',
|
'Invoice' => 'Rechnung',
|
||||||
'Invoices' => 'Rechnungen',
|
'Invoices' => 'Rechnungen',
|
||||||
'IsDefault' => 'Ist default',
|
'IsDefault' => 'Ist default',
|
||||||
'Items' => '',
|
'Items' => 'Artikel',
|
||||||
'LastContact' => 'Letzter Kontakt',
|
'LastContact' => 'Letzter Kontakt',
|
||||||
'LastOrder' => 'Letzte Bestellung',
|
'LastOrder' => 'Letzte Bestellung',
|
||||||
'Log' => 'Protokoll',
|
'Log' => 'Protokoll',
|
||||||
'Logs' => 'Protokoll',
|
'Logs' => 'Protokoll',
|
||||||
'MRR' => 'Mrr.',
|
'MRR' => 'Mrr.',
|
||||||
'MTDSales' => 'MTD-Verkäufe.',
|
'MTDSales' => 'MTD-Verkäufe.',
|
||||||
'Map' => '',
|
'Map' => '',
|
||||||
'Margin' => 'Rand',
|
'Margin' => 'Rand',
|
||||||
'Master' => 'Meister',
|
'Master' => 'Meister',
|
||||||
'Messages' => 'Mitteilungen',
|
'Messages' => 'Mitteilungen',
|
||||||
'Modified' => 'Geändert',
|
'Modified' => 'Geändert',
|
||||||
'Name' => 'Name',
|
'Name' => 'Name',
|
||||||
'Name1' => 'Name1',
|
'Name1' => 'Name1',
|
||||||
'Name2' => 'Name2',
|
'Name2' => 'Name2',
|
||||||
'Name3' => 'Name3',
|
'Name3' => 'Name3',
|
||||||
'Net' => 'Netz',
|
'Net' => 'Netz',
|
||||||
'Notes' => 'Anmerkungen',
|
'Notes' => 'Anmerkungen',
|
||||||
'Number' => 'Nummer',
|
'Number' => 'Nummer',
|
||||||
'Office' => 'Sekretariat',
|
'Office' => 'Sekretariat',
|
||||||
'Payment' => 'Zahlung',
|
'Payment' => 'Zahlung',
|
||||||
'PaymentTerm' => 'Zahlungsbezeichnung',
|
'PaymentTerm' => 'Zahlungsbezeichnung',
|
||||||
'Permission' => 'Erlaubnis',
|
'Permission' => 'Erlaubnis',
|
||||||
'Phone' => 'Telefon',
|
'Phone' => 'Telefon',
|
||||||
'Postal' => 'Post',
|
'Postal' => 'Post',
|
||||||
'Price' => 'Preis',
|
'Price' => 'Preis',
|
||||||
'Prices' => 'Preise',
|
'Prices' => 'Preise',
|
||||||
'Productgroup' => 'Produktgruppe',
|
'Productgroup' => 'Produktgruppe',
|
||||||
'Profile' => 'Profil',
|
'Profile' => 'Profil',
|
||||||
'Profit' => '',
|
'Profit' => 'Gewinn',
|
||||||
'Purchase' => 'Kaufen',
|
'Purchase' => 'Kaufen',
|
||||||
'Quantity' => 'Menge',
|
'Quantity' => 'Menge',
|
||||||
'RecentInvoices' => 'Jüngste Rechnungen',
|
'RecentInvoices' => 'Jüngste Rechnungen',
|
||||||
'Sales' => 'Umsatz',
|
'Sales' => 'Umsatz',
|
||||||
'Segment' => 'Segment',
|
'Segment' => 'Segment',
|
||||||
'Segments' => 'Segmente',
|
'Segments' => 'Segmente',
|
||||||
'Subtype' => 'Untertyp',
|
'Subtype' => 'Untertyp',
|
||||||
'Supplier' => 'Anbieter',
|
'Supplier' => 'Anbieter',
|
||||||
'Suppliers' => 'Lieferanten',
|
'Suppliers' => 'Lieferanten',
|
||||||
'Support' => 'Unterstützung',
|
'Support' => 'Unterstützung',
|
||||||
'Tags' => 'Stichworte',
|
'Tags' => 'Stichworte',
|
||||||
'Title' => '',
|
'Title' => 'Titel',
|
||||||
'TotalPrice' => '',
|
'TotalPrice' => '',
|
||||||
'Type' => 'Typ',
|
'Type' => 'Typ',
|
||||||
'UnitPrice' => '',
|
'UnitPrice' => '',
|
||||||
'Website' => '',
|
'Website' => 'Webseite',
|
||||||
'Wire' => 'Kabel',
|
'Wire' => 'Überweisung',
|
||||||
'YTDSales' => 'Ytd Sales.',
|
'YTDSales' => 'Ytd Sales',
|
||||||
'Zip' => 'Reißverschluss',
|
'SLV' => 'SLV',
|
||||||
|
'Bill' => 'Rechnung',
|
||||||
|
'Account' => 'Konto',
|
||||||
|
'EarningIndicator' => 'Verkaufssteuerkennzeichen',
|
||||||
|
'CostIndicator' => 'Einkaufssteuerkennzeichen',
|
||||||
|
'Zip' => 'Reißverschluss',
|
||||||
|
'Status' => 'Status',
|
||||||
|
'Bills' => 'Rechnungen',
|
||||||
|
'Items' => 'Artikel',
|
||||||
|
'ViewAccount' => 'Buchhaltung',
|
||||||
|
'CreateBill' => 'Erstelle Rechnung',
|
||||||
|
':status-1' => 'Aktiv',
|
||||||
|
':status-2' => 'Inaktiv',
|
||||||
|
':status-3' => 'Blockiert',
|
||||||
|
'Pricing' => 'Pricing',
|
||||||
|
'Start' => 'Start',
|
||||||
|
'End' => 'End',
|
||||||
|
'ItemSegment' => 'Artikelsegment',
|
||||||
|
'ClientSegment' => 'Kundensegment',
|
||||||
|
'ItemSection' => 'Artikelsparte',
|
||||||
|
'ClientSection' => 'Kundensparte',
|
||||||
|
'ItemSalesGroup' => 'Artikel Umsatzgruppe',
|
||||||
|
'ClientGroup' => 'Kundengruppe',
|
||||||
|
'ClientType' => 'Kundenart',
|
||||||
|
'ItemType' => 'Artikeltyp',
|
||||||
|
'Item' => 'Artikel',
|
||||||
]];
|
]];
|
||||||
|
|
|
||||||
|
|
@ -13,96 +13,121 @@
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
return ['SupplierManagement' => [
|
return ['SupplierManagement' => [
|
||||||
'Accounting' => 'Accounting',
|
'Accounting' => 'Accounting',
|
||||||
'Address' => 'Address',
|
'Address' => 'Address',
|
||||||
'Addresses' => 'Addresses',
|
'Addresses' => 'Addresses',
|
||||||
'AreaManager' => 'Area Manager',
|
'AreaManager' => 'Area Manager',
|
||||||
'Articlegroup' => 'Articlegroup',
|
'Articlegroup' => 'Articlegroup',
|
||||||
'Articles' => 'Articles',
|
'Articles' => 'Articles',
|
||||||
'Attribute' => 'Attribute',
|
'Attribute' => 'Attribute',
|
||||||
'AttributeTypes' => 'Attribute Types',
|
'AttributeTypes' => 'Attribute Types',
|
||||||
'Attributes' => '',
|
'Attributes' => '',
|
||||||
'Balance' => 'Balance',
|
'Balance' => 'Balance',
|
||||||
'Bills' => '',
|
'Bills' => '',
|
||||||
'Bonus' => 'Bonus',
|
'Bonus' => 'Bonus',
|
||||||
'CLV' => 'CLV',
|
'CLV' => 'CLV',
|
||||||
'Calendar' => 'Calendar',
|
'Calendar' => 'Calendar',
|
||||||
'City' => 'City',
|
'City' => 'City',
|
||||||
'Client' => 'Client',
|
'Client' => 'Client',
|
||||||
'ClientID' => '',
|
'ClientID' => '',
|
||||||
'Contact' => 'Contact',
|
'Contact' => 'Contact',
|
||||||
'Country' => 'Country',
|
'Country' => 'Country',
|
||||||
'Created' => 'Created',
|
'Created' => 'Created',
|
||||||
'CreatedAt' => 'Created at',
|
'CreatedAt' => 'Created at',
|
||||||
'CreditRating' => 'Credit Rating',
|
'CreditRating' => 'Credit Rating',
|
||||||
'Creditcard' => 'Creditcard',
|
'Creditcard' => 'Creditcard',
|
||||||
'DSO' => 'DSO',
|
'DSO' => 'DSO',
|
||||||
'DUE' => 'Due',
|
'DUE' => 'Due',
|
||||||
'Date' => 'Date',
|
'Date' => 'Date',
|
||||||
'Default' => 'Default',
|
'Default' => 'Default',
|
||||||
'Delivery' => 'Delivery',
|
'Delivery' => 'Delivery',
|
||||||
'Discount' => 'Discount',
|
'Discount' => 'Discount',
|
||||||
'DiscountBonus' => '',
|
'DiscountBonus' => '',
|
||||||
'DiscountP' => 'Discount %',
|
'DiscountP' => 'Discount %',
|
||||||
'Documents' => 'Documents',
|
'Documents' => 'Documents',
|
||||||
'Due' => 'Due',
|
'Due' => 'Due',
|
||||||
'Email' => 'Email',
|
'Email' => 'Email',
|
||||||
'Fax' => 'Fax',
|
'Fax' => 'Fax',
|
||||||
'Files' => 'Files',
|
'Files' => 'Files',
|
||||||
'Freightage' => 'Freightage',
|
'Freightage' => 'Freightage',
|
||||||
'Group' => 'Group',
|
'Group' => 'Group',
|
||||||
'ID' => 'ID',
|
'ID' => 'ID',
|
||||||
'Info' => 'Info',
|
'Info' => 'Info',
|
||||||
'Invoice' => 'Invoice',
|
'Invoice' => 'Invoice',
|
||||||
'Invoices' => 'Invoices',
|
'Invoices' => 'Invoices',
|
||||||
'IsDefault' => 'Is default',
|
'IsDefault' => 'Is default',
|
||||||
'Items' => '',
|
'LastContact' => 'Last Contact',
|
||||||
'LastContact' => 'Last Contact',
|
'LastOrder' => 'Last Order',
|
||||||
'LastOrder' => 'Last Order',
|
'Log' => 'Log',
|
||||||
'Log' => 'Log',
|
'Logs' => 'Logs',
|
||||||
'Logs' => 'Logs',
|
'MRR' => 'MRR',
|
||||||
'MRR' => 'MRR',
|
'MTDSales' => 'MTD Sales',
|
||||||
'MTDSales' => 'MTD Sales',
|
'Map' => '',
|
||||||
'Map' => '',
|
'Margin' => 'Margin',
|
||||||
'Margin' => 'Margin',
|
'Master' => 'Master',
|
||||||
'Master' => 'Master',
|
'Messages' => 'Messages',
|
||||||
'Messages' => 'Messages',
|
'Modified' => 'Modified',
|
||||||
'Modified' => 'Modified',
|
'Name' => 'Name',
|
||||||
'Name' => 'Name',
|
'Name1' => 'Name1',
|
||||||
'Name1' => 'Name1',
|
'Name2' => 'Name2',
|
||||||
'Name2' => 'Name2',
|
'Name3' => 'Name3',
|
||||||
'Name3' => 'Name3',
|
'Net' => 'Net',
|
||||||
'Net' => 'Net',
|
'Notes' => 'Notes',
|
||||||
'Notes' => 'Notes',
|
'Number' => 'Number',
|
||||||
'Number' => 'Number',
|
'Office' => 'Office',
|
||||||
'Office' => 'Office',
|
'Payment' => 'Payment',
|
||||||
'Payment' => 'Payment',
|
'PaymentTerm' => 'Payment Term',
|
||||||
'PaymentTerm' => 'Payment Term',
|
'Permission' => 'Permission',
|
||||||
'Permission' => 'Permission',
|
'Phone' => 'Phone',
|
||||||
'Phone' => 'Phone',
|
'Postal' => 'Postal',
|
||||||
'Postal' => 'Postal',
|
'Price' => 'Price',
|
||||||
'Price' => 'Price',
|
'Prices' => 'Prices',
|
||||||
'Prices' => 'Prices',
|
'Productgroup' => 'Productgroup',
|
||||||
'Productgroup' => 'Productgroup',
|
'Profile' => 'Profile',
|
||||||
'Profile' => 'Profile',
|
'Profit' => '',
|
||||||
'Profit' => '',
|
'Purchase' => 'Purchase',
|
||||||
'Purchase' => 'Purchase',
|
'Quantity' => 'Quantity',
|
||||||
'Quantity' => 'Quantity',
|
'RecentInvoices' => 'Recent Invoices',
|
||||||
'RecentInvoices' => 'Recent Invoices',
|
'Sales' => 'Sales',
|
||||||
'Sales' => 'Sales',
|
'Segment' => 'Segment',
|
||||||
'Segment' => 'Segment',
|
'Segments' => 'Segments',
|
||||||
'Segments' => 'Segments',
|
'Subtype' => 'Subtype',
|
||||||
'Subtype' => 'Subtype',
|
'Supplier' => 'Supplier',
|
||||||
'Supplier' => 'Supplier',
|
'Suppliers' => 'Suppliers',
|
||||||
'Suppliers' => 'Suppliers',
|
'Support' => 'Support',
|
||||||
'Support' => 'Support',
|
'Tags' => 'Tags',
|
||||||
'Tags' => 'Tags',
|
'Title' => 'Title',
|
||||||
'Title' => 'Title',
|
'TotalPrice' => '',
|
||||||
'TotalPrice' => '',
|
'Type' => 'Type',
|
||||||
'Type' => 'Type',
|
'UnitPrice' => '',
|
||||||
'UnitPrice' => '',
|
'Website' => 'Website',
|
||||||
'Website' => 'Website',
|
'Account' => 'Account',
|
||||||
'Wire' => 'Wire',
|
'EarningIndicator' => 'Sales tax code',
|
||||||
'YTDSales' => 'YTD Sales',
|
'CostIndicator' => 'Purchase tax code',
|
||||||
'Zip' => 'Zip',
|
'Wire' => 'Wire',
|
||||||
|
'YTDSales' => 'YTD Sales',
|
||||||
|
'Zip' => 'Zip',
|
||||||
|
'SLV' => 'SLV',
|
||||||
|
'Bill' => 'Bill',
|
||||||
|
'Status' => 'Status',
|
||||||
|
'Bills' => 'Bills',
|
||||||
|
'Items' => 'Items',
|
||||||
|
'ViewAccount' => 'View Account',
|
||||||
|
'CreateBill' => 'Create Bill',
|
||||||
|
':status-1' => 'Active',
|
||||||
|
':status-2' => 'Inactive',
|
||||||
|
':status-3' => 'Banned',
|
||||||
|
'Pricing' => 'Pricing',
|
||||||
|
'Start' => 'Start',
|
||||||
|
'End' => 'End',
|
||||||
|
'ItemSegment' => 'Item Segment',
|
||||||
|
'ClientSegment' => 'Client Segment',
|
||||||
|
'ItemSection' => 'Item Section',
|
||||||
|
'ClientSection' => 'Client Section',
|
||||||
|
'ItemSalesGroup' => 'Item Sales Group',
|
||||||
|
'ClientGroup' => 'Client Group',
|
||||||
|
'ClientType' => 'Client Type',
|
||||||
|
'ItemProductGroup' => 'Item Product Group',
|
||||||
|
'ItemType' => 'Item Type',
|
||||||
|
'Item' => 'Item',
|
||||||
]];
|
]];
|
||||||
|
|
|
||||||
|
|
@ -1,194 +0,0 @@
|
||||||
<?php
|
|
||||||
/**
|
|
||||||
* Jingga
|
|
||||||
*
|
|
||||||
* PHP Version 8.2
|
|
||||||
*
|
|
||||||
* @package Modules\SupplierManagement
|
|
||||||
* @copyright Dennis Eichhorn
|
|
||||||
* @license OMS License 2.0
|
|
||||||
* @version 1.0.0
|
|
||||||
* @link https://jingga.app
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var \phpOMS\Views\View $this
|
|
||||||
*/
|
|
||||||
echo $this->data['nav']->render(); ?>
|
|
||||||
|
|
||||||
<div class="tabview tab-2">
|
|
||||||
<div class="box">
|
|
||||||
<ul class="tab-links">
|
|
||||||
<li><label for="c-tab-1"><?= $this->getHtml('Master'); ?></label>
|
|
||||||
<li><label for="c-tab-2"><?= $this->getHtml('Contact'); ?></label>
|
|
||||||
<li><label for="c-tab-3"><?= $this->getHtml('Addresses'); ?></label>
|
|
||||||
<li><label for="c-tab-4"><?= $this->getHtml('PaymentTerm'); ?></label>
|
|
||||||
<li><label for="c-tab-5"><?= $this->getHtml('Payment'); ?></label>
|
|
||||||
<li><label for="c-tab-6"><?= $this->getHtml('Files'); ?></label>
|
|
||||||
<li><label for="c-tab-7"><?= $this->getHtml('Logs'); ?></label>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="tab-content">
|
|
||||||
<input type="radio" id="c-tab-1" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-1' ? ' checked' : ''; ?>>
|
|
||||||
<div class="tab">
|
|
||||||
<section class="box w-33 lf">
|
|
||||||
<header><h1><?= $this->getHtml('Supplier'); ?></h1></header>
|
|
||||||
<div class="inner">
|
|
||||||
<form>
|
|
||||||
<table class="layout wf-100">
|
|
||||||
<tr><td><label for="iId"><?= $this->getHtml('ID', '0', '0'); ?></label>
|
|
||||||
<tr><td><span class="input"><button type="button" formaction=""><i class="g-icon">book</i></button><input type="number" id="iId" min="1" name="id" required></span>
|
|
||||||
<tr><td><label for="iName1"><?= $this->getHtml('Name1'); ?></label>
|
|
||||||
<tr><td><input type="text" id="iName1" name="name1" required>
|
|
||||||
<tr><td><label for="iName2"><?= $this->getHtml('Name2'); ?></label>
|
|
||||||
<tr><td><input type="text" id="iName2" name="name2">
|
|
||||||
<tr><td><label for="iName3"><?= $this->getHtml('Name3'); ?></label>
|
|
||||||
<tr><td><input type="text" id="iName3" name="name3">
|
|
||||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Create', '0', '0'); ?>" name="create-supplier">
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
<input type="radio" id="c-tab-2" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-2' ? ' checked' : ''; ?>>
|
|
||||||
<div class="tab">
|
|
||||||
<section class="box w-33 lf">
|
|
||||||
<header><h1><?= $this->getHtml('Contact'); ?></h1></header>
|
|
||||||
<div class="inner">
|
|
||||||
<form>
|
|
||||||
<table class="layout wf-100">
|
|
||||||
<tr><td><label for="iCType"><?= $this->getHtml('Type'); ?></label>
|
|
||||||
<tr><td><select id="iCType" name="actype">
|
|
||||||
<option><?= $this->getHtml('Email'); ?>
|
|
||||||
<option><?= $this->getHtml('Fax'); ?>
|
|
||||||
<option><?= $this->getHtml('Phone'); ?>
|
|
||||||
</select>
|
|
||||||
<tr><td><label for="iCStype"><?= $this->getHtml('Subtype'); ?></label>
|
|
||||||
<tr><td><select id="iCStype" name="acstype">
|
|
||||||
<option><?= $this->getHtml('Office'); ?>
|
|
||||||
<option><?= $this->getHtml('Sales'); ?>
|
|
||||||
<option><?= $this->getHtml('Purchase'); ?>
|
|
||||||
<option><?= $this->getHtml('Accounting'); ?>
|
|
||||||
<option><?= $this->getHtml('Support'); ?>
|
|
||||||
</select>
|
|
||||||
<tr><td><label for="iCInfo"><?= $this->getHtml('Info'); ?></label>
|
|
||||||
<tr><td><input type="text" id="iCInfo" name="cinfo">
|
|
||||||
<tr><td><label for="iCData"><?= $this->getHtml('Contact'); ?></label>
|
|
||||||
<tr><td><input type="text" id="iCData" name="cdata">
|
|
||||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
<input type="radio" id="c-tab-3" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-3' ? ' checked' : ''; ?>>
|
|
||||||
<div class="tab">
|
|
||||||
<section class="box w-33 lf">
|
|
||||||
<header><h1><?= $this->getHtml('Address'); ?></h1></header>
|
|
||||||
<div class="inner">
|
|
||||||
<form>
|
|
||||||
<table class="layout wf-100">
|
|
||||||
<tr><td><label for="iAType"><?= $this->getHtml('Type'); ?></label>
|
|
||||||
<tr><td><select id="iAType" name="atype">
|
|
||||||
<option><?= $this->getHtml('Default'); ?>
|
|
||||||
<option><?= $this->getHtml('Delivery'); ?>
|
|
||||||
<option><?= $this->getHtml('Invoice'); ?>
|
|
||||||
</select>
|
|
||||||
<tr><td><label for="iAddress"><?= $this->getHtml('Address'); ?></label>
|
|
||||||
<tr><td><input type="text" id="iAddress" name="address">
|
|
||||||
<tr><td><label for="iZip"><?= $this->getHtml('Zip'); ?></label>
|
|
||||||
<tr><td><input type="text" id="iZip" name="zip">
|
|
||||||
<tr><td><label for="iCountry"><?= $this->getHtml('Country'); ?></label>
|
|
||||||
<tr><td><input type="text" id="iCountry" name="country">
|
|
||||||
<tr><td><label for="iAInfo"><?= $this->getHtml('Info'); ?></label>
|
|
||||||
<tr><td><input type="text" id="iAInfo" name="ainfo">
|
|
||||||
<tr><td><span class="check"><input type="checkbox" id="iDefault" name="default" checked><label for="iDefault"><?= $this->getHtml('IsDefault'); ?></label></span>
|
|
||||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
<input type="radio" id="c-tab-4" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-4' ? ' checked' : ''; ?>>
|
|
||||||
<div class="tab">
|
|
||||||
<section class="box w-33 lf">
|
|
||||||
<header><h1><?= $this->getHtml('PaymentTerm'); ?></h1></header>
|
|
||||||
<div class="inner">
|
|
||||||
<form>
|
|
||||||
<table class="layout wf-100">
|
|
||||||
<tr><td><label for="iSource"><?= $this->getHtml('ID'); ?></label>
|
|
||||||
<tr><td><span class="input"><button type="button" formaction=""><i class="g-icon">book</i></button><input id="iSource" name="source" type="text"></span>
|
|
||||||
<tr><td><label for="iSegment"><?= $this->getHtml('Segment'); ?></label>
|
|
||||||
<tr><td><input id="iSegment" name="segment" type="text">
|
|
||||||
<tr><td><label for="iProductgroup"><?= $this->getHtml('Productgroup'); ?></label>
|
|
||||||
<tr><td><input id="iProductgroup" name="productgroup" type="text">
|
|
||||||
<tr><td><label for="iGroup"><?= $this->getHtml('Group'); ?></label>
|
|
||||||
<tr><td><input id="iGroup" name="group" type="text">
|
|
||||||
<tr><td><label for="iArticlegroup"><?= $this->getHtml('Articlegroup'); ?></label>
|
|
||||||
<tr><td><input id="iArticlegroup" name="articlegroup" type="text">
|
|
||||||
<tr><td><label for="iTerm"><?= $this->getHtml('Type'); ?></label>
|
|
||||||
<tr><td><select id="iTerm" name="term" required>
|
|
||||||
<option>
|
|
||||||
</select>
|
|
||||||
<tr><td><span class="check"><input type="checkbox" id="iFreightage" name="freightage"><label for="iFreightage"><?= $this->getHtml('Freightage'); ?></label></span>
|
|
||||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
<input type="radio" id="c-tab-5" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-5' ? ' checked' : ''; ?>>
|
|
||||||
<div class="tab">
|
|
||||||
<section class="box w-33 lf">
|
|
||||||
<header><h1><?= $this->getHtml('Payment'); ?></h1></header>
|
|
||||||
<div class="inner">
|
|
||||||
<form>
|
|
||||||
<table class="layout wf-100">
|
|
||||||
<tr><td><label for="iACType"><?= $this->getHtml('Type'); ?></label>
|
|
||||||
<tr><td><select id="iACType" name="actype">
|
|
||||||
<option><?= $this->getHtml('Wire'); ?>
|
|
||||||
<option><?= $this->getHtml('Creditcard'); ?>
|
|
||||||
</select>
|
|
||||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
<input type="radio" id="c-tab-6" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-6' ? ' checked' : ''; ?>>
|
|
||||||
<div class="tab">
|
|
||||||
</div>
|
|
||||||
<input type="radio" id="c-tab-7" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-7' ? ' checked' : ''; ?>>
|
|
||||||
<div class="tab">
|
|
||||||
<?php
|
|
||||||
$footerView = new \phpOMS\Views\PaginationView($this->l11nManager, $this->request, $this->response);
|
|
||||||
$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig');
|
|
||||||
$footerView->setPages(20);
|
|
||||||
$footerView->setPage(1);
|
|
||||||
?>
|
|
||||||
<div class="box w-100">
|
|
||||||
<table class="default sticky">
|
|
||||||
<caption><?= $this->getHtml('Logs'); ?><i class="g-icon end-xs download btn">download</i></caption>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>IP
|
|
||||||
<td><?= $this->getHtml('ID', '0', '0'); ?>
|
|
||||||
<td><?= $this->getHtml('Name'); ?>
|
|
||||||
<td class="wf-100"><?= $this->getHtml('Log'); ?>
|
|
||||||
<td><?= $this->getHtml('Date'); ?>
|
|
||||||
<tfoot>
|
|
||||||
<tr>
|
|
||||||
<td colspan="6">
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td><?= $this->printHtml($this->request->getOrigin()); ?>
|
|
||||||
<td><?= $this->printHtml($this->request->header->account); ?>
|
|
||||||
<td><?= $this->printHtml($this->request->header->account); ?>
|
|
||||||
<td>Creating suppier
|
|
||||||
<td><?= $this->printHtml((new \DateTime('now'))->format('Y-m-d H:i:s')); ?>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
@ -166,7 +166,7 @@ $bills = $this->data['newestInvoices'] ?? [];
|
||||||
/** @var \Modules\Billing\Models\Bill $value */
|
/** @var \Modules\Billing\Models\Bill $value */
|
||||||
foreach ($bills as $key => $value) :
|
foreach ($bills as $key => $value) :
|
||||||
++$count;
|
++$count;
|
||||||
$url = UriFactory::build('{/base}/purchase/bill?{?}&id=' . $value->id);
|
$url = UriFactory::build('{/base}/purchase/bill/view?{?}&id=' . $value->id);
|
||||||
?>
|
?>
|
||||||
<tr data-href="<?= $url; ?>">
|
<tr data-href="<?= $url; ?>">
|
||||||
<td><label class="checkbox" for="iBillSelect-<?= $key; ?>">
|
<td><label class="checkbox" for="iBillSelect-<?= $key; ?>">
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -89,7 +89,7 @@ final class ApiControllerTest extends \PHPUnit\Framework\TestCase
|
||||||
$this->app->accountManager->add($account);
|
$this->app->accountManager->add($account);
|
||||||
$this->app->router = new WebRouter();
|
$this->app->router = new WebRouter();
|
||||||
|
|
||||||
$this->module = $this->app->moduleManager->get('SupplierManagement');
|
$this->module = $this->app->moduleManager->get('SupplierManagement');
|
||||||
$this->moduleAttr = $this->app->moduleManager->get('SupplierManagement', 'ApiAttribute');
|
$this->moduleAttr = $this->app->moduleManager->get('SupplierManagement', 'ApiAttribute');
|
||||||
|
|
||||||
TestUtils::setMember($this->module, 'app', $this->app);
|
TestUtils::setMember($this->module, 'app', $this->app);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user