Move e_invoice null filter into form request

This commit is contained in:
David Bomba 2024-09-03 07:58:37 +10:00
parent fa369e79cf
commit ada65c8da9
9 changed files with 19 additions and 128 deletions

View File

@ -150,7 +150,7 @@ class DocumentController extends BaseController
$document->fill($request->all()); $document->fill($request->all());
$document->save(); $document->save();
if($document->documentable) { if($document->documentable) { //@phpstan-ignore-line
$document->documentable->touch(); $document->documentable->touch();
} }

View File

@ -136,6 +136,10 @@ class UpdateClientRequest extends Request
$input['shipping_country_id'] = $this->getCountryCode($input['shipping_country_code']); $input['shipping_country_id'] = $this->getCountryCode($input['shipping_country_code']);
} }
if (isset($input['e_invoice']) && is_array($input['e_invoice'])) {
//ensure it is normalized first!
$input['e_invoice'] = $this->client->filterNullsRecursive($input['e_invoice']);
}
$this->replace($input); $this->replace($input);
} }

View File

@ -115,6 +115,11 @@ class UpdateCompanyRequest extends Request
$input['smtp_verify_peer'] == 'true' ? true : false; $input['smtp_verify_peer'] == 'true' ? true : false;
} }
if (isset($input['e_invoice']) && is_array($input['e_invoice'])) {
//ensure it is normalized first!
$input['e_invoice'] = $this->company->filterNullsRecursive($input['e_invoice']);
}
$this->replace($input); $this->replace($input);
} }

View File

@ -121,6 +121,11 @@ class UpdateInvoiceRequest extends Request
$client = \App\Models\Client::withTrashed()->find($input['client_id']); $client = \App\Models\Client::withTrashed()->find($input['client_id']);
$input['due_date'] = \Illuminate\Support\Carbon::parse($input['date'])->addDays((int)$client->getSetting('payment_terms'))->format('Y-m-d'); $input['due_date'] = \Illuminate\Support\Carbon::parse($input['date'])->addDays((int)$client->getSetting('payment_terms'))->format('Y-m-d');
} }
if (isset($input['e_invoice']) && is_array($input['e_invoice'])) {
//ensure it is normalized first!
$input['e_invoice'] = $this->invoice->filterNullsRecursive($input['e_invoice']);
}
$this->replace($input); $this->replace($input);
} }

View File

@ -306,19 +306,19 @@ class BaseModel extends Model
/** /**
* arrayFilterRecursive * arrayFilterRecursive nee filterNullsRecursive
* *
* Removes null properties from an array * Removes null properties from an array
* *
* @param array $array * @param array $array
* @return array * @return array
*/ */
public function arrayFilterRecursive(array $array): array public function filterNullsRecursive(array $array): array
{ {
foreach ($array as $key => $value) { foreach ($array as $key => $value) {
if (is_array($value)) { if (is_array($value)) {
// Recursively filter the nested array // Recursively filter the nested array
$array[$key] = $this->arrayFilterRecursive($value); $array[$key] = $this->filterNullsRecursive($value);
} }
// Remove null values // Remove null values
if (is_null($array[$key])) { if (is_null($array[$key])) {

View File

@ -76,13 +76,6 @@ class ClientRepository extends BaseRepository
$client->country_id = $company->settings->country_id; $client->country_id = $company->settings->country_id;
} }
if(isset($data['e_invoice']) && is_array($data['e_invoice'])) {
//ensure it is normalized first!
$data['e_invoice'] = $client->arrayFilterRecursive($data['e_invoice']);
$client->e_invoice = $data['e_invoice'];
}
$client->save(); $client->save();
if (! isset($client->number) || empty($client->number) || strlen($client->number) == 0) { if (! isset($client->number) || empty($client->number) || strlen($client->number) == 0) {

View File

@ -58,13 +58,6 @@ class CompanyRepository extends BaseRepository
$company->smtp_password = $data['smtp_password']; $company->smtp_password = $data['smtp_password'];
} }
if(isset($data['e_invoice']) && is_array($data['e_invoice'])){
//ensure it is normalized first!
$data['e_invoice'] = $company->arrayFilterRecursive($data['e_invoice']);
$company->e_invoice = $data['e_invoice'];
}
$company->save(); $company->save();
return $company; return $company;

File diff suppressed because one or more lines are too long

View File

@ -9,7 +9,7 @@
] ]
}, },
"resources/js/app.js": { "resources/js/app.js": {
"file": "assets/app-e0713224.js", "file": "assets/app-234e3402.js",
"imports": [ "imports": [
"_index-08e160a7.js", "_index-08e160a7.js",
"__commonjsHelpers-725317a4.js" "__commonjsHelpers-725317a4.js"