This commit is contained in:
saeid
2019-05-06 21:48:46 +04:30
parent 5d8500dafd
commit f6d7277ddc
14 changed files with 268 additions and 168 deletions
+62 -17
View File
@@ -38,7 +38,6 @@ class TestResultController extends Controller
public function store(StoreTestResultRequest $request)
{
// dd($request->all());
try {
$return_value = \DB::transaction(function () use ($request) {
@@ -52,24 +51,39 @@ class TestResultController extends Controller
$TestResultObj = TestResult::create($TestResult);
$TestResultInfo = $request->all();
$Inputs = Input::with('options','children','children.children')->where('test_type_id',$request->test_type_id)->get();
$Inputs = Input::with('options','children','children.children')->whereNull('parent_id')->where('test_type_id',$request->test_type_id)->get();
////////////////////////////////////////////////////////////////////////////////////--2
foreach ($Inputs as $Input) {
if ($Input['type'] != 'Form') {
$Value = $TestResultInfo[$Input->name];
if ($Input['type'] == 'Checkbox') {
$Value = json_encode($Value);
if ($Input['type'] == 'Checkbox' || $Input['type'] == 'Select' ) {
foreach ($Value as $Option) {
// dd($Option);
$InputValueObj = InputValue::create(['test_result_id' => $TestResultObj->id, 'input_id' => $Input->id, 'option_id' => $Option]);
}
}
$InputValueObj = InputValue::create(['test_result_id' => $TestResultObj->id , 'input_id' => $Input->id , 'value' => $Value]);
else {
$InputValueObj = InputValue::create(['test_result_id' => $TestResultObj->id, 'input_id' => $Input->id, 'value' => $Value]);
}
}
else {
foreach ($Input->children as $InputChild) {
$Value = $TestResultInfo[$InputChild->name];
if ($InputChild['type'] == 'Checkbox') {
$Value = json_encode($Value);
if ($InputChild['type'] == 'Checkbox' || $InputChild['type'] == 'Select') {
// dd($InputChild['type']);
foreach ($Value as $Option) {
$InputValueObj = InputValue::create(['test_result_id' => $TestResultObj->id, 'input_id' => $InputChild->id, 'option_id' => $Option]);
}
}
$InputValueObj = InputValue::create(['test_result_id' => $TestResultObj->id , 'input_id' => $InputChild->id , 'value' => $Value]);
else {
$InputValueObj = InputValue::create(['test_result_id' => $TestResultObj->id, 'input_id' => $InputChild->id, 'value' => $Value]);
}
}
//-------------------------------------------------------
// $this->CreateChildFormValue2($Input,$TestResultObj,$TestResultInfo);
@@ -99,6 +113,13 @@ class TestResultController extends Controller
}
}
// if ($request->hasFile('image')) {
// $image = $request->file('image');
// $input['imagename'] = time().$image->getClientOriginalExtension();
// $path = '/Uploads'.'/'.$TestResultObj->id;
// Storage::disk('public')->makeDirectory($TestResultObj->id);
// $image->move($path, $input['imagename']);
// }
});
@@ -109,9 +130,19 @@ class TestResultController extends Controller
}
public function show($id)
public function show(TestResult $TestResult)
{
//
foreach ($TestResult->input_values as $key => $value) {
$input = $value->input;
if ($input->type == 'Checkbox' || $input->type == 'Select') {
$input_options = InputValue::where('test_result_id', $TestResult->id)->where('input_id', $input->id)->get()->pluck('option_id')->toArray();
$TestResult[$input->name] = $input_options;
}
else {
$TestResult[$input->name] = $value->value;
}
}
return \MessageResponse::data($TestResult);
}
//Todo:: pass Inputs
@@ -119,7 +150,13 @@ class TestResultController extends Controller
{
foreach ($TestResult->input_values as $key => $value) {
$input = $value->input;
$TestResult[$input->name] = $value->value;
if ($input->type == 'Checkbox' || $input->type == 'Select') {
$input_options = InputValue::where('test_result_id', $TestResult->id)->where('input_id', $input->id)->get()->pluck('option_id')->toArray();
$TestResult[$input->name] = $input_options;
}
else {
$TestResult[$input->name] = $value->value;
}
}
return \MessageResponse::data($TestResult);
}
@@ -136,24 +173,32 @@ class TestResultController extends Controller
$TestResult->update($TestResultData);
$TestResultInfo = $request->all();
$Inputs = Input::with('options','children','children.children')->where('test_type_id',$request->test_type_id)->get();
$Inputs = Input::with('options','children','children.children')->whereNull('parent_id')->where('test_type_id',$request->test_type_id)->get();
foreach ($Inputs as $Input) {
if ($Input['type'] != 'Form') {
$Value = $TestResultInfo[$Input->name];
if ($Input['type'] == 'Checkbox') {
$Value = json_encode($Value);
if ($Input['type'] == 'Checkbox' || $Input['type'] == 'Select' ) {
foreach ($Value as $Option) {
// $InputValueObj = InputValue::create(['test_result_id' => $TestResultObj->id, 'input_id' => $Input->id, 'option_id' => $Option]);
}
}
else {
$InputValueObj = InputValue::where('test_result_id',$TestResult->id)->where('input_id', $Input['id'])->update(['value' => $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[$InputChild->name];
if ($InputChild['type'] == 'Checkbox') {
if ($InputChild['type'] == 'Checkbox' || $InputChild['type'] == 'Select') {
$Value = json_encode($Value);
}
$InputValueObj = InputValue::where('test_result_id',$TestResult->id)->where('input_id', $Input['id'])->update(['value' => $Value]);
else {
$InputValueObj = InputValue::where('test_result_id',$TestResult->id)->where('input_id', $InputChild['id'])->update(['value' => $Value]);
}
}
}
}
+4 -4
View File
@@ -48,7 +48,6 @@ class TestTypeController extends Controller
}
//---------------------------------------------Option
return $InputObj;
}
public function CreateChildForm($Input,$TestType,$InputObj)
@@ -364,9 +363,10 @@ class TestTypeController extends Controller
public function destroy(TestType $TestType)
{
// if (auth('api')->user()->can('delete', $TestType)) {
// return \MessageResponse::error(trans('messages.failed'));
// }
// dd($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() ]);␍
}␍
␍
}␍