mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Merge pull request #8410 from beganovich/fixes-for-storing-designs
Coerce the string to array if empty string passed for `design`
This commit is contained in:
commit
047fb30a78
24
app/DataProviders/DesignBlocks.php
Normal file
24
app/DataProviders/DesignBlocks.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Invoice Ninja (https://invoiceninja.com).
|
||||
*
|
||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
||||
*
|
||||
* @copyright Copyright (c) 2022. Invoice Ninja LLC (https://invoiceninja.com)
|
||||
*
|
||||
* @license https://www.elastic.co/licensing/elastic-license
|
||||
*/
|
||||
|
||||
namespace App\DataProviders;
|
||||
|
||||
class DesignBlocks
|
||||
{
|
||||
public function __construct(
|
||||
public string $includes = '',
|
||||
public string $header = '',
|
||||
public string $body = '',
|
||||
public string $footer = ''
|
||||
) {
|
||||
}
|
||||
}
|
@ -11,6 +11,7 @@
|
||||
|
||||
namespace App\Factory;
|
||||
|
||||
use App\DataProviders\DesignBlocks;
|
||||
use App\Models\Design;
|
||||
|
||||
class DesignFactory
|
||||
@ -24,7 +25,7 @@ class DesignFactory
|
||||
$design->is_active = true;
|
||||
$design->is_custom = true;
|
||||
$design->name = '';
|
||||
$design->design = '[]';
|
||||
$design->design = new DesignBlocks();
|
||||
|
||||
return $design;
|
||||
}
|
||||
|
@ -33,12 +33,17 @@ class StoreDesignRequest extends Request
|
||||
//'name' => 'required',
|
||||
'name' => 'required|unique:designs,name,null,null,company_id,'.auth()->user()->companyId(),
|
||||
'design' => 'required|array',
|
||||
'design.header' => 'required|min:1',
|
||||
'design.body' => 'required|min:1',
|
||||
'design.footer' => 'required|min:1',
|
||||
'design.includes' => 'required|min:1',
|
||||
];
|
||||
}
|
||||
|
||||
public function prepareForValidation()
|
||||
{
|
||||
$input = $this->all();
|
||||
$input['design'] = (isset($input['design']) && is_array($input['design'])) ? $input['design'] : [];
|
||||
|
||||
if (! array_key_exists('product', $input['design']) || is_null($input['design']['product'])) {
|
||||
$input['design']['product'] = '';
|
||||
|
Loading…
x
Reference in New Issue
Block a user