Multi-db fixes

This commit is contained in:
Hillel Coren 2017-05-15 16:49:58 +03:00
parent 2e3c857e80
commit 76837ebe00
6 changed files with 14 additions and 8 deletions

View File

@ -39,7 +39,7 @@ class AccountApiController extends BaseAPIController
public function register(RegisterRequest $request) public function register(RegisterRequest $request)
{ {
if (! \App\Models\LookupUser::validateEmail($request->email)) { if (! \App\Models\LookupUser::validateField('email', $request->email)) {
return $this->errorResponse(['message' => trans('texts.email_taken')], 500); return $this->errorResponse(['message' => trans('texts.email_taken')], 500);
} }

View File

@ -1102,7 +1102,7 @@ class AccountController extends BaseController
$user = Auth::user(); $user = Auth::user();
$email = trim(strtolower(Input::get('email'))); $email = trim(strtolower(Input::get('email')));
if (! \App\Models\LookupUser::validateEmail($email, $user)) { if (! \App\Models\LookupUser::validateField('email', $email, $user)) {
return Redirect::to('settings/' . ACCOUNT_USER_DETAILS) return Redirect::to('settings/' . ACCOUNT_USER_DETAILS)
->withError(trans('texts.email_taken')) ->withError(trans('texts.email_taken'))
->withInput(); ->withInput();
@ -1219,7 +1219,7 @@ class AccountController extends BaseController
$email = trim(strtolower(Input::get('email'))); $email = trim(strtolower(Input::get('email')));
$user = Auth::user(); $user = Auth::user();
if (! \App\Models\LookupUser::validateEmail($email, $user)) { if (! \App\Models\LookupUser::validateField('email', $email, $user)) {
return 'taken'; return 'taken';
} }
@ -1264,7 +1264,7 @@ class AccountController extends BaseController
$email = trim(strtolower(Input::get('new_email'))); $email = trim(strtolower(Input::get('new_email')));
$password = trim(Input::get('new_password')); $password = trim(Input::get('new_password'));
if (! \App\Models\LookupUser::validateEmail($email, $user)) { if (! \App\Models\LookupUser::validateField('email', $email, $user)) {
return ''; return '';
} }

View File

@ -182,7 +182,7 @@ class UserController extends BaseController
->withInput(); ->withInput();
} }
if (! \App\Models\LookupUser::validateEmail(Input::get('email'), $user)) { if (! \App\Models\LookupUser::validateField('email', Input::get('email'), $user)) {
return Redirect::to($userPublicId ? 'users/edit' : 'users/create') return Redirect::to($userPublicId ? 'users/edit' : 'users/create')
->withError(trans('texts.email_taken')) ->withError(trans('texts.email_taken'))
->withInput(); ->withInput();

View File

@ -47,7 +47,7 @@ class LookupUser extends LookupModel
config(['database.default' => $current]); config(['database.default' => $current]);
} }
public static function validateEmail($email, $user = false) public static function validateField($field, $value, $user = false)
{ {
if (! env('MULTI_DB_ENABLED')) { if (! env('MULTI_DB_ENABLED')) {
return true; return true;
@ -58,7 +58,7 @@ class LookupUser extends LookupModel
config(['database.default' => DB_NINJA_LOOKUP]); config(['database.default' => DB_NINJA_LOOKUP]);
$lookupUser = LookupUser::whereEmail($email)->first(); $lookupUser = LookupUser::where($field, '=', $value)->first();
if ($user) { if ($user) {
$lookupAccount = LookupAccount::whereAccountKey($accountKey)->firstOrFail(); $lookupAccount = LookupAccount::whereAccountKey($accountKey)->firstOrFail();

View File

@ -16,6 +16,7 @@ use App\Models\InvoiceItem;
use App\Models\Language; use App\Models\Language;
use App\Models\User; use App\Models\User;
use App\Models\UserAccount; use App\Models\UserAccount;
use App\Models\LookupUser;
use Auth; use Auth;
use Input; use Input;
use Request; use Request;
@ -430,6 +431,10 @@ class AccountRepository
public function updateUserFromOauth($user, $firstName, $lastName, $email, $providerId, $oauthUserId) public function updateUserFromOauth($user, $firstName, $lastName, $email, $providerId, $oauthUserId)
{ {
if (! LookupUser::validateField('oauth_user_key', $providerId . '-' . $oauthUserId)) {
return trans('texts.oauth_taken');
}
if (! $user->registered) { if (! $user->registered) {
$rules = ['email' => 'email|required|unique:users,email,'.$user->id.',id']; $rules = ['email' => 'email|required|unique:users,email,'.$user->id.',id'];
$validator = Validator::make(['email' => $email], $rules); $validator = Validator::make(['email' => $email], $rules);
@ -439,7 +444,7 @@ class AccountRepository
return $messages->first('email'); return $messages->first('email');
} }
if (! \App\Models\LookupUser::validateEmail($email, $user)) { if (! LookupUser::validateField('email', $email, $user)) {
return trans('texts.email_taken'); return trans('texts.email_taken');
} }

View File

@ -2244,6 +2244,7 @@ $LANG = array(
'white_label_license_error' => 'Failed to validate the license, check storage/logs/laravel-error.log for more details.', 'white_label_license_error' => 'Failed to validate the license, check storage/logs/laravel-error.log for more details.',
'plan_price' => 'Plan Price', 'plan_price' => 'Plan Price',
'wrong_confirmation' => 'Incorrect confirmation code', 'wrong_confirmation' => 'Incorrect confirmation code',
'oauth_taken' => 'The account is already registered',
); );