diff --git a/app/View/Components/Documents/Show/Schedule.php b/app/View/Components/Documents/Show/Schedule.php
index 7a88011ef..381f38cee 100644
--- a/app/View/Components/Documents/Show/Schedule.php
+++ b/app/View/Components/Documents/Show/Schedule.php
@@ -22,10 +22,14 @@ class Schedule extends Component
->first();
$started_date = '' . company_date($recurring->started_at) . '';
- $frequency = Str::lower(trans('recurring.' . str_replace('ly', 's', $recurring->frequency)));
+ $frequency = Str::lower(trans('recurring.' . str_replace(['daily', 'ly'], ['days', 's'], $recurring->frequency)));
$invertal = $recurring->interval;
- $this->description = trans('transactions.slider.schedule', ['frequency' => $frequency, 'interval' => $invertal, 'date' => $started_date]);
+ $this->description = trans('transactions.slider.schedule', [
+ 'frequency' => $frequency,
+ 'interval' => $invertal,
+ 'date' => $started_date
+ ]);
return view('components.documents.show.schedule', compact('recurring'));
}
diff --git a/app/View/Components/Form/Group/Recurring.php b/app/View/Components/Form/Group/Recurring.php
index 68b5873cf..6fcf4939e 100644
--- a/app/View/Components/Form/Group/Recurring.php
+++ b/app/View/Components/Form/Group/Recurring.php
@@ -12,6 +12,8 @@ class Recurring extends Component
public $frequency;
public $frequencies = [];
+ public $interval = '';
+
public $customFrequency = '';
public $customFrequencies = [];
@@ -35,6 +37,8 @@ class Recurring extends Component
$frequency = '',
$frequencies = [],
+ $interval = '',
+
$customFrequency = '',
$customFrequencies = [],
@@ -49,10 +53,13 @@ class Recurring extends Component
$sendEmail = false
) {
$this->type = $this->getType($type);
- $this->frequency = $this->getFrequency($frequency);
+
+ $this->interval = $this->getInterval($interval);
+
+ $this->frequency = $this->getFrequency($frequency, $interval);
$this->frequencies = $this->getFrequencies($frequencies);
- $this->customFrequency = $this->getCustomFrequency($customFrequency);
+ $this->customFrequency = $this->getCustomFrequency($frequency, $customFrequency, $interval);
$this->customFrequencies = $this->getCustomFrequencies($customFrequencies);
$this->limit = $this->getLimit($limit);
@@ -85,8 +92,12 @@ class Recurring extends Component
return 'invoice';
}
- protected function getFrequency($frequency)
+ protected function getFrequency($frequency, $interval = 0)
{
+ if ($interval > 1) {
+ return 'custom';
+ }
+
if (! empty($frequency)) {
return $frequency;
}
@@ -109,8 +120,21 @@ class Recurring extends Component
];
}
- protected function getCustomFrequency($customFrequency)
+ protected function getInterval($interval)
{
+ if (! empty($interval)) {
+ return $interval;
+ }
+
+ return '';
+ }
+
+ protected function getCustomFrequency($frequency, $customFrequency, $interval = 0)
+ {
+ if ($interval > 1) {
+ return $frequency;
+ }
+
if (! empty($customFrequency)) {
return $customFrequency;
}
diff --git a/resources/assets/js/components/AkauntingRecurring.vue b/resources/assets/js/components/AkauntingRecurring.vue
index d62c492e7..c472d3aa1 100644
--- a/resources/assets/js/components/AkauntingRecurring.vue
+++ b/resources/assets/js/components/AkauntingRecurring.vue
@@ -198,6 +198,11 @@ export default {
default: 'monthly',
description: "Default reccuring type"
},
+ intervalValue: {
+ type: String,
+ default: '',
+ description: 'Default interval value'
+ },
invertalError: {
type: String,
default: null,
@@ -310,6 +315,7 @@ export default {
mounted() {
this.frequency = this.frequencyValue;
+ this.interval = this.intervalValue;
this.customFrequency = this.customFrequencyValue;
this.started_at = this.startedValue;
diff --git a/resources/lang/en-GB/recurring.php b/resources/lang/en-GB/recurring.php
index 75d8cb49e..57239be5c 100644
--- a/resources/lang/en-GB/recurring.php
+++ b/resources/lang/en-GB/recurring.php
@@ -32,6 +32,7 @@ return [
'send_email_auto' => 'Send email automatically',
'frequency_type' => 'Repeat this :type',
+ 'custom_frequency_desc' => 'Repeat every :interval :frequency',
'limit_date' => 'Create first :type on',
'limit_middle' => 'and end',
diff --git a/resources/views/banking/recurring_transactions/edit.blade.php b/resources/views/banking/recurring_transactions/edit.blade.php
index 902478dc8..9b6b4aef7 100644
--- a/resources/views/banking/recurring_transactions/edit.blade.php
+++ b/resources/views/banking/recurring_transactions/edit.blade.php
@@ -59,6 +59,7 @@
- {{ trans('recurring.' . $item->recurring->frequency) }}
+ @if ($item->recurring->interval > 1)
+
+ {{ trans('recurring.custom') }}
+
+ @else
+ {{ trans('recurring.' . $item->recurring->frequency) }}
+ @endif
@if ($item->recurring->limit_by == 'count')
diff --git a/resources/views/components/documents/form/recurring.blade.php b/resources/views/components/documents/form/recurring.blade.php
index e8294ad8a..cc2231c9c 100644
--- a/resources/views/components/documents/form/recurring.blade.php
+++ b/resources/views/components/documents/form/recurring.blade.php
@@ -10,6 +10,7 @@
- {{ trans('recurring.' . $item->recurring->frequency) }}
+ @if ($item->recurring->interval > 1)
+
+ {{ trans('recurring.custom') }}
+
+ @else
+ {{ trans('recurring.' . $item->recurring->frequency) }}
+ @endif
@if ($item->recurring->limit_by == 'count')
diff --git a/resources/views/components/form/group/recurring.blade.php b/resources/views/components/form/group/recurring.blade.php
index 69f65db1f..5b4fe9117 100644
--- a/resources/views/components/form/group/recurring.blade.php
+++ b/resources/views/components/form/group/recurring.blade.php
@@ -21,6 +21,8 @@
:custom-frequencies="{{ json_encode($customFrequencies) }}"
custom-frequency-value="{{ $customFrequency }}"
:custom-frequency-error="form.errors.get('recurring_custom_frequency')"
+
+ interval-value="{{ $interval }}"
@if ($attributes->has('@interval'))
@interval="form.recurring_interval = $event;{{ $attributes['@interval'] }}"
@else