Forgot Password Back end

This commit is contained in:
saeid_01
2019-05-02 23:33:35 +04:30
parent cdc311c37d
commit 8da5402aa3
5 changed files with 190 additions and 155 deletions
@@ -4,7 +4,7 @@ namespace App\Http\Controllers\Api\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails; use Packages\Auth\SendsPasswordResetEmails;
class ForgotPasswordController extends Controller class ForgotPasswordController extends Controller
{ {
@@ -4,12 +4,9 @@ namespace App\Http\Controllers\Api\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Password;
use Illuminate\Foundation\Auth\ResetsPasswords;
class ResetPasswordController extends Controller class ResetPasswordController extends Controller
{ {
use ResetsPasswords;
public function __construct() public function __construct()
{ {
@@ -24,32 +21,25 @@ class ResetPasswordController extends Controller
*/ */
public function reset(Request $request) public function reset(Request $request)
{ {
$this->validate($request, $this->rules(), $this->validationErrorMessages()); $this->validatePassword($request);
// Here we will attempt to reset the user's password. If it is successful we if (auth('api')->check()) {
// will update the password on an actual user model and persist it to the $user = auth('api')->user();
// database. Otherwise we will parse the error and return the response. $user->password = Hash::make($request->password);
$response = $this->broker()->reset( $user->save();
$this->credentials($request), function ($user, $password) { return \MessageResponse::success('Success Change Password');
$this->resetPassword($user, $password);
} }
); return \MessageResponse::success('You Are Not Login');
// If the password was successfully reset, we will redirect the user back to
// the application's home authenticated view. If there is an error we can
// redirect them back to where they came from with their error message.
return $response == Password::PASSWORD_RESET
? $this->sendResetResponse($request)
: $this->sendResetFailedResponse($request, $response);
} }
protected function sendResetResponse($request) /**
* Validate the email for the given request.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function validatePassword(Request $request)
{ {
return (new LoginController())->login($request); $request->validate(['password' => 'required|confirmed|min:8',]);
}
protected function sendResetFailedResponse(Request $request, $response)
{
return response()->json(['status' => 401, 'email' => trans($response)]);
} }
} }
+46 -9
View File
@@ -38,6 +38,7 @@ class TestResultController extends Controller
public function store(StoreTestResultRequest $request) public function store(StoreTestResultRequest $request)
{ {
// dd($request->all());
try { try {
$return_value = \DB::transaction(function () use ($request) { $return_value = \DB::transaction(function () use ($request) {
@@ -46,7 +47,7 @@ class TestResultController extends Controller
'autoclave_id' => $request->autoclave_id, 'autoclave_id' => $request->autoclave_id,
'test_type_id' => $request->test_type_id, 'test_type_id' => $request->test_type_id,
'result' => $request->result, 'result' => $request->result,
'verified' => 0, 'verified' => 'NotVerified',
]; ];
$TestResultObj = TestResult::create($TestResult); $TestResultObj = TestResult::create($TestResult);
$TestResultInfo = $request->all(); $TestResultInfo = $request->all();
@@ -57,11 +58,17 @@ class TestResultController extends Controller
foreach ($Inputs as $Input) { foreach ($Inputs as $Input) {
if ($Input['type'] != 'Form') { if ($Input['type'] != 'Form') {
$Value = $TestResultInfo[$Input->name]; $Value = $TestResultInfo[$Input->name];
if ($Input['type'] == 'Checkbox') {
$Value = json_encode($Value);
}
$InputValueObj = InputValue::create(['test_result_id' => $TestResultObj->id , 'input_id' => $Input->id , 'value' => $Value]); $InputValueObj = InputValue::create(['test_result_id' => $TestResultObj->id , 'input_id' => $Input->id , 'value' => $Value]);
} }
else { else {
foreach ($Input->children as $InputChild) { foreach ($Input->children as $InputChild) {
$Value = $TestResultInfo[$Input->name][$InputChild->name]; $Value = $TestResultInfo[$InputChild->name];
if ($InputChild['type'] == 'Checkbox') {
$Value = json_encode($Value);
}
$InputValueObj = InputValue::create(['test_result_id' => $TestResultObj->id , 'input_id' => $InputChild->id , 'value' => $Value]); $InputValueObj = InputValue::create(['test_result_id' => $TestResultObj->id , 'input_id' => $InputChild->id , 'value' => $Value]);
} }
//------------------------------------------------------- //-------------------------------------------------------
@@ -107,9 +114,13 @@ class TestResultController extends Controller
// //
} }
//Todo:: pass Inputs //Todo:: pass Inputs
public function edit(TestResult $TestResult) public function edit(TestResult $TestResult)
{ {
foreach ($TestResult->input_values as $key => $value) {
$input = $value->input;
$TestResult[$input->name] = $value->value;
}
return \MessageResponse::data($TestResult); return \MessageResponse::data($TestResult);
} }
@@ -120,7 +131,7 @@ class TestResultController extends Controller
'autoclave_id' => $request->autoclave_id, 'autoclave_id' => $request->autoclave_id,
'test_type_id' => $request->test_type_id, 'test_type_id' => $request->test_type_id,
'result' => $request->result, 'result' => $request->result,
'verified' => 0, 'verified' => 'NotVerified',
]; ];
$TestResult->update($TestResultData); $TestResult->update($TestResultData);
$TestResultInfo = $request->all(); $TestResultInfo = $request->all();
@@ -130,20 +141,46 @@ class TestResultController extends Controller
foreach ($Inputs as $Input) { foreach ($Inputs as $Input) {
if ($Input['type'] != 'Form') { if ($Input['type'] != 'Form') {
$Value = $TestResultInfo[$Input->name]; $Value = $TestResultInfo[$Input->name];
$InputValueObj = InputValue::where('test_result_id',$TestResult)->update(['test_result_id' => $TestResultObj->id , 'input_id' => $Input->id , 'value' => $Value]); if ($Input['type'] == 'Checkbox') {
$Value = json_encode($Value);
}
$InputValueObj = InputValue::where('test_result_id',$TestResult->id)->where('input_id', $Input['id'])->update(['value' => $Value]);
} }
else { else {
foreach ($Input->children as $InputChild) { foreach ($Input->children as $InputChild) {
$Value = $TestResultInfo[$Input->name][$InputChild->name]; $Value = $TestResultInfo[$InputChild->name];
$InputValueObj = InputValue::where('test_result_id',$TestResult)->update(['test_result_id' => $TestResultObj->id , 'input_id' => $InputChild->id , 'value' => $Value]); if ($InputChild['type'] == 'Checkbox') {
$Value = json_encode($Value);
}
$InputValueObj = InputValue::where('test_result_id',$TestResult->id)->where('input_id', $Input['id'])->update(['value' => $Value]);
} }
} }
} }
return \MessageResponse::success(null,trans('messages.update')); return \MessageResponse::success(null,trans('messages.update'));
} }
public function destroy($id) public function destroy(TestResult $TestResult)
{ {
// if (auth('api')->user()->can('delete', $TestResult)) {
return \MessageResponse::error(trans('messages.failed'));
}
$TestResult->delete();
return \MessageResponse::success(null, trans('messages.failed'));
} }
public function verifyTestResult(TestResult $TestResult)
{
if (auth('api')->user()->can('verifyTestResult', $TestResult)) {
return \MessageResponse::error(trans('messages.failed'));
}
if ($TestResult->verified == 'Verified') {
$TestResult->verified = 'NotVerified';
} else {
$TestResult->verified = 'Verified';
}
$TestResult->save();
return \MessageResponse::data($TestResult);
}
} }
+17 -9
View File
@@ -338,15 +338,16 @@ class TestTypeController extends Controller
$testType = TestType::where('name', $request->name)->orWhere('unique_code', $request->unique_code)->select('id', 'name', 'unique_code')->first(); $testType = TestType::where('name', $request->name)->orWhere('unique_code', $request->unique_code)->select('id', 'name', 'unique_code')->first();
} }
if (isset($testType) && $testType) { if (isset($testType) && $testType) {
$inputs = Input::select('id','name','type','size','parent_id')->with(
$inputs = Input::select('id', 'name', 'type', 'size', 'parent_id')->with(
['options' => function ($query) { ['options' => function ($query) {
$query->select('id', 'title','input_id'); $query->select('id', 'title','input_id');
}], },
['children' => function ($query) { 'children' => function ($query) {
$query->select('id','name','type','size','parent_id'); $query->select('id', 'name', 'type', 'size', 'parent_id', 'test_type_id');
}], },
['children.options' => function ($query) { 'children.options' => function ($query) {
$query->select('id', 'title','input_id'); $query->select('id', 'title', 'input_id');
}] }]
)->whereNull('parent_id')->where('test_type_id',$testType->id)->get(); )->whereNull('parent_id')->where('test_type_id',$testType->id)->get();
@@ -360,8 +361,15 @@ class TestTypeController extends Controller
$testType = TestType::pluck('name'); $testType = TestType::pluck('name');
return \MessageResponse::data($testType); return \MessageResponse::data($testType);
} }
public function destroy($id)
{
public function destroy(TestType $TestType)
{
// if (auth('api')->user()->can('delete', $TestType)) {
// return \MessageResponse::error(trans('messages.failed'));
// }
// dd($TestType);
$TestType->delete();
return \MessageResponse::success(trans('messages.success'));
} }
} }
+111 -111
View File
@@ -1,111 +1,111 @@
<?php␍ <?php
␍
␍
␍
namespace App\Http\Controllers;␍ namespace App\Http\Controllers;
␍
␍
␍
use Illuminate\Http\Request;␍ use Illuminate\Http\Request;
␍
use App\Http\Requests\StoreUserRequest;␍ use App\Http\Requests\StoreUserRequest;
use App\MedicalCenter;␍ use App\MedicalCenter;
use App\User;␍ use App\User;
␍
␍
␍
class UserController extends Controller␍ class UserController extends Controller
␍
{␍ {
␍
public function index()␍ public function index()
{␍ {
$Users = User::with(['medical_center', 'roles'])->paginate(10);␍ $Users = User::with(['medical_center', 'roles'])->paginate(10);
return \MessageResponse::data($Users);␍ return \MessageResponse::data($Users);
}␍ }
␍
public function store(StoreUserRequest $request)␍ public function store(StoreUserRequest $request)
{␍ {
$UserData = [␍ $UserData = [
'name' => $request->name ,␍ 'name' => $request->name ,
'cell_number' => $request->cell_number ,␍ 'cell_number' => $request->cell_number ,
'medical_center_id' => $request->medical_center_id ,␍ 'medical_center_id' => $request->medical_center_id ,
'status' => 'PreRegister',␍ 'status' => 'PreRegister',
'verified' => 1,␍ 'verified' => 1,
'password' => bcrypt($request->password),␍ 'password' => bcrypt($request->password),
];␍ ];
$User = User::create($UserData);␍ $User = User::create($UserData);
return \MessageResponse::success(trans('messages.success'));␍ return \MessageResponse::success(trans('messages.success'));
}␍ }
␍
public function edit(User $User)␍ public function edit(User $User)
{␍ {
return \MessageResponse::data($User);␍ return \MessageResponse::data($User);
}␍ }
␍
public function update(StoreUserRequest $request, User $User)␍ public function update(StoreUserRequest $request, User $User)
{␍ {
$UserData = [␍ $UserData = [
'name' => $request->name ,␍ 'name' => $request->name ,
'cell_number' => $request->cell_number ,␍ 'cell_number' => $request->cell_number ,
'medical_center_id' => $request->medical_center_id ,␍ 'medical_center_id' => $request->medical_center_id ,
'status' => 'PreRegister',␍ 'status' => 'PreRegister',
'verified' => 1,␍ 'verified' => 1,
'password' => bcrypt($request->password),␍ 'password' => bcrypt($request->password),
];␍ ];
$User->update($UserData);␍ $User->update($UserData);
return \MessageResponse::success(trans('messages.success'));␍ return \MessageResponse::success(trans('messages.success'));
}␍ }
␍
public function destroy(User $User)␍ public function destroy(User $User)
{␍ {
if (auth('api')->user()->can('delete', $User)) {␍ if (auth('api')->user()->can('delete', $User)) {
return \MessageResponse::error(trans('messages.failed'));␍ return \MessageResponse::error(trans('messages.failed'));
}␍ }
$User->delete();␍ $User->delete();
return \MessageResponse::success(trans('messages.success'));␍ return \MessageResponse::success(trans('messages.success'));
}␍ }
␍
␍
␍
public function getByMedicalCenter(MedicalCenter $MedicalCenter)␍ public function getByMedicalCenter(MedicalCenter $MedicalCenter)
{␍ {
$MedicalCenter = $MedicalCenter->load(['users' => function ($query) {␍ $MedicalCenter = $MedicalCenter->load(['users' => function ($query) {
return $query->select(['id', 'medical_center_id', 'name', 'cell_number', 'status']);␍ return $query->select(['id', 'medical_center_id', 'name', 'cell_number', 'status']);
}, 'users.roles']);␍ }, 'users.roles']);
return \MessageResponse::data($MedicalCenter);␍ return \MessageResponse::data($MedicalCenter);
}␍ }
␍
␍
␍
public function changeStatus(User $User)␍ public function changeStatus(User $User)
{␍ {
if ($User->status == 'Active') {␍ if ($User->status == 'Active') {
$User->status = 'Suspended';␍ $User->status = 'Suspended';
} else {␍ } else {
$User->status = 'Active';␍ $User->status = 'Active';
}␍ }
$User->save();␍ $User->save();
return \MessageResponse::data($User);␍ return \MessageResponse::data($User);
}␍ }
␍
␍
␍
public function changeRole(User $User, Request $request)␍ public function changeRole(User $User, Request $request)
{␍ {
$User->syncRoles($request->roles);␍ $User->syncRoles($request->roles);
return \MessageResponse::data($User);␍ return \MessageResponse::data($User);
}␍ }
␍
public function updateInfo(Request $request)␍ public function updateInfo(Request $request)
{␍ {
auth('api')->user()->update($request->all());␍ auth('api')->user()->update($request->all());
return \MessageResponse::success(trans('messages.success'));␍ return \MessageResponse::success(trans('messages.success'));
}␍ }
␍
public function getInfo()␍ public function getInfo()
{␍ {
return \MessageResponse::data([ 'user' => auth('api')->user(), 'roles' => auth('api')->user()->getRoleNames() ]);␍ return \MessageResponse::data([ 'user' => auth('api')->user(), 'roles' => auth('api')->user()->getRoleNames() ]);
}␍ }
␍
}␍ }