From b694d3599497510b217ee2cc0787f0674561ca9e Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Mon, 26 Jun 2017 16:25:11 +0300 Subject: [PATCH] Recurring expenses --- app/Libraries/HistoryUtils.php | 1 + app/Models/EntityModel.php | 1 + app/Models/RecurringExpense.php | 4 ++-- app/Ninja/Repositories/RecurringExpenseRepository.php | 3 +++ resources/views/expenses/edit.blade.php | 11 ++++++++++- 5 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/Libraries/HistoryUtils.php b/app/Libraries/HistoryUtils.php index cfd45207b40e..63734d218570 100644 --- a/app/Libraries/HistoryUtils.php +++ b/app/Libraries/HistoryUtils.php @@ -80,6 +80,7 @@ class HistoryUtils ENTITY_QUOTE, ENTITY_TASK, ENTITY_EXPENSE, + //ENTITY_RECURRING_EXPENSE, ]; if (! in_array($entityType, $trackedTypes)) { diff --git a/app/Models/EntityModel.php b/app/Models/EntityModel.php index 977f31823a8e..756f1d982841 100644 --- a/app/Models/EntityModel.php +++ b/app/Models/EntityModel.php @@ -312,6 +312,7 @@ class EntityModel extends Eloquent 'invoices' => 'file-pdf-o', 'payments' => 'credit-card', 'recurring_invoices' => 'files-o', + 'recurring_expenses' => 'files-o', 'credits' => 'credit-card', 'quotes' => 'file-text-o', 'tasks' => 'clock-o', diff --git a/app/Models/RecurringExpense.php b/app/Models/RecurringExpense.php index 5440d1e826cd..04703e916104 100644 --- a/app/Models/RecurringExpense.php +++ b/app/Models/RecurringExpense.php @@ -46,8 +46,8 @@ class RecurringExpense extends EntityModel 'tax_rate2', 'tax_name2', 'should_be_invoiced', - 'start_date', - 'end_date', + //'start_date', + //'end_date', 'frequency_id', ]; diff --git a/app/Ninja/Repositories/RecurringExpenseRepository.php b/app/Ninja/Repositories/RecurringExpenseRepository.php index a83ab1717eb5..fc8e20af3e5a 100644 --- a/app/Ninja/Repositories/RecurringExpenseRepository.php +++ b/app/Ninja/Repositories/RecurringExpenseRepository.php @@ -114,6 +114,9 @@ class RecurringExpenseRepository extends BaseRepository $expense->fill($input); if (isset($input['start_date'])) { + if ($expense->exists && $expense->start_date && $expense->start_date != Utils::toSqlDate($input['start_date'])) { + $expense->last_sent_date = null; + } $expense->start_date = Utils::toSqlDate($input['start_date']); } if (isset($input['end_date'])) { diff --git a/resources/views/expenses/edit.blade.php b/resources/views/expenses/edit.blade.php index 4cfc4cdd7a9e..b359f543ebe0 100644 --- a/resources/views/expenses/edit.blade.php +++ b/resources/views/expenses/edit.blade.php @@ -376,11 +376,20 @@ @if ($isRecurring) $('#start_date, #end_date').datepicker(); @if ($expense && $expense->start_date) - $('#start_date').datepicker('update', '{{ Utils::fromSqlDate($expense->start_date) }}'); + $('#start_date').datepicker('update', '{{ $expense && $expense->start_date ? Utils::fromSqlDate($expense->start_date) : 'new Date()' }}'); + @elseif (! $expense) + $('#start_date').datepicker('update', new Date()); @endif @if ($expense && $expense->end_date) $('#end_date').datepicker('update', '{{ Utils::fromSqlDate($expense->end_date) }}'); @endif + + $('.start_date .input-group-addon').click(function() { + toggleDatePicker('start_date'); + }); + $('.end_date .input-group-addon').click(function() { + toggleDatePicker('end_date'); + }); @elseif (Auth::user()->account->hasFeature(FEATURE_DOCUMENTS)) $('.main-form').submit(function(){ if($('#document-upload .fallback input').val())$(this).attr('enctype', 'multipart/form-data')