diff --git a/.env.example b/.env.example index ae852c04..47f16055 100644 --- a/.env.example +++ b/.env.example @@ -66,3 +66,7 @@ COMMANDS_V2_ENABLED=false STORAGE_FEE_LAUNCH_DATE="2023-12-11 00:00:00" SST_START_DATE="2024-04-01 00:00:00" + +E_INVOICE_START_DATE="2025-07-01 00:00:00" +MAINTENANCE_MESSAGE_TITLE="We'll be back online on 00:00 1/7/2025" +MAINTENANCE_MESSAGE="Sorry for the inconvenience but we're performing some maintenance at the moment." diff --git a/app/Classes/Modules/Addresses/DataTransferObjects/AddressObject.php b/app/Classes/Modules/Addresses/DataTransferObjects/AddressObject.php index f1d79e53..7c6ae8b0 100644 --- a/app/Classes/Modules/Addresses/DataTransferObjects/AddressObject.php +++ b/app/Classes/Modules/Addresses/DataTransferObjects/AddressObject.php @@ -23,7 +23,7 @@ class AddressObject implements DataTransferObject /** @var int */ private $districtId; - /** @var int */ + /** @var string */ private $postCode; /** @var int */ @@ -42,12 +42,12 @@ class AddressObject implements DataTransferObject * @param int $countryId * @param int $stateId * @param int $districtId - * @param int $postCode + * @param string $postCode * @param int $type * @param int $status * @param null|string $reference */ - public function __construct(string $streetOne, ?string $streetTwo, int $countryId, int $stateId, int $districtId, int $postCode, int $type, int $status, ?string $reference = null) + public function __construct(string $streetOne, ?string $streetTwo, int $countryId, int $stateId, int $districtId, string $postCode, int $type, int $status, ?string $reference = null) { $this->streetOne = $streetOne; $this->streetTwo = $streetTwo; @@ -101,9 +101,9 @@ class AddressObject implements DataTransferObject } /** - * @return int + * @return string */ - public function getPostCode(): int + public function getPostCode(): string { return $this->postCode; } @@ -133,4 +133,4 @@ class AddressObject implements DataTransferObject } -} \ No newline at end of file +} diff --git a/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyDetailsLogic.php b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyDetailsLogic.php index fe1c2c23..533e0177 100644 --- a/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyDetailsLogic.php +++ b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyDetailsLogic.php @@ -8,12 +8,19 @@ use App\Classes\Modules\Companies\Services\UpdatesCompanyDebtor; use App\Classes\Modules\Addresses\Services\UpsertsAddress; use App\Classes\Modules\Addresses\Services\FetchesDistrict; use App\Classes\Modules\Companies\Services\UpdatesCompanyModuleName; -use App\Classes\Modules\Addresses\Standards\Rules\CanCreateAddress; -use App\Classes\Modules\Addresses\DataTransferObjects\AddressObject; +use App\Classes\Modules\Documents\Services\FetchesDocument; +use App\Classes\Modules\Documents\Services\UpdatesDocumentReference; +use App\Classes\Modules\Documents\Services\CreatesDocument; +use App\Classes\Modules\Documents\Services\CreatesFiles; use App\Classes\Modules\Companies\Services\UpdatesCompanyEInvoiceInfo; use App\Classes\Modules\Companies\Standards\Rules\CanUpdateCompany; +use App\Classes\Modules\Addresses\Standards\Rules\CanCreateAddress; +use App\Classes\Modules\Addresses\DataTransferObjects\AddressObject; use App\Classes\Modules\Companies\DataTransferObjects\CompanyObject; use App\Classes\Modules\Companies\DataTransferObjects\UpdateCompanyDetailsDTO; +use App\Classes\Modules\Documents\DataTransferObjects\DocumentObject; +use App\Classes\ValueObjects\Constants\CompanyType; +use App\Classes\ValueObjects\Constants\DocumentType; use App\Classes\ValueObjects\Constants\AddressType; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Http\Resources\CompanyResource; @@ -59,6 +66,19 @@ class UpdateCompanyDetailsLogic extends AbstractControllerLogic /** @var UpdatesCompanyModuleName */ private $updatesCompanyModuleName; + /** @var FetchesDocument */ + private $fetchesDocument; + + /** @var UpdatesDocumentReference */ + private $updatesDocumentReference; + + /** @var CreatesDocument */ + private $createsDocument; + + /** @var CreatesFiles */ + private $createsFile; + + /** * UpdateCompanyDetailsLogic constructor. * @param CanUpdateCompany $canUpdateCompany @@ -69,7 +89,10 @@ class UpdateCompanyDetailsLogic extends AbstractControllerLogic * @param FetchesDistrict $fetchesDistrict * @param UpsertsAddress $upsertsAddress * @param UpdatesCompanyEInvoiceInfo $updatesCompanyEInvoiceInfo; - * @param UpdatesCompanyModuleName $updatesCompanyModuleName + * @param FetchesDocument $fetchesDocument + * @param UpdatesDocumentReference $updatesDocumentReference + * @param CreatesDocument $createsDocument + * @param CreatesFiles $createsFile */ public function __construct( CanUpdateCompany $canUpdateCompany, @@ -80,7 +103,11 @@ class UpdateCompanyDetailsLogic extends AbstractControllerLogic FetchesDistrict $fetchesDistrict, UpsertsAddress $upsertsAddress, UpdatesCompanyEInvoiceInfo $updatesCompanyEInvoiceInfo, - UpdatesCompanyModuleName $updatesCompanyModuleName + UpdatesCompanyModuleName $updatesCompanyModuleName, + FetchesDocument $fetchesDocument, + UpdatesDocumentReference $updatesDocumentReference, + CreatesDocument $createsDocument, + CreatesFiles $createsFile ) { $this->canUpdateCompany = $canUpdateCompany; @@ -92,6 +119,10 @@ class UpdateCompanyDetailsLogic extends AbstractControllerLogic $this->upsertsAddress = $upsertsAddress; $this->updatesCompanyEInvoiceInfo = $updatesCompanyEInvoiceInfo; $this->updatesCompanyModuleName = $updatesCompanyModuleName; + $this->fetchesDocument = $fetchesDocument; + $this->updatesDocumentReference = $updatesDocumentReference; + $this->createsDocument = $createsDocument; + $this->createsFile = $createsFile; } /** @@ -127,6 +158,32 @@ class UpdateCompanyDetailsLogic extends AbstractControllerLogic $this->updatesCompanyEInvoiceInfo->execute($company, $dto->tin, $dto->msicCode); } + //Update Identification Card / SSM Registration + if($dto->identificationId){ + $document = $this->fetchesDocument->execute(['id' => $dto->identificationId]); + $this->updatesDocumentReference->execute($document, $dto->identificationReference); + } + else{ + if($dto->identificationReference){ + $pathToFile = base_path('resources/assets/images/ssm_ic_placeholder.png'); + $mimeType = mime_content_type($pathToFile); + $fileContents = file_get_contents($pathToFile); + $base64 = base64_encode($fileContents); + $base64File = "data:$mimeType;base64,$base64"; + $files = [$base64File]; + + /** @var Document $document */ + $company = $this->fetchesCompany->execute(['id' => $dto->id]); + + $object = new DocumentObject($company->type === CompanyType::COMPANY_BUSINESS ? + DocumentType::SSM_REGISTRATION : DocumentType::IDENTITY_CARD, $files, + $dto->identificationReference, ApprovalStatus::PENDING_VERIFICATION, 'identifications'); + + $document = $this->createsDocument->execute($company, $object); + $this->createsFile->execute($document, $object); + } + } + return $this->resourceResponse(new CompanyResource($company)); } } diff --git a/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyEInvoiceRequestChangeLogic.php b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyEInvoiceRequestChangeLogic.php new file mode 100644 index 00000000..264b2d70 --- /dev/null +++ b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyEInvoiceRequestChangeLogic.php @@ -0,0 +1,62 @@ + 'Updated EInvoice Request', + 'message' => 'You have successfully updated company E-Invoice request' + ]; + } + + /** @var FetchesCompanyModule */ + private $fetchesCompanyModule; + + /** @var UpdatesCompanyEInvoiceRequest */ + private $updatesCompanyEInvoiceRequest; + + + /** + * UpdateCompanyEInvoiceRequestChangeLogic constructor. + * @param FetchesCompanyModule $fetchesCompanyModule + * @param UpdatesCompanyEInvoiceRequest $updatesCompanyEInvoiceRequest + */ + public function __construct(FetchesCompanyModule $fetchesCompanyModule, UpdatesCompanyEInvoiceRequest $updatesCompanyEInvoiceRequest) + { + $this->fetchesCompanyModule = $fetchesCompanyModule; + $this->updatesCompanyEInvoiceRequest = $updatesCompanyEInvoiceRequest; + } + + /** + * @param Request $request + * @return JsonResponse + * @throws \App\Classes\Exceptions\AccessForbiddenException + * @throws \App\Classes\Exceptions\MalformedRequestException + * @throws \App\Classes\Exceptions\RequestValidationException + */ + public function logic(Request $request) : JsonResponse + { + $dto = new EInvoiceRequestDTO($request->all()); + $companyModule = $this->fetchesCompanyModule->execute(['id' => $dto->companyModuleId]); + + if($companyModule->company->e_invoice === 1){ + $this->updatesCompanyEInvoiceRequest->execute($companyModule->company, $dto->eInvoiceRequest); + } + + return $this->response([]); + } +} diff --git a/app/Classes/Modules/Companies/DataTransferObjects/EInvoiceInfoDTO.php b/app/Classes/Modules/Companies/DataTransferObjects/EInvoiceInfoDTO.php index 1a3220e7..15c105aa 100644 --- a/app/Classes/Modules/Companies/DataTransferObjects/EInvoiceInfoDTO.php +++ b/app/Classes/Modules/Companies/DataTransferObjects/EInvoiceInfoDTO.php @@ -13,7 +13,7 @@ class EInvoiceInfoDTO implements DataTransferObject public int $companyModuleId; public string $streetOne; public string $streetTwo; - public int $postCode; + public string $postCode; public function __construct(array $data) { @@ -24,7 +24,7 @@ class EInvoiceInfoDTO implements DataTransferObject $this->companyModuleId = (int) ($data['company_module_id'] ?? 0); $this->streetOne = (string) ($data['street_one'] ?? ''); $this->streetTwo = (string) ($data['street_two'] ?? ''); - $this->postCode = (int) ($data['post_code'] ?? 0); + $this->postCode = (string) ($data['post_code'] ?? ''); } public function toArray(): array diff --git a/app/Classes/Modules/Companies/DataTransferObjects/UpdateCompanyDetailsDTO.php b/app/Classes/Modules/Companies/DataTransferObjects/UpdateCompanyDetailsDTO.php index 0d8ce80e..beae10bd 100644 --- a/app/Classes/Modules/Companies/DataTransferObjects/UpdateCompanyDetailsDTO.php +++ b/app/Classes/Modules/Companies/DataTransferObjects/UpdateCompanyDetailsDTO.php @@ -20,7 +20,10 @@ class UpdateCompanyDetailsDTO implements DataTransferObject public int $companyId; public string $streetOne; public string $streetTwo; - public int $postCode; + public string $postCode; + + public string $identificationReference; + public int $identificationId; public function __construct(array $data) { @@ -38,7 +41,9 @@ class UpdateCompanyDetailsDTO implements DataTransferObject $this->companyId = (int) ($data['company_id'] ?? 0); $this->streetOne = (string) ($data['street_one'] ?? ''); $this->streetTwo = (string) ($data['street_two'] ?? ''); - $this->postCode = (int) ($data['post_code'] ?? 0); + $this->postCode = (string) ($data['post_code'] ?? ''); + $this->identificationReference = (string) ($data['identification_reference'] ?? ''); + $this->identificationId = (int) ($data['identification_id'] ?? 0); } public function toArray(): array @@ -59,6 +64,9 @@ class UpdateCompanyDetailsDTO implements DataTransferObject 'street_one' => $this->streetOne, 'street_two' => $this->streetTwo, 'post_code' => $this->postCode, + + 'identification_reference' => $this->identificationReference, + 'identification_id' => $this->identificationId, ]; } } diff --git a/app/Classes/Modules/Companies/Services/UpdatesCompanyEInvoiceRequest.php b/app/Classes/Modules/Companies/Services/UpdatesCompanyEInvoiceRequest.php index bdef7fc8..596a6f3b 100644 --- a/app/Classes/Modules/Companies/Services/UpdatesCompanyEInvoiceRequest.php +++ b/app/Classes/Modules/Companies/Services/UpdatesCompanyEInvoiceRequest.php @@ -17,12 +17,18 @@ class UpdatesCompanyEInvoiceRequest extends AbstractUpdateRecord */ public function execute(Company $model, bool $eInvoice) { - if (is_null($model->e_invoice_requested_at)) { - if($eInvoice){ - $model->e_invoice_requested_at = now(); + if($eInvoice){ + if (is_null($model->e_invoice_requested_at)) { + if($eInvoice){ + $model->e_invoice_requested_at = now(); + } } + $model->e_invoice = 1; + } + else{ + $model->e_invoice_requested_at = null; + $model->e_invoice = 0; } - $model->e_invoice = $eInvoice; return $this->handler($model); } diff --git a/app/Classes/Modules/Exports/Services/ExportsAllCustomersInfoForLarkSystem.php b/app/Classes/Modules/Exports/Services/ExportsAllCustomersInfoForLarkSystem.php index 6aae057d..40294a21 100644 --- a/app/Classes/Modules/Exports/Services/ExportsAllCustomersInfoForLarkSystem.php +++ b/app/Classes/Modules/Exports/Services/ExportsAllCustomersInfoForLarkSystem.php @@ -25,6 +25,8 @@ class ExportsAllCustomersInfoForLarkSystem implements FromQuery, WithMapping, Wi 'Email', 'Registration Date', 'Last Order Date', + 'Debtor Code', + 'Credit Term Customer', 'Custom Segments', ]; } @@ -45,6 +47,10 @@ class ExportsAllCustomersInfoForLarkSystem implements FromQuery, WithMapping, Wi { $companyModule = $company->companyModules->first(); $marking = $companyModule ? $companyModule->getMarking() : ''; + $creditTermCustomer = ''; + if ($companyModule && $companyModule->connections->first()) { + $creditTermCustomer = $companyModule->connections->first()->is_credit_term ? 'YES' : 'NO'; + } $employeeEmail = ''; if ($companyModule && $companyModule->employees->first()) { @@ -68,6 +74,8 @@ class ExportsAllCustomersInfoForLarkSystem implements FromQuery, WithMapping, Wi $employeeEmail, $company->created_at ? $company->created_at->toDateString() : '', $company->updated_at ? $company->updated_at->toDateString() : '', + $company->debtor, + $creditTermCustomer, $segments, ]; } diff --git a/app/Http/Controllers/Companies/UpdateCompanyEInvoiceInfoController.php b/app/Http/Controllers/Companies/UpdateCompanyEInvoiceInfoController.php index 9157e9de..d6e29f95 100644 --- a/app/Http/Controllers/Companies/UpdateCompanyEInvoiceInfoController.php +++ b/app/Http/Controllers/Companies/UpdateCompanyEInvoiceInfoController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Companies; use App\Classes\Modules\Companies\ControllersLogic\UpdateCompanyEInvoiceInfoLogic; use App\Classes\Modules\Companies\ControllersLogic\UpdateCompanyEInvoiceRequestLogic; +use App\Classes\Modules\Companies\ControllersLogic\UpdateCompanyEInvoiceRequestChangeLogic; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -18,7 +19,7 @@ class UpdateCompanyEInvoiceInfoController return $logic->execute($request); } - /** + /** * @param Request $request * @param UpdateCompanyEInvoiceRequestLogic $logic * @return JsonResponse @@ -26,4 +27,13 @@ class UpdateCompanyEInvoiceInfoController public function updateRequest(Request $request, UpdateCompanyEInvoiceRequestLogic $logic): JsonResponse { return $logic->execute($request); } + + /** + * @param Request $request + * @param UpdateCompanyEInvoiceRequestChangeLogic $logic + * @return JsonResponse + */ + public function updateChangeOfMindRequest(Request $request, UpdateCompanyEInvoiceRequestChangeLogic $logic): JsonResponse { + return $logic->execute($request); + } } diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index ea5a6e9d..ef039b85 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -75,5 +75,6 @@ class Kernel extends HttpKernel 'storage.invoice.check.bytransactions' => \App\Http\Middleware\CheckForStorageInvoiceByTransactions::class, 'storage.invoice.check.bygroup' => \App\Http\Middleware\CheckForStorageInvoiceByGroup::class, 'storage.invoice.check.bypackinglists' => \App\Http\Middleware\CheckForStorageInvoiceByPackingLists::class, + 'admin' => \App\Http\Middleware\EnsureUserIsAdmin::class, //cief todo: 90 - maintenance ]; } diff --git a/app/Http/Middleware/EnsureUserIsAdmin.php b/app/Http/Middleware/EnsureUserIsAdmin.php new file mode 100644 index 00000000..4dcd5225 --- /dev/null +++ b/app/Http/Middleware/EnsureUserIsAdmin.php @@ -0,0 +1,32 @@ +authenticate(); + if(!in_array($user->type, RoleTypes::ADMIN_ROLES)){ + return response()->view('errors.503', [], 503); + } + } + + return $next($request); + } +} diff --git a/app/Http/Resources/AddressEInvoiceResource.php b/app/Http/Resources/AddressEInvoiceResource.php index cbdabe17..d6e49801 100644 --- a/app/Http/Resources/AddressEInvoiceResource.php +++ b/app/Http/Resources/AddressEInvoiceResource.php @@ -20,7 +20,7 @@ class AddressEInvoiceResource extends JsonResource 'street_two' => $this->street_two, 'district' => $this->district, 'state' => $this->state, - 'post_code' => (int) $this->postcode, + 'post_code' => (string) $this->postcode, 'country' => $this->country, 'billing' => (int) $this->billing ]; diff --git a/app/Http/Resources/EInvoiceInfoResource.php b/app/Http/Resources/EInvoiceInfoResource.php index d183032c..97483dd3 100644 --- a/app/Http/Resources/EInvoiceInfoResource.php +++ b/app/Http/Resources/EInvoiceInfoResource.php @@ -20,7 +20,7 @@ class EInvoiceInfoResource extends JsonResource 'street_two' => $this->street_two, 'district' => $this->district, 'state' => $this->state, - 'post_code' => (int) $this->postcode, + 'post_code' => (string) $this->postcode, 'country' => $this->country, 'billing' => (int) $this->billing, 'msic_code' => (string) $this->msic_code, diff --git a/config/maintenance.php b/config/maintenance.php new file mode 100644 index 00000000..66376756 --- /dev/null +++ b/config/maintenance.php @@ -0,0 +1,6 @@ + env('MAINTENANCE_MESSAGE_TITLE', "We'll be back soon!"), + 'message' => env('MAINTENANCE_MESSAGE', "Sorry for the inconvenience but we're performing some maintenance at the moment."), +]; diff --git a/resources/assets/images/ssm_ic_placeholder.png b/resources/assets/images/ssm_ic_placeholder.png new file mode 100644 index 00000000..f4b2eef5 Binary files /dev/null and b/resources/assets/images/ssm_ic_placeholder.png differ diff --git a/resources/assets/vue/components/companies/forms/EInvoiceInfoFormComponent.vue b/resources/assets/vue/components/companies/forms/EInvoiceInfoFormComponent.vue index 7813db1d..ed1d82a6 100644 --- a/resources/assets/vue/components/companies/forms/EInvoiceInfoFormComponent.vue +++ b/resources/assets/vue/components/companies/forms/EInvoiceInfoFormComponent.vue @@ -54,7 +54,7 @@
- + @@ -81,6 +81,18 @@
+
+
+ + I don't need now + +
+
@@ -207,7 +219,7 @@ ? { required, alphaNum, - minLength: minLength(11), + minLength: minLength(10), //was 11 maxLength: maxLength(13) } : {}), @@ -216,7 +228,7 @@ required, alphaNum, minLength: minLength(10), - maxLength: maxLength(12) + maxLength: maxLength(13) ///was 12 } : {}) }, @@ -239,6 +251,10 @@ successHandler(response){ this.$emit('eInvoiceInfoUpdated', response.payload.data); this.closeModal(); + }, + updateChangeOfMind(){ + this.$emit('eInvoiceChangeOfMindRequest'); + this.closeModal(); } }, mixins: [ModalFormHandler], diff --git a/resources/assets/vue/components/companies/sections/CustomerProfileSectionComponent.vue b/resources/assets/vue/components/companies/sections/CustomerProfileSectionComponent.vue index 3d1b988c..978b7a8e 100644 --- a/resources/assets/vue/components/companies/sections/CustomerProfileSectionComponent.vue +++ b/resources/assets/vue/components/companies/sections/CustomerProfileSectionComponent.vue @@ -101,7 +101,7 @@ :company-module-id="company.company_module.id" :company-type="company.type" v-on:eInvoiceInfoUpdated="updatedEInvoiceInfo($event)" - v-on:close="createAddress = !createAddress"> + v-on:eInvoiceChangeOfMindRequest="changeOfMindEInvoiceRequest()">
@@ -135,7 +135,8 @@ return { section: 'orderListSection', isLoading: true, - company: null + company: null, + parameters : {} } }, computed: { @@ -163,25 +164,30 @@ this.isLoading = false; this.company = response.payload.data; - if(!this.$store.getters.isAdmin){ - if(this.company.company_module.e_invoice === null){ - this.$nextTick(() => { - $('#modal-einvoice-request').modal('show'); - }); - } - else if( this.company.company_module.e_invoice && (this.company.company_module.tin === null || this.company.company_module.msic_code === null) ) - { - this.$nextTick(() => { - $('#modal-einvoice-info').modal('show'); - }); - } + if(section == this.section + 'ChangeOfMind'){ + this.$store.dispatch('reloadList', {'name': this.section}); } else{ - if( this.company.company_module.e_invoice && (this.company.company_module.tin === null || this.company.company_module.msic_code === null) ) - { - this.$nextTick(() => { - $('#modal-einvoice-info').modal('show'); - }); + if(!this.$store.getters.isAdmin){ + if(this.company.company_module.e_invoice === null){ + this.$nextTick(() => { + $('#modal-einvoice-request').modal('show'); + }); + } + else if( this.company.company_module.e_invoice && (this.company.company_module.tin === null || this.company.company_module.msic_code === null) ) + { + this.$nextTick(() => { + $('#modal-einvoice-info').modal('show'); + }); + } + } + else{ + if( this.company.company_module.e_invoice && (this.company.company_module.tin === null || this.company.company_module.msic_code === null) ) + { + this.$nextTick(() => { + $('#modal-einvoice-info').modal('show'); + }); + } } } }, @@ -193,6 +199,11 @@ updatedEInvoiceInfo(info){ this.$store.dispatch('reloadList', {'name': this.section}); }, + changeOfMindEInvoiceRequest(){ + this.parameters.company_module_id = this.company.company_module.id; + this.parameters.e_invoice_request = false; + this.submit((this.route('api.company.einvoice.request.change')), 'post', this.section + 'ChangeOfMind', true, true); + } } } diff --git a/resources/assets/vue/components/general/forms/ValidationErrorComponent.vue b/resources/assets/vue/components/general/forms/ValidationErrorComponent.vue index bfa04a92..231668c1 100644 --- a/resources/assets/vue/components/general/forms/ValidationErrorComponent.vue +++ b/resources/assets/vue/components/general/forms/ValidationErrorComponent.vue @@ -3,6 +3,7 @@ {{errorMessages[param]}} {{object.min}} characters + {{object.max}} characters {{object.eq}} field {{object.min}} {{errorMessages[param]}} {{object.max}} @@ -25,6 +26,7 @@ required: 'this field is required', email: 'enter a valid email address', minLength: 'this field must have at least', + maxLength: 'this field must have at most', minValue: 'this field must at least be', sameAs: 'this field must match the', numeric: 'this field can only contain numbers', diff --git a/resources/assets/vue/components/orders/forms/ChangeCustomerCompanyDetailsFormComponent.vue b/resources/assets/vue/components/orders/forms/ChangeCustomerCompanyDetailsFormComponent.vue index daafd246..bc452ea7 100644 --- a/resources/assets/vue/components/orders/forms/ChangeCustomerCompanyDetailsFormComponent.vue +++ b/resources/assets/vue/components/orders/forms/ChangeCustomerCompanyDetailsFormComponent.vue @@ -30,6 +30,16 @@
Company
Business
+ +
+
+ + + + +
+
+
E-Invoice Info @@ -85,7 +95,7 @@
- +
@@ -142,6 +152,8 @@ district_id: this.data.company_module.address_einvoice ? this.data.company_module.address_einvoice.district.id : null, state_id: this.data.company_module.address_einvoice ? this.data.company_module.address_einvoice.state.id : null, post_code: this.data.company_module.address_einvoice ? this.data.company_module.address_einvoice.post_code : null, + identification_id: this.data.identification ? this.data.identification.id : null, + identification_reference: this.data.identification ? this.data.identification.reference : null, } }; }, @@ -164,7 +176,7 @@ ? { required, alphaNum, - minLength: minLength(11), + minLength: minLength(10), //was 11 maxLength: maxLength(13) } : {}), @@ -173,7 +185,7 @@ required, alphaNum, minLength: minLength(10), - maxLength: maxLength(12) + maxLength: maxLength(13) //was 12 } : {}) } @@ -188,12 +200,13 @@ district_id: isEInvoiceEnabled ? { required } : {}, state_id: isEInvoiceEnabled ? { required } : {}, post_code: isEInvoiceEnabled ? { required, notZero } : {}, - + identification_reference: {}, } } }, methods: { successHandler(response) { + this.$store.dispatch('reloadList', {'name': 'orderListSection'}); this.closeModal(); }, submitForm() { diff --git a/resources/assets/vue/general/mixins/request.js b/resources/assets/vue/general/mixins/request.js index 36e24753..9370ce3e 100644 --- a/resources/assets/vue/general/mixins/request.js +++ b/resources/assets/vue/general/mixins/request.js @@ -13,6 +13,11 @@ export default { let statusCode = response.status, success = response.ok; + // console.log('statusCode: ' + statusCode); //cief todo: 90 - maintenance + if(statusCode == 503){ + window.location.href = '/maintenance'; + } + response.json().then(response => { if(!success){ diff --git a/resources/views/errors/503.blade.php b/resources/views/errors/503.blade.php index f184d0c1..54e11d89 100644 --- a/resources/views/errors/503.blade.php +++ b/resources/views/errors/503.blade.php @@ -22,8 +22,9 @@
-

We'll be back soon!

-

Sorry for the inconvenience but we're performing some maintenance at the moment. We'll be back online shortly!

+

{{ config('maintenance.title') }}

+ Maintenance +

{{ config('maintenance.message') }}

— CIEF IZYIM

diff --git a/routes/api.php b/routes/api.php index 89749ee9..5c78a00b 100644 --- a/routes/api.php +++ b/routes/api.php @@ -27,55 +27,56 @@ Route::group(['middleware' => 'api', 'prefix' => 'v1', 'as' => 'api.'], function require __DIR__ . '/feedback.php'; Route::group(['middleware' => 'valid.token'], function () { + Route::group(['middleware' => 'admin'], function () { //cief todo: 90 - maintenance - Route::get('/storage/{fileName}/fetch', 'Documents\RenderDocumentController@fileStorageServe')->where(['fileName' => '.*'])->name('storage.document.file'); + Route::get('/storage/{fileName}/fetch', 'Documents\RenderDocumentController@fileStorageServe')->where(['fileName' => '.*'])->name('storage.document.file'); - Route::post('online_payment/callback', 'Billplz\CallbackBillplzController@callback')->name('online_payment.callback'); + Route::post('online_payment/callback', 'Billplz\CallbackBillplzController@callback')->name('online_payment.callback'); - Route::post('/import/update-debtor/f614e339d7058904a831aad742e24d55', 'Imports\ImportUpdateDebtorController@import')->name('debtor.import'); + Route::post('/import/update-debtor/f614e339d7058904a831aad742e24d55', 'Imports\ImportUpdateDebtorController@import')->name('debtor.import'); - require __DIR__ . '/company.php'; + require __DIR__ . '/company.php'; - require __DIR__ . '/document.php'; + require __DIR__ . '/document.php'; - require __DIR__ . '/bank.php'; + require __DIR__ . '/bank.php'; - require __DIR__ . '/currency.php'; + require __DIR__ . '/currency.php'; - require __DIR__ . '/address.php'; + require __DIR__ . '/address.php'; - require __DIR__ . '/transaction.php'; + require __DIR__ . '/transaction.php'; - require __DIR__ . '/receipt.php'; + require __DIR__ . '/receipt.php'; - require __DIR__ . '/order.php'; + require __DIR__ . '/order.php'; - require __DIR__ . '/packing_list.php'; + require __DIR__ . '/packing_list.php'; - require __DIR__ . '/remark.php'; + require __DIR__ . '/remark.php'; - require __DIR__ . '/transport.php'; + require __DIR__ . '/transport.php'; - require __DIR__ . '/schedule.php'; + require __DIR__ . '/schedule.php'; - require __DIR__ . '/segment.php'; + require __DIR__ . '/segment.php'; - require __DIR__ . '/announcement.php'; + require __DIR__ . '/announcement.php'; - require __DIR__ . '/report.php'; + require __DIR__ . '/report.php'; - require __DIR__ . '/wallet.php'; + require __DIR__ . '/wallet.php'; - require __DIR__ . '/contact.php'; + require __DIR__ . '/contact.php'; - require __DIR__ . '/help_menu.php'; + require __DIR__ . '/help_menu.php'; - require __DIR__ . '/permits_reminder.php'; + require __DIR__ . '/permits_reminder.php'; - require __DIR__ . '/job.php'; - - require __DIR__ . '/rule.php'; + require __DIR__ . '/job.php'; + require __DIR__ . '/rule.php'; + }); }); require __DIR__ . '/announcement.php'; diff --git a/routes/company.php b/routes/company.php index 2bafb203..737a23bf 100644 --- a/routes/company.php +++ b/routes/company.php @@ -47,4 +47,5 @@ Route::group(['prefix' => 'company', 'as' => 'company.', 'namespace' => 'Compani Route::get('/e-invoice/info/{id}', [FetchCompanyEInvoiceInfoController::class, 'fetch'])->name('einvoice.info'); Route::post('/e-invoice/info/update', [UpdateCompanyEInvoiceInfoController::class, 'updateInfo'])->name('einvoice.info.update'); Route::post('/e-invoice/request/update', [UpdateCompanyEInvoiceInfoController::class, 'updateRequest'])->name('einvoice.request.update'); + Route::post('/e-invoice/request/update/changeofmind', [UpdateCompanyEInvoiceInfoController::class, 'updateChangeOfMindRequest'])->name('einvoice.request.change'); }); diff --git a/routes/web.php b/routes/web.php index c06ec44b..e4410079 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1402,3 +1402,8 @@ Route::get('/group-transaction-with-completed-payments', function () { Route::get('/downloads', function () { return view('pages.downloads.index'); })->name('admin.downloads'); + + +Route::get('/maintenance', function () { + return response()->view('errors.503', [], 503); +});