From f492cca9fe13e78db296428f3f03bb38f31b25d8 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Fri, 23 Jun 2017 18:10:57 +0300 Subject: [PATCH] Working on recurring expenses --- .../2017_06_19_111515_update_dark_mode.php | 39 ++++++++++++++++++- resources/views/list.blade.php | 3 +- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/database/migrations/2017_06_19_111515_update_dark_mode.php b/database/migrations/2017_06_19_111515_update_dark_mode.php index 38b4a13ba853..4b970faed2ff 100644 --- a/database/migrations/2017_06_19_111515_update_dark_mode.php +++ b/database/migrations/2017_06_19_111515_update_dark_mode.php @@ -23,7 +23,42 @@ class UpdateDarkMode extends Migration left join invoices on invoices.id = invoice_items.invoice_id set invoice_item_type_id = 2 where invoices.has_tasks = 1 - and invoice_item_type_id = 1'); + and invoice_item_type_id = 1'); + + Schema::create('recurring_expenses', function (Blueprint $table) { + $table->increments('id'); + $table->timestamps(); + $table->softDeletes(); + + $table->unsignedInteger('account_id')->index(); + $table->unsignedInteger('vendor_id')->nullable(); + $table->unsignedInteger('user_id'); + $table->unsignedInteger('client_id')->nullable(); + $table->boolean('is_deleted')->default(false); + $table->decimal('amount', 13, 2); + $table->text('private_notes'); + $table->text('public_notes'); + $table->unsignedInteger('invoice_currency_id')->nullable(false); + $table->unsignedInteger('expense_currency_id')->nullable()->index(); + $table->boolean('should_be_invoiced')->default(true); + $table->unsignedInteger('expense_category_id')->nullable()->index(); + $table->string('tax_name1')->nullable(); + $table->decimal('tax_rate1', 13, 3); + $table->string('tax_name2')->nullable(); + $table->decimal('tax_rate2', 13, 3); + + // Relations + $table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade'); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('invoice_currency_id')->references('id')->on('currencies'); + $table->foreign('expense_currency_id')->references('id')->on('currencies'); + $table->foreign('expense_category_id')->references('id')->on('expense_categories')->onDelete('cascade'); + + // Indexes + $table->unsignedInteger('public_id')->index(); + $table->unique(['account_id', 'public_id']); + }); + } /** @@ -33,6 +68,6 @@ class UpdateDarkMode extends Migration */ public function down() { - // + Schema::drop('recurring_expenses'); } } diff --git a/resources/views/list.blade.php b/resources/views/list.blade.php index 158480f7084f..b91b37a28d66 100644 --- a/resources/views/list.blade.php +++ b/resources/views/list.blade.php @@ -50,7 +50,8 @@ class="form-control pull-left" placeholder="{{ trans('texts.filter') }}" value="{{ Input::get('filter') }}"/> @if ($entityType == ENTITY_EXPENSE) - {!! Button::normal(trans('texts.categories'))->asLinkTo(URL::to('/expense_categories'))->appendIcon(Icon::create('list')) !!} + {!! Button::normal(trans('texts.recurring'))->asLinkTo(URL::to('/recurring_categories'))->appendIcon(Icon::create('list')) !!} + {!! Button::normal(trans('texts.categories'))->asLinkTo(URL::to('/expense_categories'))->appendIcon(Icon::create('list')) !!} @elseif ($entityType == ENTITY_TASK) {!! Button::normal(trans('texts.projects'))->asLinkTo(URL::to('/projects'))->appendIcon(Icon::create('list')) !!} @endif