Come BackEnd

This commit is contained in:
saeid_01
2019-04-18 20:18:13 +04:30
parent dfbefad4a4
commit 03a135305b
61 changed files with 3266 additions and 58 deletions
+99 -14
View File
@@ -2,8 +2,13 @@
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Foundation\Auth\RedirectsUsers;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Validation\ValidationException;
use Illuminate\Support\Facades\Hash;
class LoginController extends Controller
{
@@ -17,23 +22,103 @@ class LoginController extends Controller
| to conveniently provide its functionality to your applications.
|
*/
use RedirectsUsers, ThrottlesLogins;
use AuthenticatesUsers;
protected $redirectTo = '/';
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
public function showLoginForm()
{
return view('auth.login');
}
public function login(Request $request)
{
$this->validateLogin($request);
if ($this->hasTooManyLoginAttempts($request)) {
$this->fireLockoutEvent($request);
return $this->sendLockoutResponse($request);
}
if ($this->attemptLogin($request)) {
return $this->sendLoginResponse($request);
}
$this->incrementLoginAttempts($request);
return $this->sendFailedLoginResponse($request);
}
protected function validateLogin(Request $request)
{
$this->validate($request, [
$this->username() => 'required|string',
'password' => 'required|string',
]);
}
protected function attemptLogin(Request $request)
{
return $this->guard()->attempt(
$this->credentials($request), $request->filled('remember')
);
}
protected function credentials(Request $request)
{
return $request->only($this->username(), 'password');
}
protected function sendLoginResponse(Request $request)
{
$request->session()->regenerate();
$this->clearLoginAttempts($request);
// $request->session()->put(['user_status'=> 'user logged in!']);
return $this->authenticated($request, $this->guard()->user())
?: redirect()->intended($this->redirectTo);
}
protected function authenticated(Request $request, $user)
{
//
}
protected function sendFailedLoginResponse(Request $request)
{
$errors = [$this->username() => trans('auth.failed')];
if ($request->expectsJson()) {
return response()->json($errors, 422);
}
return redirect()->back()
->withInput($request->only($this->username(), 'remember'))
->withErrors($errors);
}
public function username()
{
return 'cell_number';
}
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->invalidate();
return redirect('/');
}
protected function guard()
{
return Auth::guard();
}
}
@@ -6,7 +6,14 @@ use App\User;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
// use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Http\Request;
use Illuminate\Auth\Events\Registered;
use Illuminate\Support\Facades\Auth;
use App\Appended\Traites\Auth\Verification;
use Illuminate\Support\Facades\Cache;
use App\Appended\Traites\Auth\Mc;
class RegisterController extends Controller
{
@@ -20,15 +27,15 @@ class RegisterController extends Controller
| provide this functionality without requiring any additional code.
|
*/
use RegistersUsers;
use Verification;
// use RegistersUsers;
/**
* Where to redirect users after registration.
*
* @var string
*/
protected $redirectTo = '/home';
protected $redirectTo = '/';
/**
* Create a new controller instance.
@@ -37,7 +44,7 @@ class RegisterController extends Controller
*/
public function __construct()
{
$this->middleware('guest');
// $this->middleware('guest');
}
/**
@@ -49,10 +56,13 @@ class RegisterController extends Controller
protected function validator(array $data)
{
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
'name' => 'required|string|max:255',
'medical_center_id' => 'required',
'email' => 'email|max:255|unique:users',
'cell_number' => 'required|digits_between:10,11|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
}
/**
@@ -63,10 +73,69 @@ class RegisterController extends Controller
*/
protected function create(array $data)
{
return User::create([
$userData = [
'name' => $data['name'],
'password' => bcrypt($data['password']),
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
'cell_number' => $data['cell_number'],
'medical_center_id' => $data['medical_center_id'],
'status' => 'Registered',
];
$userData['email'] ==="" ? $userData['email'] = null : null;
$userData['cell_number'] ==="" ? $userData['cell_number'] = null : null;
// $answer=$data['mathcaptcha'];
$user = User::create($userData);
if ($data['cell_number']) {
session(['temp_user' => $user]);
// $this->phone_confirmation($user);
} else
throw new \Exception('لطفا شماره همراه خود را وارد نمایید.');
return $user;
// $user = User::create($userData);
// dd($user);
// if (!empty($userData['email'])) {
// $this->mail_confirmation($user,'register');
// } else {
// $this->phone_confirmation($user);
// }
}
public function showRegistrationForm()
{
return view('auth.register');
}
public function register(Request $request)
{
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
\Auth::loginUsingId($user->id);
return $this->registered($request, $user)
?: response()->json(['url' => $this->redirectTo, 'message' => 'ثبت نام شما با موفقیت انجام شد.']);
}
/**
* Get the guard to be used during registration.
*
* @return \Illuminate\Contracts\Auth\StatefulGuard
*/
protected function guard()
{
return Auth::guard();
}
protected function registered(Request $request, $user)
{
//
}
}