Replace Maternity with Women's Health (OB/GYN) and configurable service lines.
Deploy Ladill Care / deploy (push) Successful in 26s

Keeps Fertility as a separate specialty, adds OB/GYN and fertility staff roles, and migrates live org settings from maternity → womens_health.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-20 09:48:19 +00:00
co-authored by Cursor
parent 938f351ede
commit 56a663a777
33 changed files with 708 additions and 189 deletions
@@ -47,6 +47,7 @@ class SettingsModulesController extends Controller
CarePricingService $pricing,
): View {
$this->authorizeAbility($request, 'settings.view');
$module = $modules->normalizeKey($module);
$definition = $modules->definition($module);
abort_unless($definition, 404);
@@ -69,6 +70,8 @@ class SettingsModulesController extends Controller
'moduleKey' => $module,
'definition' => $definition,
'services' => $services,
'serviceLines' => $modules->serviceLines($module),
'enabledServiceLines' => $modules->enabledServiceLines($organization, $module),
'enabled' => $modules->isEnabled($organization, $module),
'canManage' => $canManage && $canUse,
'canUseSpecialtyModules' => $canUse,
@@ -77,6 +80,36 @@ class SettingsModulesController extends Controller
]);
}
public function updateServiceLines(
Request $request,
string $module,
SpecialtyModuleService $modules,
): RedirectResponse {
$this->authorizeAbility($request, 'settings.manage');
$organization = $this->organization($request);
abort_unless($modules->definition($module), 404);
abort_unless($modules->canManage($organization), 403);
abort_unless($modules->serviceLines($module) !== [], 404);
$lines = $modules->serviceLines($module);
$rules = ['lines' => ['required', 'array']];
foreach (array_keys($lines) as $key) {
$rules["lines.{$key}"] = ['nullable', 'boolean'];
}
$validated = $request->validate($rules);
$desired = [];
foreach (array_keys($lines) as $key) {
$desired[$key] = (bool) ($validated['lines'][$key] ?? false);
}
$modules->syncServiceLines($organization, $module, $desired);
return redirect()
->route('care.settings.modules.show', $module)
->with('success', 'Service lines saved.');
}
public function updateServices(
Request $request,
string $module,