From 14c59e1a1b75a67f513aad917149ea2b3c1ebd63 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sun, 26 Mar 2023 22:54:09 +0000 Subject: [PATCH] fix registration, login and billing --- Admin/Install/attributes.json | 316 ++++++++++++++++++++++++++++++++++ Controller/ApiController.php | 17 +- 2 files changed, 329 insertions(+), 4 deletions(-) diff --git a/Admin/Install/attributes.json b/Admin/Install/attributes.json index 8d756ff..a1da61c 100755 --- a/Admin/Install/attributes.json +++ b/Admin/Install/attributes.json @@ -210,5 +210,321 @@ "is_required": false, "default_value": "", "values": [] + }, + { + "name": "bill_language", + "l11n": { + "en": "Bill language", + "de": "Belegsprache" + }, + "value_type": 2, + "is_custom_allowed": false, + "validation_pattern": "", + "is_required": false, + "default_value": "", + "values": [ + { "value": "aa" }, + { "value": "ab" }, + { "value": "af" }, + { "value": "ak" }, + { "value": "sq" }, + { "value": "am" }, + { "value": "ar" }, + { "value": "an" }, + { "value": "hy" }, + { "value": "as" }, + { "value": "av" }, + { "value": "ae" }, + { "value": "ay" }, + { "value": "az" }, + { "value": "bm" }, + { "value": "ba" }, + { "value": "eu" }, + { "value": "be" }, + { "value": "bn" }, + { "value": "bh" }, + { "value": "bi" }, + { "value": "bs" }, + { "value": "br" }, + { "value": "bg" }, + { "value": "my" }, + { "value": "ca" }, + { "value": "ch" }, + { "value": "ce" }, + { "value": "ny" }, + { "value": "cv" }, + { "value": "kw" }, + { "value": "ko" }, + { "value": "co" }, + { "value": "cr" }, + { "value": "hr" }, + { "value": "cs" }, + { "value": "da" }, + { "value": "dv" }, + { "value": "nl" }, + { "value": "dz" }, + { "value": "en" }, + { "value": "eo" }, + { "value": "et" }, + { "value": "ee" }, + { "value": "fo" }, + { "value": "fj" }, + { "value": "fi" }, + { "value": "fr" }, + { "value": "ff" }, + { "value": "gl" }, + { "value": "ka" }, + { "value": "de" }, + { "value": "el" }, + { "value": "gn" }, + { "value": "gu" }, + { "value": "ht" }, + { "value": "ha" }, + { "value": "he" }, + { "value": "hz" }, + { "value": "hi" }, + { "value": "ho" }, + { "value": "hu" }, + { "value": "ia" }, + { "value": "id" }, + { "value": "ie" }, + { "value": "ga" }, + { "value": "ig" }, + { "value": "ik" }, + { "value": "io" }, + { "value": "is" }, + { "value": "it" }, + { "value": "iu" }, + { "value": "ja" }, + { "value": "jv" }, + { "value": "kl" }, + { "value": "kn" }, + { "value": "kr" }, + { "value": "kk" }, + { "value": "km" }, + { "value": "ki" }, + { "value": "rw" }, + { "value": "ky" }, + { "value": "kv" }, + { "value": "kg" }, + { "value": "kj" }, + { "value": "la" }, + { "value": "lb" }, + { "value": "lg" }, + { "value": "li" }, + { "value": "ln" }, + { "value": "lo" }, + { "value": "lt" }, + { "value": "lv" }, + { "value": "gv" }, + { "value": "mk" }, + { "value": "mg" }, + { "value": "ml" }, + { "value": "mt" }, + { "value": "mi" }, + { "value": "mr" }, + { "value": "mh" }, + { "value": "mn" }, + { "value": "na" }, + { "value": "nv" }, + { "value": "nd" }, + { "value": "ne" }, + { "value": "ng" }, + { "value": "nb" }, + { "value": "nn" }, + { "value": "no" }, + { "value": "ii" }, + { "value": "nr" }, + { "value": "oc" }, + { "value": "oj" }, + { "value": "cu" }, + { "value": "om" }, + { "value": "or" }, + { "value": "os" }, + { "value": "pi" }, + { "value": "fa" }, + { "value": "pl" }, + { "value": "ps" }, + { "value": "pt" }, + { "value": "qu" }, + { "value": "rm" }, + { "value": "rn" }, + { "value": "ro" }, + { "value": "ru" }, + { "value": "sa" }, + { "value": "sc" }, + { "value": "se" }, + { "value": "sm" }, + { "value": "sg" }, + { "value": "sr" }, + { "value": "gd" }, + { "value": "sn" }, + { "value": "si" }, + { "value": "sk" }, + { "value": "sl" }, + { "value": "so" }, + { "value": "st" }, + { "value": "es" }, + { "value": "su" }, + { "value": "sw" }, + { "value": "ss" }, + { "value": "sv" }, + { "value": "ta" }, + { "value": "te" }, + { "value": "th" }, + { "value": "ti" }, + { "value": "bo" }, + { "value": "tk" }, + { "value": "tl" }, + { "value": "tn" }, + { "value": "to" }, + { "value": "tr" }, + { "value": "ts" }, + { "value": "tw" }, + { "value": "ty" }, + { "value": "uk" }, + { "value": "ur" }, + { "value": "ve" }, + { "value": "vi" }, + { "value": "vo" }, + { "value": "wa" }, + { "value": "cy" }, + { "value": "wo" }, + { "value": "fy" }, + { "value": "xh" }, + { "value": "yi" }, + { "value": "yo" }, + { "value": "za" }, + { "value": "zu" }, + { "value": "zh" } + ] + }, + { + "name": "bill_currency", + "l11n": { + "en": "Bill currency", + "de": "Belegwährung" + }, + "value_type": 2, + "is_custom_allowed": false, + "validation_pattern": "", + "is_required": false, + "default_value": "", + "values": [ + { "value": "ALL" }, + { "value": "AFN" }, + { "value": "ARS" }, + { "value": "AWG" }, + { "value": "AUD" }, + { "value": "AZN" }, + { "value": "BSD" }, + { "value": "BBD" }, + { "value": "BYR" }, + { "value": "BZD" }, + { "value": "BMD" }, + { "value": "BOB" }, + { "value": "BAM" }, + { "value": "BWP" }, + { "value": "BGN" }, + { "value": "BRL" }, + { "value": "BND" }, + { "value": "KHR" }, + { "value": "CAD" }, + { "value": "KYD" }, + { "value": "CLP" }, + { "value": "CNY" }, + { "value": "COP" }, + { "value": "CRC" }, + { "value": "HRK" }, + { "value": "CUP" }, + { "value": "CZK" }, + { "value": "DKK" }, + { "value": "DOP" }, + { "value": "XCD" }, + { "value": "EGP" }, + { "value": "SVC" }, + { "value": "EEK" }, + { "value": "EUR" }, + { "value": "FKP" }, + { "value": "FJD" }, + { "value": "GHC" }, + { "value": "GIP" }, + { "value": "GTQ" }, + { "value": "GGP" }, + { "value": "GYD" }, + { "value": "HNL" }, + { "value": "HKD" }, + { "value": "HUF" }, + { "value": "ISK" }, + { "value": "INR" }, + { "value": "IDR" }, + { "value": "IRR" }, + { "value": "IMP" }, + { "value": "ILS" }, + { "value": "JMD" }, + { "value": "JPY" }, + { "value": "JEP" }, + { "value": "KZT" }, + { "value": "KES" }, + { "value": "KGS" }, + { "value": "LAK" }, + { "value": "LVL" }, + { "value": "LBP" }, + { "value": "LRD" }, + { "value": "LTL" }, + { "value": "MKD" }, + { "value": "MYR" }, + { "value": "MUR" }, + { "value": "MXN" }, + { "value": "MNT" }, + { "value": "MZN" }, + { "value": "NAD" }, + { "value": "NPR" }, + { "value": "ANG" }, + { "value": "NZD" }, + { "value": "NIO" }, + { "value": "NGN" }, + { "value": "KPW" }, + { "value": "NOK" }, + { "value": "OMR" }, + { "value": "PKR" }, + { "value": "PAB" }, + { "value": "PYG" }, + { "value": "PEN" }, + { "value": "PHP" }, + { "value": "PLN" }, + { "value": "QAR" }, + { "value": "RON" }, + { "value": "RUB" }, + { "value": "SHP" }, + { "value": "SAR" }, + { "value": "RSD" }, + { "value": "SCR" }, + { "value": "SGD" }, + { "value": "SBD" }, + { "value": "SOS" }, + { "value": "ZAR" }, + { "value": "KRW" }, + { "value": "LKR" }, + { "value": "SEK" }, + { "value": "CHF" }, + { "value": "SRD" }, + { "value": "SYP" }, + { "value": "TWD" }, + { "value": "THB" }, + { "value": "TTD" }, + { "value": "TRY" }, + { "value": "TRL" }, + { "value": "TVD" }, + { "value": "UAH" }, + { "value": "GBP" }, + { "value": "USD" }, + { "value": "UYU" }, + { "value": "UZS" }, + { "value": "VEF" }, + { "value": "VND" }, + { "value": "YER" }, + { "value": "ZWD" } + ] } ] \ No newline at end of file diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 4be9947..6b0ca63 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -94,6 +94,7 @@ final class ApiController extends Controller /** @var \Modules\Organization\Models\Unit $unit */ $unit = UnitMapper::get() ->with('attributes') + ->where('id', $this->app->unitId) ->execute(); $validate = ['status' => -1]; @@ -123,8 +124,11 @@ final class ApiController extends Controller AuditMapper::create()->execute($audit); - if ($validate['status'] === 0 - && $validate['vat'] === true && $validate['name'] === true && $validate['city'] === true + if (($validate['status'] === 0 + && $validate['vat'] === true + && $validate['name'] === true + && $validate['city'] === true) + || $validate['status'] !== 0 // Api out of order -> accept it -> @todo: test it during invoice creation ) { /** @var \Modules\ClientManagement\Models\ClientAttributeType $type */ $type = ClientAttributeTypeMapper::get()->where('name', 'vat_id')->execute(); @@ -144,10 +148,15 @@ final class ApiController extends Controller // Find tax code if ($this->app->moduleManager->isActive('Billing')) { /** @var \Modules\Organization\Models\Unit $unit */ - $unit = UnitMapper::get()->with('mainAddress')->where('id', $this->app->unitId)->execute(); + $unit = UnitMapper::get() + ->with('mainAddress') + ->where('id', $this->app->unitId) + ->execute(); /** @var \Modules\ClientManagement\Models\ClientAttributeType $type */ - $type = ClientAttributeTypeMapper::get()->where('name', 'sales_tax_code')->execute(); + $type = ClientAttributeTypeMapper::get() + ->where('name', 'sales_tax_code') + ->execute(); $value = $this->app->moduleManager->get('Billing', 'ApiTax')->getClientTaxCode($client, $unit->mainAddress);