mirror of
https://github.com/Karaka-Management/oms-Billing.git
synced 2026-01-26 22:38:40 +00:00
fix default respone generation
This commit is contained in:
parent
b777d200a4
commit
70638a246b
362
Admin/Install/Taxes/de_small_business.json
Normal file
362
Admin/Install/Taxes/de_small_business.json
Normal file
|
|
@ -0,0 +1,362 @@
|
|||
[
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "EU",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "AT",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "BE",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "BG",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "HR",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "CY",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "CZ",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "DK",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "EE",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "FI",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "FR",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "DE",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "GR",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "HU",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "IE",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "IT",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "LV",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "LT",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "LU",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "MT",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "NL",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "PL",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "PT",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "RO",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "SK",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "SI",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "ES",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "SE",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "GB",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SOFTWARE",
|
||||
"account_code": "INT",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "EU",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "AT",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "BE",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "BG",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "HR",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "CY",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "CZ",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "DK",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "EE",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "FI",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "FR",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "DE",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "GR",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "HU",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "IE",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "IT",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "LV",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "LT",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "LU",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "MT",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "NL",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "PL",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "PT",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "RO",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "SK",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "SI",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "ES",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "SE",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "GB",
|
||||
"tax_code": "SBIZ_0"
|
||||
},
|
||||
{
|
||||
"type": 1,
|
||||
"item_code": "SERVICE",
|
||||
"account_code": "INT",
|
||||
"tax_code": "SBIZ_0"
|
||||
}
|
||||
]
|
||||
0
Admin/Install/taxes.json → Admin/Install/Taxes/taxes.json
Executable file → Normal file
0
Admin/Install/taxes.json → Admin/Install/Taxes/taxes.json
Executable file → Normal file
|
|
@ -15,8 +15,8 @@ declare(strict_types=1);
|
|||
namespace Modules\Billing\Admin;
|
||||
|
||||
use Modules\Billing\Models\BillTransferType;
|
||||
use Modules\ClientManagement\Models\ClientAttributeTypeMapper;
|
||||
use Modules\ItemManagement\Models\ItemAttributeTypeMapper;
|
||||
use Modules\ClientManagement\Models\Attribute\ClientAttributeTypeMapper;
|
||||
use Modules\ItemManagement\Models\Attribute\ItemAttributeTypeMapper;
|
||||
use Modules\SupplierManagement\Models\SupplierAttributeTypeMapper;
|
||||
use phpOMS\Application\ApplicationAbstract;
|
||||
use phpOMS\Config\SettingsInterface;
|
||||
|
|
@ -72,7 +72,7 @@ final class Installer extends InstallerAbstract
|
|||
self::createBillTypes($app, $types, $defaultTemplate);
|
||||
|
||||
/* Tax types */
|
||||
$fileContent = \file_get_contents(__DIR__ . '/Install/taxes.json');
|
||||
$fileContent = \file_get_contents(__DIR__ . '/Install/Taxes/taxes.json');
|
||||
if ($fileContent === false) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,10 +24,8 @@ use Modules\Billing\Models\Attribute\BillAttributeValueL11nMapper;
|
|||
use Modules\Billing\Models\Attribute\BillAttributeValueMapper;
|
||||
use phpOMS\Localization\BaseStringL11n;
|
||||
use phpOMS\Message\Http\RequestStatusCode;
|
||||
use phpOMS\Message\NotificationLevel;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
use phpOMS\Model\Message\FormValidation;
|
||||
|
||||
/**
|
||||
* Billing class.
|
||||
|
|
@ -39,7 +37,7 @@ use phpOMS\Model\Message\FormValidation;
|
|||
*/
|
||||
final class ApiAttributeController extends Controller
|
||||
{
|
||||
use \Modules\Attribute\Controller\ApiTraitController;
|
||||
use \Modules\Attribute\Controller\ApiAttributeTraitController;
|
||||
|
||||
/**
|
||||
* Api method to create item attribute
|
||||
|
|
@ -57,15 +55,15 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeCreate($request))) {
|
||||
$response->data['attribute_create'] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$attribute = $this->createAttributeFromRequest($request);
|
||||
$this->createModel($request->header->account, $attribute, BillAttributeMapper::class, 'attribute', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute', 'Attribute successfully created', $attribute);
|
||||
$this->createStandardCreateResponse($request, $response, $attribute);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -84,15 +82,15 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeTypeL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeTypeL11nCreate($request))) {
|
||||
$response->data['attr_type_l11n_create'] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$attrL11n = $this->createAttributeTypeL11nFromRequest($request);
|
||||
$this->createModel($request->header->account, $attrL11n, BillAttributeTypeL11nMapper::class, 'attr_type_l11n', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully created', $attrL11n);
|
||||
$this->createStandardCreateResponse($request, $response, $attrL11n);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -111,15 +109,15 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeTypeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeTypeCreate($request))) {
|
||||
$response->data['attr_type_create'] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$attrType = $this->createAttributeTypeFromRequest($request);
|
||||
$this->createModel($request->header->account, $attrType, BillAttributeTypeMapper::class, 'attr_type', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute type', 'Attribute type successfully created', $attrType);
|
||||
$this->createStandardCreateResponse($request, $response, $attrType);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -138,8 +136,8 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeValueCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeValueCreate($request))) {
|
||||
$response->data['attr_value_create'] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -161,7 +159,7 @@ final class ApiAttributeController extends Controller
|
|||
);
|
||||
}
|
||||
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute value', 'Attribute value successfully created', $attrValue);
|
||||
$this->createStandardCreateResponse($request, $response, $attrValue);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -180,15 +178,15 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeValueL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeValueL11nCreate($request))) {
|
||||
$response->data['attr_value_l11n_create'] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$attrL11n = $this->createAttributeValueL11nFromRequest($request);
|
||||
$this->createModel($request->header->account, $attrL11n, BillAttributeValueL11nMapper::class, 'attr_value_l11n', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully created', $attrL11n);
|
||||
$this->createStandardCreateResponse($request, $response, $attrL11n);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -207,8 +205,8 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeUpdate($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -256,8 +254,8 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeDelete($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidDeleteResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -293,8 +291,8 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeTypeL11nUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeTypeL11nUpdate($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -323,8 +321,8 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeTypeL11nDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeTypeL11nDelete($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidDeleteResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -351,8 +349,8 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeTypeUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeTypeUpdate($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -383,8 +381,8 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeTypeDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeTypeDelete($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidDeleteResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -411,8 +409,8 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeValueUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeValueUpdate($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -453,8 +451,8 @@ final class ApiAttributeController extends Controller
|
|||
// However, It should be possible to remove UNUSED default values
|
||||
// either here or other function?
|
||||
if (!empty($val = $this->validateAttributeValueDelete($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidDeleteResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -481,8 +479,8 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeValueL11nUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeValueL11nUpdate($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -511,8 +509,8 @@ final class ApiAttributeController extends Controller
|
|||
public function apiBillAttributeValueL11nDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateAttributeValueL11nDelete($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidDeleteResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Jingga
|
||||
*
|
||||
|
|
@ -28,7 +27,6 @@ use Modules\Billing\Models\NullBillElement;
|
|||
use Modules\Billing\Models\SettingsEnum;
|
||||
use Modules\ClientManagement\Models\Client;
|
||||
use Modules\ClientManagement\Models\ClientMapper;
|
||||
use Modules\Editor\Models\EditorDocMapper;
|
||||
use Modules\ItemManagement\Models\Item;
|
||||
use Modules\ItemManagement\Models\ItemMapper;
|
||||
use Modules\Media\Models\CollectionMapper;
|
||||
|
|
@ -78,8 +76,8 @@ final class ApiBillController extends Controller
|
|||
public function apiBillUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBillUpdate($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -142,15 +140,14 @@ final class ApiBillController extends Controller
|
|||
public function apiBillCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBillCreate($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$bill = $this->createBillFromRequest($request, $response, $data);
|
||||
$this->createBillDatabaseEntry($bill, $request);
|
||||
|
||||
$this->createStandardCreateResponse($request, $response, $bill);
|
||||
}
|
||||
|
||||
|
|
@ -303,7 +300,8 @@ final class ApiBillController extends Controller
|
|||
*/
|
||||
public function createBaseBillElement(Client $client, Item $item, Bill $bill, RequestAbstract $request) : BillElement
|
||||
{
|
||||
$taxCode = $this->app->moduleManager->get('Billing', 'ApiTax')->getTaxCodeFromClientItem($client, $item, $request->header->l11n->country);
|
||||
$taxCode = $this->app->moduleManager->get('Billing', 'ApiTax')
|
||||
->getTaxCodeFromClientItem($client, $item, $request->header->l11n->country);
|
||||
|
||||
$element = BillElement::fromItem(
|
||||
$item,
|
||||
|
|
@ -392,8 +390,8 @@ final class ApiBillController extends Controller
|
|||
public function apiMediaAddToBill(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateMediaAddToBill($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -504,8 +502,8 @@ final class ApiBillController extends Controller
|
|||
{
|
||||
// @todo: check that it is not system generated media!
|
||||
if (!empty($val = $this->validateMediaRemoveFromBill($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidDeleteResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -644,8 +642,8 @@ final class ApiBillController extends Controller
|
|||
public function apiBillElementCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBillElementCreate($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -1140,8 +1138,8 @@ final class ApiBillController extends Controller
|
|||
public function apiNoteCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateNoteCreate($request))) {
|
||||
$response->data['bill_note_create'] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -1196,8 +1194,8 @@ final class ApiBillController extends Controller
|
|||
public function apiBillDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBillDelete($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidDeleteResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -1267,8 +1265,8 @@ final class ApiBillController extends Controller
|
|||
public function apiBillElementUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBillElementUpdate($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -1339,8 +1337,8 @@ final class ApiBillController extends Controller
|
|||
public function apiBillElementDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBillElementDelete($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidDeleteResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,10 +24,8 @@ use Modules\Media\Models\NullCollection;
|
|||
use phpOMS\Localization\BaseStringL11n;
|
||||
use phpOMS\Localization\ISO639x1Enum;
|
||||
use phpOMS\Message\Http\RequestStatusCode;
|
||||
use phpOMS\Message\NotificationLevel;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
use phpOMS\Model\Message\FormValidation;
|
||||
|
||||
/**
|
||||
* Billing class.
|
||||
|
|
@ -55,16 +53,15 @@ final class ApiBillTypeController extends Controller
|
|||
public function apiBillTypeCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBillTypeCreate($request))) {
|
||||
$response->data['bill_type_create'] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$billType = $this->createBillTypeFromRequest($request);
|
||||
$this->createModel($request->header->account, $billType, BillTypeMapper::class, 'bill_type', $request->getOrigin());
|
||||
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Bill type', 'Bill type successfully created', $billType);
|
||||
$this->createStandardCreateResponse($request, $response, $billType);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -132,15 +129,15 @@ final class ApiBillTypeController extends Controller
|
|||
public function apiBillTypeL11nCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBillTypeL11nCreate($request))) {
|
||||
$response->data['bill_type_l11n_create'] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$billTypeL11n = $this->createBillTypeL11nFromRequest($request);
|
||||
$this->createModel($request->header->account, $billTypeL11n, BillTypeL11nMapper::class, 'bill_type_l11n', $request->getOrigin());
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Localization', 'Localization successfully created', $billTypeL11n);
|
||||
$this->createStandardCreateResponse($request, $response, $billTypeL11n);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -201,8 +198,8 @@ final class ApiBillTypeController extends Controller
|
|||
public function apiBillTypeUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBillTypeUpdate($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -277,8 +274,8 @@ final class ApiBillTypeController extends Controller
|
|||
public function apiBillTypeDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBillTypeDelete($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidDeleteResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -324,8 +321,8 @@ final class ApiBillTypeController extends Controller
|
|||
public function apiBillTypeL11nUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBillTypeL11nUpdate($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -394,8 +391,8 @@ final class ApiBillTypeController extends Controller
|
|||
public function apiBillTypeL11nDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateBillTypeL11nDelete($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidDeleteResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -238,16 +238,15 @@ final class ApiPriceController extends Controller
|
|||
public function apiPriceCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validatePriceCreate($request))) {
|
||||
$response->data['price_create'] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$tax = $this->createPriceFromRequest($request);
|
||||
$this->createModel($request->header->account, $tax, PriceMapper::class, 'price', $request->getOrigin());
|
||||
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Price', 'Price successfully created', $tax);
|
||||
$this->createStandardCreateResponse($request, $response, $tax);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -332,8 +331,8 @@ final class ApiPriceController extends Controller
|
|||
public function apiPriceUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validatePriceUpdate($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -428,8 +427,8 @@ final class ApiPriceController extends Controller
|
|||
public function apiPriceDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validatePriceDelete($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidDeleteResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Jingga
|
||||
*
|
||||
|
|
@ -21,18 +20,17 @@ use Modules\Attribute\Models\AttributeValue;
|
|||
use Modules\Attribute\Models\NullAttributeValue;
|
||||
use Modules\Billing\Models\Tax\TaxCombination;
|
||||
use Modules\Billing\Models\Tax\TaxCombinationMapper;
|
||||
use Modules\ClientManagement\Models\Attribute\ClientAttributeTypeMapper;
|
||||
use Modules\ClientManagement\Models\Client;
|
||||
use Modules\ClientManagement\Models\ClientAttributeTypeMapper;
|
||||
use Modules\Finance\Models\TaxCode;
|
||||
use Modules\Finance\Models\TaxCodeMapper;
|
||||
use Modules\ItemManagement\Models\Item;
|
||||
use Modules\Organization\Models\UnitMapper;
|
||||
use phpOMS\Localization\ISO3166CharEnum;
|
||||
use phpOMS\Message\Http\RequestStatusCode;
|
||||
use phpOMS\Message\NotificationLevel;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
use phpOMS\Model\Message\FormValidation;
|
||||
use phpOMS\Security\Guard;
|
||||
|
||||
/**
|
||||
* Billing class.
|
||||
|
|
@ -59,47 +57,49 @@ final class ApiTaxController extends Controller
|
|||
{
|
||||
// @todo: define default sales tax code if none available?!
|
||||
// @todo: consider to actually use a ownsOne reference instead of only a string, this way the next line with the TaxCodeMapper can be removed
|
||||
|
||||
/** @var \Modules\Billing\Models\Tax\TaxCombination $taxCombination */
|
||||
$taxCombination = TaxCombinationMapper::get()
|
||||
->where('itemCode', $item->getAttribute('sales_tax_code')->value->id)
|
||||
->where('clientCode', $client->getAttribute('sales_tax_code')->value->id)
|
||||
->execute();
|
||||
->where('itemCode', $item->getAttribute('sales_tax_code')->value->id)
|
||||
->where('clientCode', $client->getAttribute('sales_tax_code')->value->id)
|
||||
->execute();
|
||||
|
||||
/** @var \Modules\Finance\Models\TaxCode $taxCode */
|
||||
$taxCode = TaxCodeMapper::get()
|
||||
->where('abbr', $taxCombination->taxCode)
|
||||
->execute();
|
||||
|
||||
// If now tax code could be found, the local tax code should be used.
|
||||
if ($taxCode->id === 0) {
|
||||
/** @var \Modules\Organization\Models\Unit $unit */
|
||||
$unit = UnitMapper::get()
|
||||
->with('mainAddress')
|
||||
->where('id', $this->app->unitId)
|
||||
->execute();
|
||||
|
||||
// Create dummy client
|
||||
$client = new Client();
|
||||
$client->mainAddress = $unit->mainAddress;
|
||||
|
||||
if (!empty($defaultCountry)) {
|
||||
$client->mainAddress->setCountry($defaultCountry);
|
||||
}
|
||||
|
||||
$taxCodeAttribute = $this->getClientTaxCode($client, $unit->mainAddress);
|
||||
|
||||
/** @var \Modules\Billing\Models\Tax\TaxCombination $taxCombination */
|
||||
$taxCombination = TaxCombinationMapper::get()
|
||||
->where('itemCode', $item->getAttribute('sales_tax_code')->value->id)
|
||||
->where('clientCode', $taxCodeAttribute->id)
|
||||
->execute();
|
||||
|
||||
/** @var \Modules\Finance\Models\TaxCode $taxCode */
|
||||
$taxCode = TaxCodeMapper::get()
|
||||
->where('abbr', $taxCombination->taxCode)
|
||||
->execute();
|
||||
if ($taxCode->id !== 0) {
|
||||
return $taxCode;
|
||||
}
|
||||
|
||||
/** @var \Modules\Organization\Models\Unit $unit */
|
||||
$unit = UnitMapper::get()
|
||||
->with('mainAddress')
|
||||
->where('id', $this->app->unitId)
|
||||
->execute();
|
||||
|
||||
// Create dummy client
|
||||
$client = new Client();
|
||||
$client->mainAddress = $unit->mainAddress;
|
||||
|
||||
if (!empty($defaultCountry)) {
|
||||
$client->mainAddress->setCountry($defaultCountry);
|
||||
}
|
||||
|
||||
$taxCodeAttribute = $this->getClientTaxCode($client, $unit->mainAddress);
|
||||
|
||||
/** @var \Modules\Billing\Models\Tax\TaxCombination $taxCombination */
|
||||
$taxCombination = TaxCombinationMapper::get()
|
||||
->where('itemCode', $item->getAttribute('sales_tax_code')->value->id)
|
||||
->where('clientCode', $taxCodeAttribute->id)
|
||||
->execute();
|
||||
|
||||
/** @var \Modules\Finance\Models\TaxCode $taxCode */
|
||||
$taxCode = TaxCodeMapper::get()
|
||||
->where('abbr', $taxCombination->taxCode)
|
||||
->execute();
|
||||
|
||||
return $taxCode;
|
||||
}
|
||||
|
||||
|
|
@ -117,16 +117,15 @@ final class ApiTaxController extends Controller
|
|||
public function apiTaxCombinationCreate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateTaxCombinationCreate($request))) {
|
||||
$response->data['tax_combination_create'] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidCreateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$tax = $this->createTaxCombinationFromRequest($request);
|
||||
$this->createModel($request->header->account, $tax, TaxCombinationMapper::class, 'tax_combination', $request->getOrigin());
|
||||
|
||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Tax combination', 'Tax combination successfully created', $tax);
|
||||
$this->createStandardCreateResponse($request, $response, $tax);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -197,6 +196,7 @@ final class ApiTaxController extends Controller
|
|||
|
||||
$taxCode = new NullAttributeValue();
|
||||
|
||||
// @todo: need to consider own tax id as well
|
||||
if ($taxOfficeAddress->getCountry() === $client->mainAddress->getCountry()) {
|
||||
$taxCode = $codes->getDefaultByValue($client->mainAddress->getCountry());
|
||||
} elseif (\in_array($taxOfficeAddress->getCountry(), ISO3166CharEnum::getRegion('eu'))
|
||||
|
|
@ -236,8 +236,8 @@ final class ApiTaxController extends Controller
|
|||
public function apiTaxCombinationUpdate(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateTaxCombinationUpdate($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
@ -250,6 +250,80 @@ final class ApiTaxController extends Controller
|
|||
$this->createStandardUpdateResponse($request, $response, $new);
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method to update TaxCombination
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @api
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function apiChangeDefaultTaxCombinations(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateDefaultTaxCombinationChange($request))) {
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidUpdateResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!Guard::isSafePath(
|
||||
$path = __DIR__ . '/../Admin/Install/Taxes/' . $request->getDataString('type') . '.json',
|
||||
__DIR__ . '/../Admin/Install/Taxes'
|
||||
)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
$combinations = \json_decode(\file_get_contents($path), true);
|
||||
|
||||
foreach ($combinations as $combination) {
|
||||
$old = TaxCombinationMapper::getAll()
|
||||
->with('clientCode')
|
||||
->with('itemCode')
|
||||
->where('clientCode/valueStr', $combination['account_code'])
|
||||
->where('itemCode/valueStr', $combination['item_code'])
|
||||
->execute();
|
||||
|
||||
if (\count($old) !== 1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$old = \reset($old);
|
||||
|
||||
$new = clone $old;
|
||||
$new->taxCode = $combination['tax_code'];
|
||||
|
||||
$this->updateModel($request->header->account, $old, $new, TaxCombinationMapper::class, 'tax_combination', $request->getOrigin());
|
||||
}
|
||||
|
||||
$this->createStandardUpdateResponse($request, $response, []);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate TaxCombination update request
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
*
|
||||
* @return array<string, bool>
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private function validateDefaultTaxCombinationChange(RequestAbstract $request) : array
|
||||
{
|
||||
$val = [];
|
||||
if (($val['type'] = !$request->hasData('type'))) {
|
||||
return $val;
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to update TaxCombination from request.
|
||||
*
|
||||
|
|
@ -310,8 +384,8 @@ final class ApiTaxController extends Controller
|
|||
public function apiTaxCombinationDelete(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : void
|
||||
{
|
||||
if (!empty($val = $this->validateTaxCombinationDelete($request))) {
|
||||
$response->data[$request->uri->__toString()] = new FormValidation($val);
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$response->header->status = RequestStatusCode::R_400;
|
||||
$this->createInvalidDeleteResponse($request, $response, $val);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,9 +14,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\Billing\Models\Price;
|
||||
|
||||
use Modules\ClientManagement\Models\ClientAttributeValueMapper;
|
||||
use Modules\ClientManagement\Models\Attribute\ClientAttributeValueMapper;
|
||||
use Modules\ClientManagement\Models\ClientMapper;
|
||||
use Modules\ItemManagement\Models\ItemAttributeValueMapper;
|
||||
use Modules\ItemManagement\Models\Attribute\ItemAttributeValueMapper;
|
||||
use Modules\ItemManagement\Models\ItemMapper;
|
||||
use Modules\SupplierManagement\Models\SupplierMapper;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\Billing\Models\Tax;
|
||||
|
||||
use Modules\ClientManagement\Models\ClientAttributeValueMapper;
|
||||
use Modules\ItemManagement\Models\ItemAttributeValueMapper;
|
||||
use Modules\ClientManagement\Models\Attribute\ClientAttributeValueMapper;
|
||||
use Modules\ItemManagement\Models\Attribute\ItemAttributeValueMapper;
|
||||
use Modules\SupplierManagement\Models\SupplierAttributeValueMapper;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user