diff --git a/app/controllers/AccountController.php b/app/controllers/AccountController.php index 00f57f65a819..1e6b4237db06 100755 --- a/app/controllers/AccountController.php +++ b/app/controllers/AccountController.php @@ -35,7 +35,7 @@ class AccountController extends \BaseController { if ($user && $user->registered) { - exit; + return Redirect::to('/'); } } @@ -49,7 +49,7 @@ class AccountController extends \BaseController { Auth::login($user, true); Event::fire('user.login'); - + return Redirect::to('invoices/create'); } diff --git a/app/controllers/HomeController.php b/app/controllers/HomeController.php index 9ae6ec456582..c446835840e4 100755 --- a/app/controllers/HomeController.php +++ b/app/controllers/HomeController.php @@ -74,6 +74,18 @@ class HomeController extends BaseController { return View::make('coming_soon'); } + public function invoiceNow() + { + if (Auth::check()) + { + return Redirect::to('invoices/create'); + } + else + { + return View::make('public.header', ['invoiceNow' => true]); + } + } + public function logError() { return Utils::logError(Input::get('error'), 'JavaScript'); diff --git a/app/controllers/InvoiceController.php b/app/controllers/InvoiceController.php index 6c70eba77bac..4570f52f4a9b 100755 --- a/app/controllers/InvoiceController.php +++ b/app/controllers/InvoiceController.php @@ -209,7 +209,7 @@ class InvoiceController extends \BaseController { } public function create($clientPublicId = 0) - { + { $client = null; $invoiceNumber = Auth::user()->account->getNextInvoiceNumber(); $account = Account::with('country')->findOrFail(Auth::user()->account_id); @@ -229,6 +229,7 @@ class InvoiceController extends \BaseController { 'title' => '- New Invoice', 'client' => $client); $data = array_merge($data, self::getViewModel()); + return View::make('invoices.edit', $data); } diff --git a/app/controllers/UserController.php b/app/controllers/UserController.php index 0e04261fa308..f1f45262566f 100755 --- a/app/controllers/UserController.php +++ b/app/controllers/UserController.php @@ -298,8 +298,8 @@ class UserController extends BaseController { } } - Confide::logout(); - + Confide::logout(); + return Redirect::to('/')->with('clearGuestKey', true); } } diff --git a/app/database/migrations/2014_04_29_174315_add_advanced_settings.php b/app/database/migrations/2014_04_29_174315_add_advanced_settings.php index 370cacfb1ee2..589bc6a7450b 100644 --- a/app/database/migrations/2014_04_29_174315_add_advanced_settings.php +++ b/app/database/migrations/2014_04_29_174315_add_advanced_settings.php @@ -17,6 +17,12 @@ class AddAdvancedSettings extends Migration { $table->string('primary_color'); $table->string('secondary_color'); }); + + Schema::table('payments', function($table) + { + $table->dropForeign('payments_invoice_id_foreign'); + $table->foreign('invoice_id')->references('id')->on('invoices')->onDelete('cascade'); + }); } /** diff --git a/app/models/Activity.php b/app/models/Activity.php index 71eca81be24e..e56580a070d6 100755 --- a/app/models/Activity.php +++ b/app/models/Activity.php @@ -129,12 +129,10 @@ class Activity extends Eloquent if (!$invoice->is_deleted) { - if ($invoice->balance > 0) - { - $client = $invoice->client; - $client->balance = $client->balance - $invoice->balance; - $client->save(); - } + $client = $invoice->client; + $client->balance = $client->balance - $invoice->balance; + $client->paid_to_date = $client->paid_to_date - ($invoice->amount - $invoice->balance); + $client->save(); $activity = Activity::getBlank(); $activity->invoice_id = $invoice->id; @@ -167,12 +165,10 @@ class Activity extends Eloquent { if ($invoice->is_deleted && !$invoice->getOriginal('is_deleted')) { - if ($invoice->balance > 0) - { - $client = $invoice->client; - $client->balance = $client->balance - $invoice->balance; - $client->save(); - } + $client = $invoice->client; + $client->balance = $client->balance - $invoice->balance; + $client->paid_to_date = $client->paid_to_date - ($invoice->amount - $invoice->balance); + $client->save(); $activity = Activity::getBlank(); $activity->client_id = $invoice->client_id; diff --git a/app/routes.php b/app/routes.php index b49577e52ae5..d26ab474c544 100755 --- a/app/routes.php +++ b/app/routes.php @@ -35,6 +35,7 @@ Route::get('/faq', 'HomeController@showFaq'); Route::get('/features', 'HomeController@showFeatures'); Route::get('log_error', 'HomeController@logError'); +Route::get('invoice_now', 'HomeController@invoiceNow'); Route::post('get_started', 'AccountController@getStarted'); Route::get('view/{invitation_key}', 'InvoiceController@view'); diff --git a/app/views/header.blade.php b/app/views/header.blade.php index 5cd52f7c0485..b2df39d39957 100755 --- a/app/views/header.blade.php +++ b/app/views/header.blade.php @@ -344,7 +344,7 @@ Want something changed? We're {{ link_to('https://github.com/hillelcoren/invoice @if (Auth::check() && !Auth::user()->isPro())