Add Corporate Specialities
This commit is contained in:
@@ -19,8 +19,17 @@ class CorporateFormulariumController extends Controller
|
||||
public function index(Request $request, $corporate_id)
|
||||
{
|
||||
$formulariums = Formularium::query()
|
||||
->filter($request->all())
|
||||
->with(['corporateFormulariums' => function ($query) use ($corporate_id) {
|
||||
->filter($request->all());
|
||||
if (!empty($request->status) && $request->status == 'inactive') {
|
||||
$formulariums = $formulariums->whereDoesntHave('corporateFormulariums');
|
||||
} else if (!empty($request->status) && $request->status == 'all') {
|
||||
|
||||
} else {
|
||||
$formulariums->whereHas('corporateFormulariums', function ($corporateFormularium) use ($corporate_id){
|
||||
$corporateFormularium->where('corporate_id', $corporate_id);
|
||||
});
|
||||
}
|
||||
$formulariums = $formulariums->with(['corporateFormulariums' => function ($query) use ($corporate_id) {
|
||||
$query->where('corporate_id', $corporate_id);
|
||||
}])
|
||||
->withCount('items')
|
||||
|
||||
@@ -3,8 +3,11 @@
|
||||
namespace Modules\Internal\Http\Controllers\Api;
|
||||
|
||||
use App\Helpers\Helper;
|
||||
use App\Models\Corporate;
|
||||
use App\Models\CorporateService;
|
||||
use App\Models\CorporateServiceConfig;
|
||||
use App\Models\CorporateServiceSpeciality;
|
||||
use App\Models\Speciality;
|
||||
use Illuminate\Contracts\Support\Renderable;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
@@ -18,7 +21,7 @@ class CorporateServiceController extends Controller
|
||||
*/
|
||||
public function index(Request $request, $corporate_id)
|
||||
{
|
||||
$services = CorporateService::with('configs', 'service')->where('corporate_id', $corporate_id)->paginate();
|
||||
$services = CorporateService::with('configs', 'service')->where('corporate_id', $corporate_id)->filter($request->toArray())->paginate();
|
||||
|
||||
return Helper::paginateResources(CorporateServiceConfigResource::collection($services));
|
||||
}
|
||||
@@ -91,4 +94,69 @@ class CorporateServiceController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
public function corporateServiceIndex($corporate_id, $service_code)
|
||||
{
|
||||
$corporate = Corporate::findOrFail($corporate_id);
|
||||
$corporateService = CorporateService::query()
|
||||
->where('corporate_id', $corporate_id)
|
||||
->where('service_code', $service_code)
|
||||
->with(['configs', 'service',
|
||||
'specialities' => function($speciality) {
|
||||
$speciality->where('status', 'active');
|
||||
},
|
||||
'specialities.speciality'])
|
||||
->first();
|
||||
// $service = CorporateServiceConfigResource::make($corporateService);
|
||||
$specialities = Speciality::get();
|
||||
|
||||
return response()->json(
|
||||
[
|
||||
'corporate' => $corporate,
|
||||
'service' => CorporateServiceConfigResource::make($corporateService),
|
||||
'specialities' => $specialities,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
public function corporateServiceUpdate(Request $request, $corporate_id, $service_code)
|
||||
{
|
||||
// $corporate = Corporate::findOrFail($corporate_id);
|
||||
$corporateService = CorporateService::query()
|
||||
->where('corporate_id', $corporate_id)
|
||||
->where('service_code', $service_code)
|
||||
// ->with('configs', 'service')
|
||||
->first();
|
||||
$corporateService->fill([
|
||||
'status' => $request->status == 'active' ? 'active' : 'inactive'
|
||||
]);
|
||||
$corporateService->save();
|
||||
|
||||
return response()->json($corporateService);
|
||||
}
|
||||
|
||||
public function corporateServiceSpecialityUpdate(Request $request, $corporate_id, $service_code)
|
||||
{
|
||||
$corporateService = CorporateService::query()
|
||||
->where('corporate_id', $corporate_id)
|
||||
->where('service_code', $service_code)
|
||||
->first();
|
||||
CorporateServiceSpeciality::updateOrCreate([
|
||||
'corporate_service_id' => $corporateService->id,
|
||||
'speciality_id' => $request->speciality_id,
|
||||
], [
|
||||
'corporate_service_id' => $corporateService->id,
|
||||
'speciality_id' => $request->speciality_id,
|
||||
'status' => $request->status
|
||||
]);
|
||||
|
||||
$selected_specialities = CorporateServiceSpeciality::query()
|
||||
->where('corporate_service_id', $corporateService->id)
|
||||
->where('status', 'active')
|
||||
->with('speciality')
|
||||
->get()
|
||||
->pluck('speciality.name', 'speciality.id');
|
||||
|
||||
return response()->json($selected_specialities);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user