diff --git a/app/Http/Controllers/ConnectedAccountController.php b/app/Http/Controllers/ConnectedAccountController.php index b53b7bb34e82..ab769eac960c 100644 --- a/app/Http/Controllers/ConnectedAccountController.php +++ b/app/Http/Controllers/ConnectedAccountController.php @@ -104,8 +104,13 @@ class ConnectedAccountController extends BaseController $refresh_token = ''; $token = ''; + $email = $google->harvestEmail($user); + + if(auth()->user()->email != $email && MultiDB::checkUserEmailExists($email)) + return response()->json(['message' => ctrans('texts.email_already_register')], 400) + $connected_account = [ - 'email' => $google->harvestEmail($user), + 'email' => $email, 'oauth_user_id' => $google->harvestSubField($user), 'oauth_provider_id' => 'google', 'email_verified_at' =>now() diff --git a/app/Http/Middleware/UrlSetDb.php b/app/Http/Middleware/UrlSetDb.php index e93ac08440ab..3c9d779e31b1 100644 --- a/app/Http/Middleware/UrlSetDb.php +++ b/app/Http/Middleware/UrlSetDb.php @@ -42,6 +42,9 @@ class UrlSetDb $hashed_db = $hashids->decode($segments[0]); + if(!is_array($hashed_db)) + return response()->json(['message' => 'Invalid confirmation code'], 403); + MultiDB::setDB(MultiDB::DB_PREFIX.str_pad($hashed_db[0], 2, '0', STR_PAD_LEFT)); } diff --git a/app/Http/Requests/Preview/PreviewInvoiceRequest.php b/app/Http/Requests/Preview/PreviewInvoiceRequest.php index e7dc8f147217..faaf7707f341 100644 --- a/app/Http/Requests/Preview/PreviewInvoiceRequest.php +++ b/app/Http/Requests/Preview/PreviewInvoiceRequest.php @@ -53,6 +53,7 @@ class PreviewInvoiceRequest extends Request $input['line_items'] = isset($input['line_items']) ? $this->cleanItems($input['line_items']) : []; $input['amount'] = 0; $input['balance'] = 0; + $input['number'] = null; $this->replace($input); } diff --git a/app/Jobs/Util/Import.php b/app/Jobs/Util/Import.php index 89685ac11987..14afd00d8b40 100644 --- a/app/Jobs/Util/Import.php +++ b/app/Jobs/Util/Import.php @@ -535,6 +535,7 @@ class Import implements ShouldQueue $modified = $resource; unset($modified['id']); unset($modified['password']); //cant import passwords. + unset($modified['confirmation_code']); //cant import passwords. $user = $user_repository->save($modified, $this->fetchUser($resource['email']), true, true); $user->email_verified_at = now(); diff --git a/app/Mail/Admin/EntitySentObject.php b/app/Mail/Admin/EntitySentObject.php index 3b9003e07e59..570c149b1cfe 100644 --- a/app/Mail/Admin/EntitySentObject.php +++ b/app/Mail/Admin/EntitySentObject.php @@ -121,7 +121,7 @@ class EntitySentObject ctrans( $this->template_subject, [ - 'client' => $this->contact->present()->name(), + 'client' => $this->contact->client->present()->name(), 'invoice' => $this->entity->number, ] ); @@ -133,7 +133,7 @@ class EntitySentObject $this->template_body, [ 'amount' => $this->getAmount(), - 'client' => $this->contact->present()->name(), + 'client' => $this->contact->client->present()->name(), 'invoice' => $this->entity->number, ] ); diff --git a/app/Models/Client.php b/app/Models/Client.php index f44e51c7b52c..5bbfcc8af071 100644 --- a/app/Models/Client.php +++ b/app/Models/Client.php @@ -229,7 +229,7 @@ class Client extends BaseModel implements HasLocalePreference public function system_logs() { - return $this->hasMany(SystemLog::class); + return $this->hasMany(SystemLog::class)->orderBy('id', 'desc'); } public function timezone() diff --git a/app/Repositories/ActivityRepository.php b/app/Repositories/ActivityRepository.php index 4ad34a37702a..ce31e331ce99 100644 --- a/app/Repositories/ActivityRepository.php +++ b/app/Repositories/ActivityRepository.php @@ -51,11 +51,11 @@ class ActivityRepository extends BaseRepository } if ($token_id = $this->getTokenId($event_vars)) { - $fields->token_id = $token_id; + $activity->token_id = $token_id; } - $fields->ip = $event_vars['ip']; - $fields->is_system = $event_vars['is_system']; + $activity->ip = $event_vars['ip']; + $activity->is_system = $event_vars['is_system']; $activity->save(); diff --git a/tests/Integration/CompanyLedgerTest.php b/tests/Integration/CompanyLedgerTest.php index 1a228ab74d5b..d50030a00d0b 100644 --- a/tests/Integration/CompanyLedgerTest.php +++ b/tests/Integration/CompanyLedgerTest.php @@ -84,7 +84,7 @@ class CompanyLedgerTest extends TestCase $settings = CompanySettings::defaults(); - $settings->company_logo = asset('images/new_logo.png'); + $settings->company_logo = 'https://app.invoiceninja.com/favicon-v2.png'; $settings->website = 'www.invoiceninja.com'; $settings->address1 = 'Address 1'; $settings->address2 = 'Address 2'; diff --git a/tests/MockAccountData.php b/tests/MockAccountData.php index 33c11a94d856..fa078e1146ef 100644 --- a/tests/MockAccountData.php +++ b/tests/MockAccountData.php @@ -167,7 +167,7 @@ trait MockAccountData $settings = CompanySettings::defaults(); - $settings->company_logo = ''; + $settings->company_logo = 'https://app.invoiceninja.com/favicon-v2.png'; // $settings->company_logo = asset('images/new_logo.png'); $settings->website = 'www.invoiceninja.com'; $settings->address1 = 'Address 1';