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)]);
} }
} }
+45 -8
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]);
} }
//------------------------------------------------------- //-------------------------------------------------------
@@ -110,6 +117,10 @@ 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);
}
} }
+15 -7
View File
@@ -338,14 +338,15 @@ 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'));
}
} }
}