From 5b323e04d7b05417033a7d4feac64a3aa74c1daf Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Fri, 4 Apr 2014 12:24:56 +0300 Subject: [PATCH] Adding ability to remove ninja logo --- .gitignore | 1 - app/controllers/AccountController.php | 66 +++++++++++++++++- .../2014_04_03_191105_add_pro_plan.php | 2 +- app/models/User.php | 13 +++- app/routes.php | 2 +- .../logo/zg4ylmzDkdkPOT8yoKQw9LTWaoZJx79h.jpg | Bin 0 -> 1822 bytes 6 files changed, 79 insertions(+), 5 deletions(-) create mode 100644 public/logo/zg4ylmzDkdkPOT8yoKQw9LTWaoZJx79h.jpg diff --git a/.gitignore b/.gitignore index 5bc74ae5bab7..4d560453dee1 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,6 @@ /app/config/ubuntu /app/config/packages/anahkiasen/rocketeer/ /app/storage -/public/logo /public/build /public/vendor /bootstrap/compiled.php diff --git a/app/controllers/AccountController.php b/app/controllers/AccountController.php index 3c7b057e4915..f752f97716ea 100755 --- a/app/controllers/AccountController.php +++ b/app/controllers/AccountController.php @@ -70,9 +70,73 @@ class AccountController extends \BaseController { $account = Auth::user()->account; - $client = new Client; + $ninjaAccount = $this->getNinjaAccount(); + $ninjaClient = $this->getNinjaClient($ninjaAccount); + + } + + private function getNinjaAccount() + { + $account = Account::whereAccountKey(NINJA_ACCOUNT_KEY)->first(); + + if ($account) + { + return $account; + } + else + { + $account = new Account(); + $account->name = 'Invoice Ninja'; + $account->work_email = 'contact@invoiceninja.com'; + $account->work_phone = '(800) 763-1948'; + $account->account_key = NINJA_ACCOUNT_KEY; + $account->save(); + + $random = str_random(RANDOM_KEY_LENGTH); + + $user = new User(); + $user->email = 'contact@invoiceninja.com'; + $user->password = $random; + $user->password_confirmation = $random; + $user->username = $random; + $user->notify_sent = false; + $user->notify_paid = false; + $account->users()->save($user); + } + + return $account; + } + + private function getNinjaClient($ninjaAccount) + { + $client = Client::whereAccountId($ninjaAccount->id)->wherePublicId(Auth::user()->account_id)->first(); + + if ($client) + { + return $client; + } + else + { + $client = new Client; + $client->public_id = Auth::user()->account_id; + $client->user_id = $ninjaAccount->users()->first()->id; + foreach (['name', 'address1', 'address2', 'city', 'state', 'postal_code', 'country_id', 'work_phone'] as $field) + { + $client->$field = Auth::user()->account->$field; + } + $ninjaAccount->clients()->save($client); + + $contact = new Contact; + $contact->user_id = $ninjaAccount->users()->first()->id; + $contact->is_primary = true; + foreach (['first_name', 'last_name', 'email', 'phone'] as $field) + { + $contact->$field = Auth::user()->$field; + } + $client->contacts()->save($contact); + } } public function setTrashVisible($entityType, $visible) diff --git a/app/database/migrations/2014_04_03_191105_add_pro_plan.php b/app/database/migrations/2014_04_03_191105_add_pro_plan.php index 6cfc4dc96de4..05f74ebdf40b 100644 --- a/app/database/migrations/2014_04_03_191105_add_pro_plan.php +++ b/app/database/migrations/2014_04_03_191105_add_pro_plan.php @@ -14,7 +14,7 @@ class AddProPlan extends Migration { { Schema::table('accounts', function($table) { - $table->timestamp('pro_plan_paid'); + $table->date('pro_plan_paid'); }); } diff --git a/app/models/User.php b/app/models/User.php index 70e99e283a49..caa76ec1ed00 100755 --- a/app/models/User.php +++ b/app/models/User.php @@ -111,7 +111,18 @@ class User extends ConfideUser implements UserInterface, RemindableInterface return false; } - return $this->account->pro_plan_paid; + $datePaid = $this->account->pro_plan_paid; + + if (!$datePaid || $datePaid == '0000-00-00') + { + return false; + } + + $today = new DateTime('now'); + $datePaid = DateTime::createFromFormat('Y-m-d', $datePaid); + $interval = $today->diff($datePaid); + + return $interval->y == 0; } public function showGreyBackground() diff --git a/app/routes.php b/app/routes.php index b29b32147730..0ed60c8c673a 100755 --- a/app/routes.php +++ b/app/routes.php @@ -1,6 +1,5 @@ wn?y2^NFWd?B$66ggQB59rBJCfO>H_& zlc7na(sk(!9VUy#($Lb=*JbK!Gg(a4BRB}VLm;XXiRw%mmB#$ffz|>B8Mpu!2saVn z890c6L#2QX0FH>Es%ZZR93HDtjYL+bP%%Ln9pG^ggeO3%sxfsOb`A&(qV@zE2Q?iJ zf6~No=JbTj6J%q@;yRXRo5Ey9Kt!TCMORPXz;M#!DW+yqXU>{!Yd6Q9x5&wv@8asV zV&y8Y)oZ-h3IjI;1&4%&ZQT~RJt}&~&ZOksDdN;Uk^=`19nLzEos)a=)af&4&z=AA z!j+QJvhu4Hl~p(Er45Zuw{G9L|KQ=H$4{OpD`xEL50om8Q9zg4zZx-+apWL;L9Au{(B3ND~vJPJCGu4N5gw36J=_YTckyMJ*< z^lC3J`%Rtiylfp!%7ro^t`(m&IXgWqzUw)+RBw#T9`b&Gf}x4&a8$aShyq6v;IPw^os+ZD(n$PRCdM=^>8w%URV3S zpnyn+3zh6uRc-g`W2}sRS<{|ZnX)H*a9quV^&Y1gm5~{VeIL$hE!dR{hDs2l?h%Lh z)&vwB&gY`wfGG;Z(MYS{6DR(4usaG~Nyez$ayW~7MHb71FV3zK3Ho~!gSCao!@L%~ zvBH|&vG0{Kgkq)isq?j5pntG#ZB%`8ez7Z8Ha_e~xzbLfu*}<-Ryy#szJg>FnsV-5 zf#N;8or)xDjsEl&1*4h1-z%ZcDf>jaIXcqT-r-1Tyr?afcg{V6E8n-Zv;daJ?e1nX zWuyFK%?|gk?dTS?&uy&AuUbbN=a${uPP|~BXej5Hr&aGVzaD-oi06Akp@*oK91qD& z7EOVVXBj>(lDg`NXWsgG=lXLeYn03Q?3kn$`B>s?Zy?X7IBC2M~>Q_s~2kLgrr+Mnkjo({9xMrYiu1`A^-Lxoa z(MWdr za+b_w2Q+D+#;S-FfGx7OmFpFCmAmg3v_BwlfG za2dQsap23y3ir1CB`>|UOc&7m?#GoQ`~gI$NE=89Vf0*OUyUo=f2{rPi@JMz25;z7 z0u80PbVh%F&vZYt&v&DB_bSSp5sHJ-=34xPrKh5;>a$EOHS^B+PHL%)(VopJa(1il zFlV;d)zbU{x6N2v_O z!_4GSiY@$8$ahAnmPY{!4sF7EKC`c9s#)r=?cer$F)xTkm=`e7>v1YG>>Roy0so-v zOMweU++&^LyME=zW<2Vj_0S>pO&;&^;?%~i$vGTvdW^Zolf!KbiA)a{e<$X0+&4)= GpZyA586xfg literal 0 HcmV?d00001