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 Illuminate\Http\Request;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
use Packages\Auth\SendsPasswordResetEmails;
class ForgotPasswordController extends Controller
{
@@ -4,12 +4,9 @@ namespace App\Http\Controllers\Api\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Password;
use Illuminate\Foundation\Auth\ResetsPasswords;
class ResetPasswordController extends Controller
{
use ResetsPasswords;
public function __construct()
{
@@ -24,32 +21,25 @@ class ResetPasswordController extends Controller
*/
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
// will update the password on an actual user model and persist it to the
// database. Otherwise we will parse the error and return the response.
$response = $this->broker()->reset(
$this->credentials($request), function ($user, $password) {
$this->resetPassword($user, $password);
if (auth('api')->check()) {
$user = auth('api')->user();
$user->password = Hash::make($request->password);
$user->save();
return \MessageResponse::success('Success Change Password');
}
);
// 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);
return \MessageResponse::success('You Are Not Login');
}
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);
}
protected function sendResetFailedResponse(Request $request, $response)
{
return response()->json(['status' => 401, 'email' => trans($response)]);
$request->validate(['password' => 'required|confirmed|min:8',]);
}
}
+46 -9
View File
@@ -38,6 +38,7 @@ class TestResultController extends Controller
public function store(StoreTestResultRequest $request)
{
// dd($request->all());
try {
$return_value = \DB::transaction(function () use ($request) {
@@ -46,7 +47,7 @@ class TestResultController extends Controller
'autoclave_id' => $request->autoclave_id,
'test_type_id' => $request->test_type_id,
'result' => $request->result,
'verified' => 0,
'verified' => 'NotVerified',
];
$TestResultObj = TestResult::create($TestResult);
$TestResultInfo = $request->all();
@@ -57,11 +58,17 @@ class TestResultController extends Controller
foreach ($Inputs as $Input) {
if ($Input['type'] != 'Form') {
$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]);
}
else {
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]);
}
//-------------------------------------------------------
@@ -107,9 +114,13 @@ class TestResultController extends Controller
//
}
//Todo:: pass Inputs
//Todo:: pass Inputs
public function edit(TestResult $TestResult)
{
foreach ($TestResult->input_values as $key => $value) {
$input = $value->input;
$TestResult[$input->name] = $value->value;
}
return \MessageResponse::data($TestResult);
}
@@ -120,7 +131,7 @@ class TestResultController extends Controller
'autoclave_id' => $request->autoclave_id,
'test_type_id' => $request->test_type_id,
'result' => $request->result,
'verified' => 0,
'verified' => 'NotVerified',
];
$TestResult->update($TestResultData);
$TestResultInfo = $request->all();
@@ -130,20 +141,46 @@ class TestResultController extends Controller
foreach ($Inputs as $Input) {
if ($Input['type'] != 'Form') {
$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 {
foreach ($Input->children as $InputChild) {
$Value = $TestResultInfo[$Input->name][$InputChild->name];
$InputValueObj = InputValue::where('test_result_id',$TestResult)->update(['test_result_id' => $TestResultObj->id , 'input_id' => $InputChild->id , 'value' => $Value]);
$Value = $TestResultInfo[$InputChild->name];
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'));
}
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();
}
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) {
$query->select('id', 'title','input_id');
}],
['children' => function ($query) {
$query->select('id','name','type','size','parent_id');
}],
['children.options' => function ($query) {
$query->select('id', 'title','input_id');
},
'children' => function ($query) {
$query->select('id', 'name', 'type', 'size', 'parent_id', 'test_type_id');
},
'children.options' => function ($query) {
$query->select('id', 'title', 'input_id');
}]
)->whereNull('parent_id')->where('test_type_id',$testType->id)->get();
@@ -360,8 +361,15 @@ class TestTypeController extends Controller
$testType = TestType::pluck('name');
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␍
␍
␍
␍
namespace App\Http\Controllers;␍
␍
␍
␍
use Illuminate\Http\Request;␍
␍
use App\Http\Requests\StoreUserRequest;␍
use App\MedicalCenter;␍
use App\User;␍
␍
␍
␍
class UserController extends Controller␍
␍
{␍
␍
public function index()␍
{␍
$Users = User::with(['medical_center', 'roles'])->paginate(10);␍
return \MessageResponse::data($Users);␍
}␍
␍
public function store(StoreUserRequest $request)␍
{␍
$UserData = [␍
'name' => $request->name ,␍
'cell_number' => $request->cell_number ,␍
'medical_center_id' => $request->medical_center_id ,␍
'status' => 'PreRegister',␍
'verified' => 1,␍
'password' => bcrypt($request->password),␍
];␍
$User = User::create($UserData);␍
return \MessageResponse::success(trans('messages.success'));␍
}␍
␍
public function edit(User $User)␍
{␍
return \MessageResponse::data($User);␍
}␍
␍
public function update(StoreUserRequest $request, User $User)␍
{␍
$UserData = [␍
'name' => $request->name ,␍
'cell_number' => $request->cell_number ,␍
'medical_center_id' => $request->medical_center_id ,␍
'status' => 'PreRegister',␍
'verified' => 1,␍
'password' => bcrypt($request->password),␍
];␍
$User->update($UserData);␍
return \MessageResponse::success(trans('messages.success'));␍
}␍
␍
public function destroy(User $User)␍
{␍
if (auth('api')->user()->can('delete', $User)) {␍
return \MessageResponse::error(trans('messages.failed'));␍
}␍
$User->delete();␍
return \MessageResponse::success(trans('messages.success'));␍
}␍
␍
␍
␍
public function getByMedicalCenter(MedicalCenter $MedicalCenter)␍
{␍
$MedicalCenter = $MedicalCenter->load(['users' => function ($query) {␍
return $query->select(['id', 'medical_center_id', 'name', 'cell_number', 'status']);␍
}, 'users.roles']);␍
return \MessageResponse::data($MedicalCenter);␍
}␍
␍
␍
␍
public function changeStatus(User $User)␍
{␍
if ($User->status == 'Active') {␍
$User->status = 'Suspended';␍
} else {␍
$User->status = 'Active';␍
}␍
$User->save();␍
return \MessageResponse::data($User);␍
}␍
␍
␍
␍
public function changeRole(User $User, Request $request)␍
{␍
$User->syncRoles($request->roles);␍
return \MessageResponse::data($User);␍
}␍
␍
public function updateInfo(Request $request)␍
{␍
auth('api')->user()->update($request->all());␍
return \MessageResponse::success(trans('messages.success'));␍
}␍
␍
public function getInfo()␍
{␍
return \MessageResponse::data([ 'user' => auth('api')->user(), 'roles' => auth('api')->user()->getRoleNames() ]);␍
}␍
␍
}␍
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests\StoreUserRequest;
use App\MedicalCenter;
use App\User;
class UserController extends Controller
{
public function index()
{
$Users = User::with(['medical_center', 'roles'])->paginate(10);
return \MessageResponse::data($Users);
}
public function store(StoreUserRequest $request)
{
$UserData = [
'name' => $request->name ,
'cell_number' => $request->cell_number ,
'medical_center_id' => $request->medical_center_id ,
'status' => 'PreRegister',
'verified' => 1,
'password' => bcrypt($request->password),
];
$User = User::create($UserData);
return \MessageResponse::success(trans('messages.success'));
}
public function edit(User $User)
{
return \MessageResponse::data($User);
}
public function update(StoreUserRequest $request, User $User)
{
$UserData = [
'name' => $request->name ,
'cell_number' => $request->cell_number ,
'medical_center_id' => $request->medical_center_id ,
'status' => 'PreRegister',
'verified' => 1,
'password' => bcrypt($request->password),
];
$User->update($UserData);
return \MessageResponse::success(trans('messages.success'));
}
public function destroy(User $User)
{
if (auth('api')->user()->can('delete', $User)) {
return \MessageResponse::error(trans('messages.failed'));
}
$User->delete();
return \MessageResponse::success(trans('messages.success'));
}
public function getByMedicalCenter(MedicalCenter $MedicalCenter)
{
$MedicalCenter = $MedicalCenter->load(['users' => function ($query) {
return $query->select(['id', 'medical_center_id', 'name', 'cell_number', 'status']);
}, 'users.roles']);
return \MessageResponse::data($MedicalCenter);
}
public function changeStatus(User $User)
{
if ($User->status == 'Active') {
$User->status = 'Suspended';
} else {
$User->status = 'Active';
}
$User->save();
return \MessageResponse::data($User);
}
public function changeRole(User $User, Request $request)
{
$User->syncRoles($request->roles);
return \MessageResponse::data($User);
}
public function updateInfo(Request $request)
{
auth('api')->user()->update($request->all());
return \MessageResponse::success(trans('messages.success'));
}
public function getInfo()
{
return \MessageResponse::data([ 'user' => auth('api')->user(), 'roles' => auth('api')->user()->getRoleNames() ]);
}
}