From fcaacdf48b0429416d485c8196dc8200fe809ce2 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 10 Jun 2015 23:55:23 +0300 Subject: [PATCH] Bug fixes --- app/Http/Controllers/InvoiceController.php | 5 +- app/Http/Controllers/PaymentController.php | 4 +- app/Http/routes.php | 3 + app/Models/Gateway.php | 8 ++ app/Ninja/Mailers/ContactMailer.php | 12 +-- public/css/built.css | 79 ++++++++++++++- public/css/style.css | 79 ++++++++++++++- public/images/pro_plan/check.png | Bin 0 -> 1173 bytes public/images/pro_plan/close.png | Bin 0 -> 1708 bytes public/images/pro_plan/price.png | Bin 0 -> 13720 bytes resources/lang/da/texts.php | 13 +++ resources/lang/de/texts.php | 12 +++ resources/lang/en/texts.php | 13 +++ resources/lang/es/texts.php | 12 +++ resources/lang/es_ES/texts.php | 12 +++ resources/lang/fr/texts.php | 12 +++ resources/lang/fr_CA/texts.php | 12 +++ resources/lang/it/texts.php | 13 +++ resources/lang/lt/texts.php | 12 +++ resources/lang/nb_NO/texts.php | 12 +++ resources/lang/nl/texts.php | 12 +++ resources/lang/pt_BR/texts.php | 12 +++ resources/lang/sv/texts.php | 12 +++ .../views/accounts/email_templates.blade.php | 18 +--- .../views/accounts/nav_advanced.blade.php | 2 +- resources/views/header.blade.php | 93 +++++++++--------- resources/views/invoices/edit.blade.php | 2 +- resources/views/invoices/pdf.blade.php | 2 +- 28 files changed, 387 insertions(+), 79 deletions(-) create mode 100644 public/images/pro_plan/check.png create mode 100644 public/images/pro_plan/close.png create mode 100644 public/images/pro_plan/price.png diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index 4889144bea..e8707ffb68 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -229,8 +229,9 @@ class InvoiceController extends BaseController } foreach(Gateway::$paymentTypes as $type) { if ($account->getGatewayByType($type)) { - $paymentTypes[] = [ - 'url' => URL::to("/payment/{$invitation->invitation_key}/{$type}"), 'label' => trans('texts.'.strtolower($type)) + $typeLink = strtolower(str_replace('PAYMENT_TYPE_', '', $type)); + $paymentTypes[] = [ + 'url' => URL::to("/payment/{$invitation->invitation_key}/{$typeLink}"), 'label' => trans('texts.'.strtolower($type)) ]; } } diff --git a/app/Http/Controllers/PaymentController.php b/app/Http/Controllers/PaymentController.php index c3e6ce3c90..0719cd0eaf 100644 --- a/app/Http/Controllers/PaymentController.php +++ b/app/Http/Controllers/PaymentController.php @@ -292,7 +292,9 @@ class PaymentController extends BaseController $account = $client->account; $useToken = false; - if (!$paymentType) { + if ($paymentType) { + $paymentType = 'PAYMENT_TYPE_' . strtoupper($paymentType); + } else { $paymentType = Session::get('payment_type', $account->account_gateways[0]->getPaymentType()); } if ($paymentType == PAYMENT_TYPE_TOKEN) { diff --git a/app/Http/routes.php b/app/Http/routes.php index efad81d4f7..df9d0b6ee8 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -204,6 +204,9 @@ Route::get('/testimonials', function() { Route::get('/compare-online-invoicing{sites?}', function() { return Redirect::to(NINJA_WEB_URL, 301); }); +Route::get('/forgot_password', function() { + return Redirect::to(NINJA_APP_URL.'/forgot', 301); +}); define('CONTACT_EMAIL', Config::get('mail.from.address')); diff --git a/app/Models/Gateway.php b/app/Models/Gateway.php index b11a4b2811..166c5a4929 100644 --- a/app/Models/Gateway.php +++ b/app/Models/Gateway.php @@ -39,6 +39,14 @@ class Gateway extends Eloquent return '/images/gateways/logo_'.$this->provider.'.png'; } + public static function getPaymentTypeLinks() { + $data = []; + foreach (self::$paymentTypes as $type) { + $data[] = strtolower(str_replace('PAYMENT_TYPE_', '', $type)); + } + return $data; + } + public function getHelp() { $link = ''; diff --git a/app/Ninja/Mailers/ContactMailer.php b/app/Ninja/Mailers/ContactMailer.php index 0936273c5c..c9583190c9 100644 --- a/app/Ninja/Mailers/ContactMailer.php +++ b/app/Ninja/Mailers/ContactMailer.php @@ -7,6 +7,7 @@ use URL; use App\Models\Invoice; use App\Models\Payment; use App\Models\Activity; +use App\Models\Gateway; use App\Events\InvoiceSent; class ContactMailer extends Mailer @@ -43,15 +44,8 @@ class ContactMailer extends Mailer ]; // Add variables for available payment types - foreach([PAYMENT_TYPE_CREDIT_CARD, PAYMENT_TYPE_PAYPAL, PAYMENT_TYPE_BITCOIN] as $type) { - if ($invoice->account->getGatewayByType($type)) { - - // Changes "PAYMENT_TYPE_CREDIT_CARD" to "$credit_card_link" - $gateway_slug = '$'.strtolower(str_replace('PAYMENT_TYPE_', '', $type)).'_link'; - - $variables[$gateway_slug] = URL::to("/payment/{$invitation->invitation_key}/{$type}"); - - } + foreach (Gateway::getPaymentTypeLinks() as $type) { + $variables["\${$type}_link"] = URL::to("/payment/{$invitation->invitation_key}/{$type}"); } $data['body'] = str_replace(array_keys($variables), array_values($variables), $emailTemplate); diff --git a/public/css/built.css b/public/css/built.css index 43c588acb6..fad32faf1b 100644 --- a/public/css/built.css +++ b/public/css/built.css @@ -3267,4 +3267,81 @@ div.dataTables_length label { a .glyphicon, button .glyphicon { padding-left: 8px; -} \ No newline at end of file +} + +.pro-plan-modal { + background-color: #4b4b4b; + padding-bottom: 40px; + padding-right: 25px; + /*opacity:0.96 !important;*/ +} + +.pro-plan-modal .left-side { + margin-top: 50px; +} + +.pro-plan-modal h2 { + color: #36c157; + font-size: 71px; + font-weight: 800; +} + +.pro-plan-modal img.price { + height: 90px; +} + +.pro-plan-modal a.button { + font-family: 'roboto_slabregular', Georgia, Times, serif; + background: #f38c4f; + background: -moz-linear-gradient(top, #f38c4f 0%, #db7134 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f38c4f), color-stop(100%,#db7134)); + background: -webkit-linear-gradient(top, #f38c4f 0%,#db7134 100%); + background: -o-linear-gradient(top, #f38c4f 0%,#db7134 100%); + background: -ms-linear-gradient(top, #f38c4f 0%,#db7134 100%); + background: linear-gradient(to bottom, #f38c4f 0%,#db7134 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f38c4f', endColorstr='#db7134',GradientType=0 ); + text-shadow: 1px 1px 1px rgba(0, 0, 0, .25); + width: 68%; + margin-top: 20px; + font-size: 28px; + color: #fff; + border-radius: 10px; + padding: 20px 0; + display: inline-block; + text-decoration: none; +} + +.pro-plan-modal a.button:hover { + background: #db7134; /* Old browsers */ + background: -moz-linear-gradient(top, #db7134 0%, #f38c4f 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#db7134), color-stop(100%,#f38c4f)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #db7134 0%,#f38c4f 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #db7134 0%,#f38c4f 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #db7134 0%,#f38c4f 100%); /* IE10+ */ + background: linear-gradient(to bottom, #db7134 0%,#f38c4f 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#db7134', endColorstr='#f38c4f',GradientType=0 ); /* IE6-9 */ +} + + +.pro-plan-modal ul { + color: #fff; + list-style: none; + padding: 0 0 30px 0; + text-align: left; + white-space: pre-line; + margin: 0; +} + +.pro-plan-modal ul li { + font-family: 'roboto_slabregular', Georgia, Times, serif; + background: url('../images/pro_plan/check.png') no-repeat 0px 12px; + display: inline-block; + font-size: 17px; + line-height: 36px; + padding: 0 0 0 19px; +} + +.pro-plan-modal img.close { + width: 35px; + margin-top: 20px; +} diff --git a/public/css/style.css b/public/css/style.css index c8ec73d518..0eab05ed1d 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -883,4 +883,81 @@ div.dataTables_length label { a .glyphicon, button .glyphicon { padding-left: 8px; -} \ No newline at end of file +} + +.pro-plan-modal { + background-color: #4b4b4b; + padding-bottom: 40px; + padding-right: 25px; + /*opacity:0.96 !important;*/ +} + +.pro-plan-modal .left-side { + margin-top: 50px; +} + +.pro-plan-modal h2 { + color: #36c157; + font-size: 71px; + font-weight: 800; +} + +.pro-plan-modal img.price { + height: 90px; +} + +.pro-plan-modal a.button { + font-family: 'roboto_slabregular', Georgia, Times, serif; + background: #f38c4f; + background: -moz-linear-gradient(top, #f38c4f 0%, #db7134 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f38c4f), color-stop(100%,#db7134)); + background: -webkit-linear-gradient(top, #f38c4f 0%,#db7134 100%); + background: -o-linear-gradient(top, #f38c4f 0%,#db7134 100%); + background: -ms-linear-gradient(top, #f38c4f 0%,#db7134 100%); + background: linear-gradient(to bottom, #f38c4f 0%,#db7134 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f38c4f', endColorstr='#db7134',GradientType=0 ); + text-shadow: 1px 1px 1px rgba(0, 0, 0, .25); + width: 68%; + margin-top: 20px; + font-size: 28px; + color: #fff; + border-radius: 10px; + padding: 20px 0; + display: inline-block; + text-decoration: none; +} + +.pro-plan-modal a.button:hover { + background: #db7134; /* Old browsers */ + background: -moz-linear-gradient(top, #db7134 0%, #f38c4f 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#db7134), color-stop(100%,#f38c4f)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #db7134 0%,#f38c4f 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #db7134 0%,#f38c4f 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #db7134 0%,#f38c4f 100%); /* IE10+ */ + background: linear-gradient(to bottom, #db7134 0%,#f38c4f 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#db7134', endColorstr='#f38c4f',GradientType=0 ); /* IE6-9 */ +} + + +.pro-plan-modal ul { + color: #fff; + list-style: none; + padding: 0 0 30px 0; + text-align: left; + white-space: pre-line; + margin: 0; +} + +.pro-plan-modal ul li { + font-family: 'roboto_slabregular', Georgia, Times, serif; + background: url('../images/pro_plan/check.png') no-repeat 0px 12px; + display: inline-block; + font-size: 17px; + line-height: 36px; + padding: 0 0 0 19px; +} + +.pro-plan-modal img.close { + width: 35px; + margin-top: 20px; +} diff --git a/public/images/pro_plan/check.png b/public/images/pro_plan/check.png new file mode 100644 index 0000000000000000000000000000000000000000..c6d41f3ce0e852faa89070bda74e0f7de5f09183 GIT binary patch literal 1173 zcmaJ>O^DN29M4SWv*=n}P!y48WJSd^FKIJvVzc%m9W86ep;mU*gP4!knK+ZYn7px_ zf%Ow{^ekTXu)8-;LLF8G4}&LNR=nw9S!P7=u&}In5JXUX>9nJVY9M*<|K9KS|NiId z_}Ibq(XCO2Vb+%pX%)Jzqi=L*fPT;KTY5*AEu=U>j^Y}r>po&~7B&zlIr=23Al;ff z{U^#WOvJOR6J(-%STV5^*F#La;dqqIFqs1lPdBF#0S211U6p-xe~AUQrLsRtWmxtK zXv#h`@1vvhV^wp0+LSH!!1o~2P^bb25gjy~88=WGD%;Yl(0zE!v!Deb(<-~_)I@n4 z6tItg6d&PCC?r8jjtkOAN>1$qB9(cV=0(UsS&`(H7EXzC;c~Rsjf(zzcqBl4<*xAvbp}_QQkJ#7+p+?=nvqWX7r>h}2 zUb(!c*bUl=qABAWy2lG~$U9CLR|_4G3i{+mS9DOF^AKM_0iN|uT94Y!4w>fe>xM!g z^+q}3+q5Y9jE2ow2f3uAsVu#TTehXtU;;{MOXuW7BFQDKbec0HvBssXG?Hj8gp?t6 z^mOCr#gr(f3nEOxq#zWfd_flTP=>-tP82jr>TpYLKy=qc9osgw-R25k+># zjAuGsFg}F|4yLdN3WZkH!S1qd+HQEbCoI%z+#2%jGsqhCu>)F}R_rcbXhnH6Cnl0` zq$qWdV3lii$zGc)eUZykXZWy9K5LuK5$(lryEX(=SQ{hc(%JFpkevVj$wN9|_e)x? z+W6bJp5FK<+qcm70)TJOj(l@C#`hSzz=;Q1wyDHkUEVuzVGxe8v0r}QbEEgg&)LU= zFYiW9_dhC?vYE{bzebvyV&@p+1Xzwd?dx5w|gbJz(< literal 0 HcmV?d00001 diff --git a/public/images/pro_plan/close.png b/public/images/pro_plan/close.png new file mode 100644 index 0000000000000000000000000000000000000000..35abfda64743300ab7ff8fd6c96209ea70f33404 GIT binary patch literal 1708 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 VKjP?$GXV8bQP7aDlzkoY{{V$U1IYjY literal 0 HcmV?d00001 diff --git a/resources/lang/da/texts.php b/resources/lang/da/texts.php index b7169eb781..84bea54761 100644 --- a/resources/lang/da/texts.php +++ b/resources/lang/da/texts.php @@ -677,5 +677,18 @@ return array( 'gateway_help_43' => ':link to sign up for Dwolla.', 'partial_value' => 'Must be greater than zero and less than the total', 'more_actions' => 'More Actions', + + 'pro_plan_title' => 'NINJA PRO', + 'pro_plan_call_to_action' => 'Upgrade Now!', + 'pro_plan_feature1' => 'Create Unlimited Clients', + 'pro_plan_feature2' => 'Access to 10 Beautiful Invoice Designs', + 'pro_plan_feature3' => 'Custom URLs - "YourBrand.InvoiceNinja.com"', + 'pro_plan_feature4' => 'Remove "Created by Invoice Ninja"', + 'pro_plan_feature5' => 'Multi-user Access & Activity Tracking', + 'pro_plan_feature6' => 'Create Quotes & Pro-forma Invoices', + 'pro_plan_feature7' => 'Customize Invoice Field Titles & Numbering', + 'pro_plan_feature8' => 'Option to Attach PDFs to Client Emails', + + ); diff --git a/resources/lang/de/texts.php b/resources/lang/de/texts.php index 5dba358e22..2ed7f399d6 100644 --- a/resources/lang/de/texts.php +++ b/resources/lang/de/texts.php @@ -669,4 +669,16 @@ return array( 'partial_value' => 'Must be greater than zero and less than the total', 'more_actions' => 'More Actions', + 'pro_plan_title' => 'NINJA PRO', + 'pro_plan_call_to_action' => 'Upgrade Now!', + 'pro_plan_feature1' => 'Create Unlimited Clients', + 'pro_plan_feature2' => 'Access to 10 Beautiful Invoice Designs', + 'pro_plan_feature3' => 'Custom URLs - "YourBrand.InvoiceNinja.com"', + 'pro_plan_feature4' => 'Remove "Created by Invoice Ninja"', + 'pro_plan_feature5' => 'Multi-user Access & Activity Tracking', + 'pro_plan_feature6' => 'Create Quotes & Pro-forma Invoices', + 'pro_plan_feature7' => 'Customize Invoice Field Titles & Numbering', + 'pro_plan_feature8' => 'Option to Attach PDFs to Client Emails', + + ); \ No newline at end of file diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index 92dca9e3b9..bceeff5f52 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -676,4 +676,17 @@ return array( 'partial_value' => 'Must be greater than zero and less than the total', 'more_actions' => 'More Actions', + 'pro_plan_title' => 'NINJA PRO', + 'pro_plan_call_to_action' => 'Upgrade Now!', + 'pro_plan_feature1' => 'Create Unlimited Clients', + 'pro_plan_feature2' => 'Access to 10 Beautiful Invoice Designs', + 'pro_plan_feature3' => 'Custom URLs - "YourBrand.InvoiceNinja.com"', + 'pro_plan_feature4' => 'Remove "Created by Invoice Ninja"', + 'pro_plan_feature5' => 'Multi-user Access & Activity Tracking', + 'pro_plan_feature6' => 'Create Quotes & Pro-forma Invoices', + 'pro_plan_feature7' => 'Customize Invoice Field Titles & Numbering', + 'pro_plan_feature8' => 'Option to Attach PDFs to Client Emails', + + + ); diff --git a/resources/lang/es/texts.php b/resources/lang/es/texts.php index 0d018879a0..9b2d7a39cb 100644 --- a/resources/lang/es/texts.php +++ b/resources/lang/es/texts.php @@ -648,4 +648,16 @@ return array( 'partial_value' => 'Must be greater than zero and less than the total', 'more_actions' => 'More Actions', + 'pro_plan_title' => 'NINJA PRO', + 'pro_plan_call_to_action' => 'Upgrade Now!', + 'pro_plan_feature1' => 'Create Unlimited Clients', + 'pro_plan_feature2' => 'Access to 10 Beautiful Invoice Designs', + 'pro_plan_feature3' => 'Custom URLs - "YourBrand.InvoiceNinja.com"', + 'pro_plan_feature4' => 'Remove "Created by Invoice Ninja"', + 'pro_plan_feature5' => 'Multi-user Access & Activity Tracking', + 'pro_plan_feature6' => 'Create Quotes & Pro-forma Invoices', + 'pro_plan_feature7' => 'Customize Invoice Field Titles & Numbering', + 'pro_plan_feature8' => 'Option to Attach PDFs to Client Emails', + + ); \ No newline at end of file diff --git a/resources/lang/es_ES/texts.php b/resources/lang/es_ES/texts.php index 2e67ec47b6..d87faccce9 100644 --- a/resources/lang/es_ES/texts.php +++ b/resources/lang/es_ES/texts.php @@ -677,4 +677,16 @@ return array( 'partial_value' => 'Must be greater than zero and less than the total', 'more_actions' => 'More Actions', + 'pro_plan_title' => 'NINJA PRO', + 'pro_plan_call_to_action' => 'Upgrade Now!', + 'pro_plan_feature1' => 'Create Unlimited Clients', + 'pro_plan_feature2' => 'Access to 10 Beautiful Invoice Designs', + 'pro_plan_feature3' => 'Custom URLs - "YourBrand.InvoiceNinja.com"', + 'pro_plan_feature4' => 'Remove "Created by Invoice Ninja"', + 'pro_plan_feature5' => 'Multi-user Access & Activity Tracking', + 'pro_plan_feature6' => 'Create Quotes & Pro-forma Invoices', + 'pro_plan_feature7' => 'Customize Invoice Field Titles & Numbering', + 'pro_plan_feature8' => 'Option to Attach PDFs to Client Emails', + + ); \ No newline at end of file diff --git a/resources/lang/fr/texts.php b/resources/lang/fr/texts.php index 879b5f8739..96eae7a3c3 100644 --- a/resources/lang/fr/texts.php +++ b/resources/lang/fr/texts.php @@ -669,4 +669,16 @@ return array( 'partial_value' => 'Must be greater than zero and less than the total', 'more_actions' => 'More Actions', + 'pro_plan_title' => 'NINJA PRO', + 'pro_plan_call_to_action' => 'Upgrade Now!', + 'pro_plan_feature1' => 'Create Unlimited Clients', + 'pro_plan_feature2' => 'Access to 10 Beautiful Invoice Designs', + 'pro_plan_feature3' => 'Custom URLs - "YourBrand.InvoiceNinja.com"', + 'pro_plan_feature4' => 'Remove "Created by Invoice Ninja"', + 'pro_plan_feature5' => 'Multi-user Access & Activity Tracking', + 'pro_plan_feature6' => 'Create Quotes & Pro-forma Invoices', + 'pro_plan_feature7' => 'Customize Invoice Field Titles & Numbering', + 'pro_plan_feature8' => 'Option to Attach PDFs to Client Emails', + + ); \ No newline at end of file diff --git a/resources/lang/fr_CA/texts.php b/resources/lang/fr_CA/texts.php index 915db3d867..3af47d880b 100644 --- a/resources/lang/fr_CA/texts.php +++ b/resources/lang/fr_CA/texts.php @@ -669,4 +669,16 @@ return array( 'partial_value' => 'Must be greater than zero and less than the total', 'more_actions' => 'More Actions', + + 'pro_plan_title' => 'NINJA PRO', + 'pro_plan_call_to_action' => 'Upgrade Now!', + 'pro_plan_feature1' => 'Create Unlimited Clients', + 'pro_plan_feature2' => 'Access to 10 Beautiful Invoice Designs', + 'pro_plan_feature3' => 'Custom URLs - "YourBrand.InvoiceNinja.com"', + 'pro_plan_feature4' => 'Remove "Created by Invoice Ninja"', + 'pro_plan_feature5' => 'Multi-user Access & Activity Tracking', + 'pro_plan_feature6' => 'Create Quotes & Pro-forma Invoices', + 'pro_plan_feature7' => 'Customize Invoice Field Titles & Numbering', + 'pro_plan_feature8' => 'Option to Attach PDFs to Client Emails', + ); diff --git a/resources/lang/it/texts.php b/resources/lang/it/texts.php index fa4f842e18..c9e32e5a2d 100644 --- a/resources/lang/it/texts.php +++ b/resources/lang/it/texts.php @@ -670,5 +670,18 @@ return array( 'gateway_help_43' => ':link to sign up for Dwolla.', 'partial_value' => 'Must be greater than zero and less than the total', 'more_actions' => 'More Actions', + + + 'pro_plan_title' => 'NINJA PRO', + 'pro_plan_call_to_action' => 'Upgrade Now!', + 'pro_plan_feature1' => 'Create Unlimited Clients', + 'pro_plan_feature2' => 'Access to 10 Beautiful Invoice Designs', + 'pro_plan_feature3' => 'Custom URLs - "YourBrand.InvoiceNinja.com"', + 'pro_plan_feature4' => 'Remove "Created by Invoice Ninja"', + 'pro_plan_feature5' => 'Multi-user Access & Activity Tracking', + 'pro_plan_feature6' => 'Create Quotes & Pro-forma Invoices', + 'pro_plan_feature7' => 'Customize Invoice Field Titles & Numbering', + 'pro_plan_feature8' => 'Option to Attach PDFs to Client Emails', + ); diff --git a/resources/lang/lt/texts.php b/resources/lang/lt/texts.php index 8d5a878e2e..cd673ed2c0 100644 --- a/resources/lang/lt/texts.php +++ b/resources/lang/lt/texts.php @@ -678,6 +678,18 @@ return array( 'gateway_help_43' => ':link to sign up for Dwolla.', 'partial_value' => 'Must be greater than zero and less than the total', 'more_actions' => 'More Actions', + + 'pro_plan_title' => 'NINJA PRO', + 'pro_plan_call_to_action' => 'Upgrade Now!', + 'pro_plan_feature1' => 'Create Unlimited Clients', + 'pro_plan_feature2' => 'Access to 10 Beautiful Invoice Designs', + 'pro_plan_feature3' => 'Custom URLs - "YourBrand.InvoiceNinja.com"', + 'pro_plan_feature4' => 'Remove "Created by Invoice Ninja"', + 'pro_plan_feature5' => 'Multi-user Access & Activity Tracking', + 'pro_plan_feature6' => 'Create Quotes & Pro-forma Invoices', + 'pro_plan_feature7' => 'Customize Invoice Field Titles & Numbering', + 'pro_plan_feature8' => 'Option to Attach PDFs to Client Emails', + ); diff --git a/resources/lang/nb_NO/texts.php b/resources/lang/nb_NO/texts.php index c39965dad0..f148bc10ec 100644 --- a/resources/lang/nb_NO/texts.php +++ b/resources/lang/nb_NO/texts.php @@ -676,5 +676,17 @@ return array( 'gateway_help_43' => ':link to sign up for Dwolla.', 'partial_value' => 'Must be greater than zero and less than the total', 'more_actions' => 'More Actions', + + 'pro_plan_title' => 'NINJA PRO', + 'pro_plan_call_to_action' => 'Upgrade Now!', + 'pro_plan_feature1' => 'Create Unlimited Clients', + 'pro_plan_feature2' => 'Access to 10 Beautiful Invoice Designs', + 'pro_plan_feature3' => 'Custom URLs - "YourBrand.InvoiceNinja.com"', + 'pro_plan_feature4' => 'Remove "Created by Invoice Ninja"', + 'pro_plan_feature5' => 'Multi-user Access & Activity Tracking', + 'pro_plan_feature6' => 'Create Quotes & Pro-forma Invoices', + 'pro_plan_feature7' => 'Customize Invoice Field Titles & Numbering', + 'pro_plan_feature8' => 'Option to Attach PDFs to Client Emails', + ); \ No newline at end of file diff --git a/resources/lang/nl/texts.php b/resources/lang/nl/texts.php index 547529e403..6fadd0aab7 100644 --- a/resources/lang/nl/texts.php +++ b/resources/lang/nl/texts.php @@ -671,5 +671,17 @@ return array( 'gateway_help_43' => ':link to sign up for Dwolla.', 'partial_value' => 'Must be greater than zero and less than the total', 'more_actions' => 'More Actions', + + 'pro_plan_title' => 'NINJA PRO', + 'pro_plan_call_to_action' => 'Upgrade Now!', + 'pro_plan_feature1' => 'Create Unlimited Clients', + 'pro_plan_feature2' => 'Access to 10 Beautiful Invoice Designs', + 'pro_plan_feature3' => 'Custom URLs - "YourBrand.InvoiceNinja.com"', + 'pro_plan_feature4' => 'Remove "Created by Invoice Ninja"', + 'pro_plan_feature5' => 'Multi-user Access & Activity Tracking', + 'pro_plan_feature6' => 'Create Quotes & Pro-forma Invoices', + 'pro_plan_feature7' => 'Customize Invoice Field Titles & Numbering', + 'pro_plan_feature8' => 'Option to Attach PDFs to Client Emails', + ); diff --git a/resources/lang/pt_BR/texts.php b/resources/lang/pt_BR/texts.php index 1a59edcd37..97e73523fd 100644 --- a/resources/lang/pt_BR/texts.php +++ b/resources/lang/pt_BR/texts.php @@ -671,5 +671,17 @@ return array( 'gateway_help_43' => ':link to sign up for Dwolla.', 'partial_value' => 'Must be greater than zero and less than the total', 'more_actions' => 'More Actions', + + 'pro_plan_title' => 'NINJA PRO', + 'pro_plan_call_to_action' => 'Upgrade Now!', + 'pro_plan_feature1' => 'Create Unlimited Clients', + 'pro_plan_feature2' => 'Access to 10 Beautiful Invoice Designs', + 'pro_plan_feature3' => 'Custom URLs - "YourBrand.InvoiceNinja.com"', + 'pro_plan_feature4' => 'Remove "Created by Invoice Ninja"', + 'pro_plan_feature5' => 'Multi-user Access & Activity Tracking', + 'pro_plan_feature6' => 'Create Quotes & Pro-forma Invoices', + 'pro_plan_feature7' => 'Customize Invoice Field Titles & Numbering', + 'pro_plan_feature8' => 'Option to Attach PDFs to Client Emails', + ); diff --git a/resources/lang/sv/texts.php b/resources/lang/sv/texts.php index 477355e851..ddbd91188f 100644 --- a/resources/lang/sv/texts.php +++ b/resources/lang/sv/texts.php @@ -674,5 +674,17 @@ return array( 'gateway_help_43' => ':link to sign up for Dwolla.', 'partial_value' => 'Must be greater than zero and less than the total', 'more_actions' => 'More Actions', + + 'pro_plan_title' => 'NINJA PRO', + 'pro_plan_call_to_action' => 'Upgrade Now!', + 'pro_plan_feature1' => 'Create Unlimited Clients', + 'pro_plan_feature2' => 'Access to 10 Beautiful Invoice Designs', + 'pro_plan_feature3' => 'Custom URLs - "YourBrand.InvoiceNinja.com"', + 'pro_plan_feature4' => 'Remove "Created by Invoice Ninja"', + 'pro_plan_feature5' => 'Multi-user Access & Activity Tracking', + 'pro_plan_feature6' => 'Create Quotes & Pro-forma Invoices', + 'pro_plan_feature7' => 'Customize Invoice Field Titles & Numbering', + 'pro_plan_feature8' => 'Option to Attach PDFs to Client Emails', + ); diff --git a/resources/views/accounts/email_templates.blade.php b/resources/views/accounts/email_templates.blade.php index 5b57c7d8dc..ab30b19016 100644 --- a/resources/views/accounts/email_templates.blade.php +++ b/resources/views/accounts/email_templates.blade.php @@ -111,20 +111,10 @@ vals = [{!! json_encode($emailFooter) !!}, '{!! Auth::user()->account->getDisplayName() !!}', 'Client Name', formatMoney(100), '{!! NINJA_WEB_URL !!}', 'Contact Name']; // Add any available payment method links - account->getGatewayByType($type)) { - - // Changes "PAYMENT_TYPE_CREDIT_CARD" to "credit_card" - $gateway_slug = strtolower(str_replace('PAYMENT_TYPE_', '', $type)).'_link'; - - echo "keys.push('$gateway_slug'); "; - echo "vals.push('".URL::to("/payment/xxxxxx/{$type}")."'); "; - echo "\n"; - - } - } - ?> + @foreach (\App\Models\Gateway::getPaymentTypeLinks() as $type) + {!! "keys.push('" . $type.'_link' . "');" !!} + {!! "vals.push('" . URL::to("/payment/xxxxxx/{$type}") . "');" !!} + @endforeach for (var i=0; iaccount->isPro())
-
{!! trans('texts.pro_plan_advanced_settings', ['link'=>''.trans('texts.pro_plan.remove_logo_link').'']) !!}
+
{!! trans('texts.pro_plan_advanced_settings', ['link'=>''.trans('texts.pro_plan.remove_logo_link').'']) !!}
 

 

@endif diff --git a/resources/views/header.blade.php b/resources/views/header.blade.php index 4ae7ce5d6c..75aa370ae6 100644 --- a/resources/views/header.blade.php +++ b/resources/views/header.blade.php @@ -144,27 +144,35 @@ $('#signUpModal').modal('show'); } + NINJA.proPlanFeature = ''; + function showProPlan(feature) { + $('#proPlanModal').modal('show'); + trackEvent('/account', '/show_pro_plan/' + feature); + NINJA.proPlanFeature = feature; + } + + function hideProPlan() { + $('#proPlanModal').modal('hide'); + } + function buyProduct(affiliateKey, productId) { window.open('{{ Utils::isNinjaDev() ? '' : NINJA_APP_URL }}/license?affiliate_key=' + affiliateKey + '&product_id=' + productId + '&return_url=' + window.location); } @if (Auth::check() && !Auth::user()->isPro()) - function submitProPlan(feature) { - trackEvent('/account', '/submit_pro_plan/' + feature); - if (NINJA.isRegistered) { - $('#proPlanDiv, #proPlanFooter').hide(); - $('#proPlanWorking').show(); - + function submitProPlan() { + trackEvent('/account', '/submit_pro_plan/' + NINJA.proPlanFeature); + if (NINJA.isRegistered) { $.ajax({ type: 'POST', url: '{{ URL::to('account/go_pro') }}', success: function(result) { NINJA.formIsChanged = false; - window.location = '/view/' + result; + window.location = '/payment/' + result; } }); } else { - $('#proPlanModal').modal('hide'); + $('#proPlanModal').modal('hide'); $('#go_pro').val('true'); showSignUp(); } @@ -321,7 +329,7 @@ @if (!Auth::user()->registered) {!! Button::success(trans('texts.sign_up'))->withAttributes(array('id' => 'signUpButton', 'data-toggle'=>'modal', 'data-target'=>'#signUpModal'))->small() !!}   @elseif (!Auth::user()->isPro()) - {!! Button::success(trans('texts.go_pro'))->withAttributes(array('id' => 'proPlanButton', 'onclick' => 'submitProPlan("")'))->small() !!}   + {!! Button::success(trans('texts.go_pro'))->withAttributes(array('id' => 'proPlanButton', 'onclick' => 'showProPlan("")'))->small() !!}   @endif @endif @@ -526,47 +534,36 @@ @if (Auth::check() && !Auth::user()->isPro())