diff --git a/app/controllers/AccountController.php b/app/controllers/AccountController.php index 9ad81574bde4..6b748d452959 100755 --- a/app/controllers/AccountController.php +++ b/app/controllers/AccountController.php @@ -87,6 +87,10 @@ class AccountController extends \BaseController { { return Redirect::to('invoices/create'); } + else if (!Utils::isNinja() && Account::count() > 0) + { + return Redirect::to('/login'); + } $user = false; $guestKey = Input::get('guest_key'); @@ -920,10 +924,25 @@ class AccountController extends \BaseController { } else { - //@file_get_contents(NINJA_APP_URL . "/signup/register/?first_name={$user->first_name}&last_name={$user->last_name}&email={$user->email}"); - @file_get_contents('http://ninja.dev' . '/signup/register/?first_name=' . urlencode($user->first_name) - . '&last_name=' . urlencode($user->last_name) - . '&email=' . urlencode($user->email)); + /* + $url = NINJA_APP_URL . '/signup/register'; + $data = ''; + $fields = [ + 'first_name' => urlencode($user->first_name), + 'last_name' => urlencode($user->last_name), + 'email' => urlencode($user->email) + ]; + + foreach($fields as $key=>$value) { $data .= $key.'='.$value.'&'; } + rtrim($data, '&'); + + $ch = curl_init(); + curl_setopt($ch,CURLOPT_URL, $url); + curl_setopt($ch,CURLOPT_POST, count($fields)); + curl_setopt($ch,CURLOPT_POSTFIELDS, $data); + curl_exec($ch); + curl_close($ch); + */ } $activities = Activity::scope()->get(); @@ -958,7 +977,7 @@ class AccountController extends \BaseController { $license->is_claimed = 1; $license->save(); - return 'success'; + return ''; } public function cancelAccount() diff --git a/app/filters.php b/app/filters.php index 9ce4e265acae..3e4f1816443b 100755 --- a/app/filters.php +++ b/app/filters.php @@ -187,13 +187,16 @@ Route::filter('guest', function() Route::filter('csrf', function() { - $token = Request::ajax() ? Request::header('X-CSRF-Token') : Input::get('_token'); - - if (Session::token() != $token) - { - Session::flash('warning', trans('texts.session_expired')); + if ($_SERVER['REQUEST_URI'] != '/signup/register') + { + $token = Request::ajax() ? Request::header('X-CSRF-Token') : Input::get('_token'); + + if (Session::token() != $token) + { + Session::flash('warning', trans('texts.session_expired')); - return Redirect::to('/'); - //throw new Illuminate\Session\TokenMismatchException; - } + return Redirect::to('/'); + //throw new Illuminate\Session\TokenMismatchException; + } + } }); \ No newline at end of file diff --git a/app/ninja/repositories/InvoiceRepository.php b/app/ninja/repositories/InvoiceRepository.php index 9d344ad1be20..a3b303881147 100755 --- a/app/ninja/repositories/InvoiceRepository.php +++ b/app/ninja/repositories/InvoiceRepository.php @@ -407,10 +407,25 @@ class InvoiceRepository public function cloneInvoice($invoice, $quotePublicId = null) { $invoice->load('invitations', 'invoice_items'); - + $account = $invoice->account; + $clone = Invoice::createNew($invoice); $clone->balance = $invoice->amount; - $clone->invoice_number = $invoice->account->getNextInvoiceNumber(); + + // if the invoice prefix is diff than quote prefix, use the same number for the invoice + if (($account->invoice_number_prefix || $account->quote_number_prefix) && $account->invoice_number_prefix != $account->quote_number_prefix) + { + $invoiceNumber = $invoice->invoice_number; + if (strpos($invoiceNumber, $account->quote_number_prefix) === 0) + { + $invoiceNumber = substr($invoiceNumber, strlen($account->quote_number_prefix)); + } + $clone->invoice_number = $account->invoice_number_prefix . $invoiceNumber; + } + else + { + $clone->invoice_number = $account->getNextInvoiceNumber(); + } foreach ([ 'client_id', diff --git a/app/routes.php b/app/routes.php index 88eaab596057..65b01fdd68bd 100755 --- a/app/routes.php +++ b/app/routes.php @@ -61,7 +61,6 @@ Route::get('claim_license', 'PaymentController@claim_license'); Route::post('signup/validate', 'AccountController@checkEmail'); Route::post('signup/submit', 'AccountController@submitSignup'); -Route::get('signup/register', 'AccountController@doRegister'); // Confide routes Route::get('login', 'UserController@login'); @@ -74,6 +73,7 @@ Route::post('user/reset', 'UserController@do_reset_password'); Route::get('logout', 'UserController@logout'); if (Utils::isNinja()) { + Route::post('/signup/register', 'AccountController@doRegister'); Route::get('/news_feed/{user_type}/{version}/', 'HomeController@newsFeed'); Route::get('/demo', 'AccountController@demo'); } diff --git a/app/views/emails/confirm_html.blade.php b/app/views/emails/confirm_html.blade.php index cf9f696c8f41..c7ad995255ba 100755 --- a/app/views/emails/confirm_html.blade.php +++ b/app/views/emails/confirm_html.blade.php @@ -1,9 +1,33 @@ -

{{ trans('texts.confirmation_header') }}

+ + + -{{ $invitationMessage . trans('texts.confirmation_message') }}

- - {{{ URL::to("user/confirm/{$user->confirmation_code}") }}} -

+

{{ trans('texts.confirmation_header') }}

-{{ trans('texts.email_signature') }}
-{{ trans('texts.email_from') }} \ No newline at end of file +

+ {{ $invitationMessage . trans('texts.confirmation_message') }} + + {{{ URL::to("user/confirm/{$user->confirmation_code}") }}} + +

+ + {{ trans('texts.email_signature') }}
+ {{ trans('texts.email_from') }} + + + \ No newline at end of file diff --git a/app/views/invoices/edit.blade.php b/app/views/invoices/edit.blade.php index 94688fd5b44b..dc0487782870 100755 --- a/app/views/invoices/edit.blade.php +++ b/app/views/invoices/edit.blade.php @@ -82,7 +82,7 @@ Created by a {{ link_to('/invoices/'.$invoice->recurring_invoice_id, 'recurring invoice') }} @else -

+
{{ Former::checkbox('recurring')->text(trans('texts.enable').'    '.trans('texts.learn_more').'')->data_bind("checked: is_recurring") ->inlineHelp($invoice && $invoice->last_sent_date ? 'Last invoice sent ' . Utils::dateToString($invoice->last_sent_date) : '') }}
diff --git a/composer.json b/composer.json index 031e4796b238..80590b79f9d5 100644 --- a/composer.json +++ b/composer.json @@ -20,8 +20,8 @@ "intervention/image": "1.x", "webpatser/laravel-countries": "dev-master", "barryvdh/laravel-ide-helper": "1.*", - "doctrine/dbal": "~2.3", - "jsanc623/phpbenchtime": "2.x" + "doctrine/dbal": "~2.3", + "jsanc623/phpbenchtime": "2.x" }, "require-dev": { "codeception/codeception": "dev-master"