- Restructure valueset pages from single master page to separate views: - Library Valuesets (read-only lookup browser) - Result Valuesets (CRUD for valueset table) - Valueset Definitions (CRUD for valuesetdef table) - Add new ResultValueSetController for result-specific valueset operations - Move views from master/valuesets to result/valueset and result/valuesetdef - Convert valueset sidebar to collapsible nested menu - Add search filtering to ValueSetController index - Remove deprecated welcome_message.php and old nested CRUD view - Update routes to organize under /result namespace Summary of changes: This commit reorganizes the valueset management UI by splitting the monolithic master/valuesets page into three distinct sections, adds a new controller for result-related valueset operations, and restructures the sidebar navigation for better usability.
201 lines
4.8 KiB
PHP
201 lines
4.8 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
/**
|
|
* PagesController - Serves view pages
|
|
*
|
|
* This controller only returns views. No business logic.
|
|
* All data is fetched via API calls from the frontend.
|
|
*/
|
|
class PagesController extends BaseController
|
|
{
|
|
/**
|
|
* Dashboard page
|
|
*/
|
|
public function dashboard()
|
|
{
|
|
return view('v2/dashboard/dashboard_index', [
|
|
'pageTitle' => 'Dashboard',
|
|
'activePage' => 'dashboard'
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Patients page
|
|
*/
|
|
public function patients()
|
|
{
|
|
return view('v2/patients/patients_index', [
|
|
'pageTitle' => 'Patients',
|
|
'activePage' => 'patients'
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Lab Requests page
|
|
*/
|
|
public function requests()
|
|
{
|
|
return view('v2/requests/requests_index', [
|
|
'pageTitle' => 'Lab Requests',
|
|
'activePage' => 'requests'
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Settings page
|
|
*/
|
|
public function settings()
|
|
{
|
|
return view('v2/settings/settings_index', [
|
|
'pageTitle' => 'Settings',
|
|
'activePage' => 'settings'
|
|
]);
|
|
}
|
|
|
|
// ========================================
|
|
// Master Data - Organization
|
|
// ========================================
|
|
|
|
/**
|
|
* Master Data - Organization Accounts
|
|
*/
|
|
public function masterOrgAccounts()
|
|
{
|
|
return view('v2/master/organization/accounts_index', [
|
|
'pageTitle' => 'Organization Accounts',
|
|
'activePage' => 'master-org-accounts'
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Master Data - Organization Sites
|
|
*/
|
|
public function masterOrgSites()
|
|
{
|
|
return view('v2/master/organization/sites_index', [
|
|
'pageTitle' => 'Organization Sites',
|
|
'activePage' => 'master-org-sites'
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Master Data - Organization Disciplines
|
|
*/
|
|
public function masterOrgDisciplines()
|
|
{
|
|
return view('v2/master/organization/disciplines_index', [
|
|
'pageTitle' => 'Disciplines',
|
|
'activePage' => 'master-org-disciplines'
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Master Data - Organization Departments
|
|
*/
|
|
public function masterOrgDepartments()
|
|
{
|
|
return view('v2/master/organization/departments_index', [
|
|
'pageTitle' => 'Departments',
|
|
'activePage' => 'master-org-departments'
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Master Data - Organization Workstations
|
|
*/
|
|
public function masterOrgWorkstations()
|
|
{
|
|
return view('v2/master/organization/workstations_index', [
|
|
'pageTitle' => 'Workstations',
|
|
'activePage' => 'master-org-workstations'
|
|
]);
|
|
}
|
|
|
|
// ========================================
|
|
// Master Data - Specimen
|
|
// ========================================
|
|
|
|
/**
|
|
* Master Data - Specimen Containers
|
|
*/
|
|
public function masterSpecimenContainers()
|
|
{
|
|
return view('v2/master/specimen/containers_index', [
|
|
'pageTitle' => 'Container Definitions',
|
|
'activePage' => 'master-specimen-containers'
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Master Data - Specimen Preparations
|
|
*/
|
|
public function masterSpecimenPreparations()
|
|
{
|
|
return view('v2/master/specimen/preparations_index', [
|
|
'pageTitle' => 'Specimen Preparations',
|
|
'activePage' => 'master-specimen-preparations'
|
|
]);
|
|
}
|
|
|
|
// ========================================
|
|
// Master Data - Tests & ValueSets
|
|
// ========================================
|
|
|
|
/**
|
|
* Master Data - Lab Tests
|
|
*/
|
|
public function masterTests()
|
|
{
|
|
return view('v2/master/tests/tests_index', [
|
|
'pageTitle' => 'Lab Tests',
|
|
'activePage' => 'master-tests'
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Value Set Library - Read-only
|
|
*/
|
|
public function valueSetLibrary()
|
|
{
|
|
return view('v2/valueset/valueset_index', [
|
|
'pageTitle' => 'Value Set Library',
|
|
'activePage' => 'valueset-library'
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Result Valueset - CRUD for valueset table
|
|
*/
|
|
public function resultValueSet()
|
|
{
|
|
return view('v2/result/valueset/resultvalueset_index', [
|
|
'pageTitle' => 'Result Valuesets',
|
|
'activePage' => 'result-valueset'
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Result Valueset Definition - CRUD for valuesetdef table
|
|
*/
|
|
public function resultValueSetDef()
|
|
{
|
|
return view('v2/result/valuesetdef/resultvaluesetdef_index', [
|
|
'pageTitle' => 'Valueset Definitions',
|
|
'activePage' => 'result-valuesetdef'
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Login page
|
|
*/
|
|
public function login()
|
|
{
|
|
return view('v2/auth/login', [
|
|
'pageTitle' => 'Login',
|
|
'activePage' => ''
|
|
]);
|
|
}
|
|
}
|