Next Edit

This commit is contained in:
saeid
2019-04-27 22:43:47 +04:30
parent 08670507f6
commit 4068a15686
24 changed files with 3582 additions and 3336 deletions
@@ -22,7 +22,7 @@ class MedicalCenterController extends Controller
public function store(StoreMedicalCenterRequest $request)
{
MedicalCenter::create($request->all());
$MedicalCenter = MedicalCenter::create($request->all());
return response()->json(trans('messages.success'));
}
+94 -8
View File
@@ -16,6 +16,12 @@ class TestTypeController extends Controller
return \MessageResponse::data($TestTypes);
}
public function listNames()
{
$TestTypes = TestType::pluck('name');
return \MessageResponse::data($TestTypes);
}
public function create()
{
//
@@ -49,6 +55,7 @@ class TestTypeController extends Controller
return $InputObj;
}
public function CreateChildForm($Input,$TestType,$InputObj)
{
if (isset($Input['children'])) {
@@ -60,6 +67,7 @@ class TestTypeController extends Controller
}
}
}
public function store(StoreTestTypeRequest $request)
{
try {
@@ -96,12 +104,13 @@ class TestTypeController extends Controller
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////// Edit TestType /////////////////////////
/////////////////////// Edit TestType ///////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
public function CreateInputInfo($Input)
{
$Options = [];
//------------------------------------------------------Input
$InputInfo = [
'id' => $Input->id,
@@ -157,6 +166,7 @@ class TestTypeController extends Controller
// }
public function CreateChildFormInfo($Input,$InputInfo)
{
$Children = [];
foreach ($Input['children'] as $InputChild) {
$ChildInfo = $this->CreateInputInfo($InputChild);
@@ -211,37 +221,73 @@ class TestTypeController extends Controller
'test_type_id' => $TestType->id,
'parent_id' => $ParentID
];
$InputObj = Input::where('id',$Input['id'])->update($InputData);
Input::where('id',$Input['id'])->update($InputData);
$InputObj = Input::findOrFail($Input['id']);
//---------------------------------------------Input
//---------------------------------------------Option
if ($Input['type'] == 'Checkbox' || $Input['type'] == 'Select') {
//**************************
$DeletedOptionIDs = $InputObj->options->pluck('id')->toArray();
//**************************
foreach ($Input['options'] as $Option) {
if ($Option['id'] == 0) {//--new
$Option = Option::create(['title' => $Option['title'] , 'input_id' => $Input['id'] ]);
}
else {
//**************************
if(in_array($Option['id'],$DeletedOptionIDs)){
foreach ($DeletedOptionIDs as $index=>$DeletedOptionID){
if($DeletedOptionID == $Option['id']){
unset($DeletedOptionIDs[$index]);
}
}
}
//****************************
$Option = Option::where('id', $Option['id'])->update(['title' => $Option['title'] ]);
}
}
//**************************
foreach ($DeletedOptionIDs as $DeletedOptionID){
$DeletedOption = Option::findOrFail($DeletedOptionID);
$DeletedOption->delete();
}
//**************************
}
//---------------------------------------------Option
// dd($Input);
return $Input;
}
public function UpdateChildForm($Input,$TestType,$InputObj)
{
//**********************************
$InputObject = Input::findOrFail($InputObj['id']);//$InputObj['id'] OR $Input['id']???????
// dd($InputObject);
$DeletedChildIDs = $InputObject->children->pluck('id')->toArray();
//**********************************
if (isset($Input['children'])) {
foreach ($Input['children'] as $InputChild) {
if ($InputChild['id'] == 0) {//--newChild
$InputChildObj = $this->CreateInput($InputChild,$TestType,$InputObj->id);
$InputChildObj = $this->CreateInput($InputChild,$TestType,$InputObj['id']);
if (isset($InputChild['children'])) {
$this->CreateChildForm($InputChild,$TestType,$InputChildObj);
}
}
else {
// dd($InputObj);
//******************************
if(in_array($InputChild['id'],$DeletedChildIDs)){
foreach ($DeletedChildIDs as $index=>$DeletedChildID){
if($DeletedChildID == $InputChild['id']){
unset($DeletedChildIDs[$index]);
}
}
}
//******************************
$InputChildObj = $this->UpdateInput($InputChild,$TestType,$InputObj['id']);
if (isset($InputChild['children'])) {
$this->UpdateChildForm($InputChild,$TestType,$InputChildObj);
@@ -249,34 +295,74 @@ class TestTypeController extends Controller
}
}
//*****************************
foreach ($DeletedChildIDs as $DeletedChildID){
$DeletedChild = Input::findOrFail($DeletedChildID);
$DeletedChild->options()->delete();
foreach ($DeletedChild->children as $DeletedChild1) {
$DeletedChild1->options()->delete();
$DeletedChild1->delete();
}
// $DeletedChild->children()->delete();
$DeletedChild->delete();
}
//*****************************
}
}
public function update(StoreTestTypeRequest $request, TestType $TestType)
{
// dd($request->all());
$TestTypeData = [
'name' => $request['name'],
'unique_code' => $request['unique_code'],
];
$TestType->update($TestTypeData);
$TestTypeInfo = $request['info'];
$DeletedInputIDs = $TestType->inputs->where('parent_id',null)->pluck('id')->toArray();
foreach ($TestTypeInfo as $Input) {
if ($Input['id'] == 0) {//--new
$InputObj = $this->CreateInput($Input,$TestType);
}
else {
//**************************
if(in_array($Input['id'],$DeletedInputIDs)){
foreach ($DeletedInputIDs as $index=>$DeletedInputID){
if($DeletedInputID == $Input['id']){
unset($DeletedInputIDs[$index]);
}
}
}
//****************************
$InputObj = $this->UpdateInput($Input,$TestType);
// dd($InputObj);
}
if ($Input['type'] == 'Form') {
$this->UpdateChildForm($Input,$TestType,$InputObj);
}
}
//******************************
foreach ($DeletedInputIDs as $DeletedInputID){
$DeletedInput = Input::findOrFail($DeletedInputID);
$DeletedInput->options()->delete();
foreach ($DeletedInput->children as $DeletedInput1) {
$DeletedInput1->options()->delete();
$DeletedInput1->delete();
}
// $DeletedInput->children()->delete();
$DeletedInput->delete();
}
//******************************
return \MessageResponse::success(null,trans('messages.update'));
}
/////////////////////////////////////////////////////////////////////////////////////
public function GetInputs($id)
{
$Inputs = Input::select('id','name','type','size','parent_id')->with('options','children','children.options')->whereNull('parent_id')->where('test_type_id',$id)->get();
return \MessageResponse::data($Inputs);
}
public function destroy($id)
{
//
+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() ]);␍
}␍
␍
}␍