Fix strict recurring date for 2 years, error 500 when displaying services without an invoice

This commit is contained in:
Deon George 2021-01-04 23:18:57 +11:00
parent efc26dc620
commit 31749c03b0
2 changed files with 16 additions and 5 deletions

View File

@ -307,6 +307,7 @@ class Service extends Model
* Product of the service
*
* @return BelongsTo
* @deprecated use type->product
*/
public function product()
{
@ -519,8 +520,17 @@ class Service extends Model
break;
// Two Yearly
// NOTE: price_recurr_strict ignored
case 5: $date = $this->getInvoiceNextAttribute()->addYear(2)->subDay(); break;
case 5:
if (!$this->product->price_recurr_strict)
$date = $this->getInvoiceNextAttribute()->addYear(2)->subDay();
else {
$date = $this->getInvoiceNextAttribute()->addYear(2)->subDay()->endOfYear();
if ($date->clone()->addDay()->year % 2) {
$date = $date->subYear();
}
}
break;
// Three Yearly
// NOTE: price_recurr_strict ignored

View File

@ -72,7 +72,8 @@
@elseif($o->wasCancelled())
<tr>
<th>Cancelled</th>
<td>{!! $o->date_end ? $o->date_end->format('Y-m-d') : $o->paid_to->format('Y-m-d').'<sup>*</sup>' !!}</td>
<!-- @todo This should show the cancelled date -->
<td>{!! $o->date_end ? $o->date_end->format('Y-m-d') : ($o->paid_to ? $o->paid_to->format('Y-m-d') : '').'<sup>*</sup>' !!}</td>
</tr>
@endif
</table>