Cast Invoice::reminders to json
This commit is contained in:
parent
d1fbb4b42b
commit
642446e592
@ -35,6 +35,10 @@ class Invoice extends Model implements IDs
|
|||||||
{
|
{
|
||||||
use PushNew,ScopeActive;
|
use PushNew,ScopeActive;
|
||||||
|
|
||||||
|
protected $casts = [
|
||||||
|
'reminders'=>'json',
|
||||||
|
];
|
||||||
|
|
||||||
protected $dates = [
|
protected $dates = [
|
||||||
'due_at',
|
'due_at',
|
||||||
];
|
];
|
||||||
@ -414,16 +418,17 @@ class Invoice extends Model implements IDs
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $key
|
* @param string $key
|
||||||
* @return string
|
* @return array
|
||||||
* @todo Ugly hack to update reminders
|
* @todo Ugly hack to update reminders
|
||||||
*/
|
*/
|
||||||
public function reminders(string $key) {
|
public function reminders(string $key): array
|
||||||
$r = json_decode($this->reminders);
|
{
|
||||||
|
$r = $this->reminders;
|
||||||
if (! Arr::get($r,$key)) {
|
if (! Arr::get($r,$key)) {
|
||||||
$r[$key] = time();
|
$r[$key] = time();
|
||||||
return json_encode($r);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return $r;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -432,7 +437,8 @@ class Invoice extends Model implements IDs
|
|||||||
* @param array $options
|
* @param array $options
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public function save(array $options = []) {
|
public function save(array $options = [])
|
||||||
|
{
|
||||||
// Automatically set the date_due attribute for new records.
|
// Automatically set the date_due attribute for new records.
|
||||||
if (! $this->exists AND ! $this->due_at) {
|
if (! $this->exists AND ! $this->due_at) {
|
||||||
$this->due_at = $this->items->min('start_at');
|
$this->due_at = $this->items->min('start_at');
|
||||||
|
Loading…
Reference in New Issue
Block a user