fix: dedicated save button for categories + preserve all extra DB keys
- Replace onchange+AJAX with explicit button '💾 Guardar categorías' that shows alert on success/error for clear feedback - Get company_id from DOM (not COMPANY_ID JS const from another script block) - Main form save now preserves welcome_menu and per_type from DB even if POST is truncated by max_input_vars - Restore welcome_menu='welcome_msg' in DB (was wiped by a previous save) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
ae5b7266d4
commit
601169525e
+15
-4
@@ -557,10 +557,21 @@ $routes = [
|
||||
$approvalWebhook = trim($_POST['approval_webhook'] ?? '');
|
||||
if ($approvalWebhook !== '') $config['approval_webhook'] = $approvalWebhook;
|
||||
$welcomeMenu = trim($_POST['welcome_menu'] ?? '');
|
||||
if ($welcomeMenu !== '') {
|
||||
$config['welcome_menu'] = $welcomeMenu;
|
||||
} elseif (!empty($existingConfig['welcome_menu'])) {
|
||||
$config['welcome_menu'] = $existingConfig['welcome_menu'];
|
||||
if ($welcomeMenu !== '') $config['welcome_menu'] = $welcomeMenu;
|
||||
|
||||
// Preserve any DB keys the form doesn't explicitly manage (welcome_menu, per_type, etc.)
|
||||
$formManagedKeys = ['commands', 'menus', 'flows', 'ai_prompt', 'ai_model', 'ai_temperature',
|
||||
'ai_provider', 'openai_api_key', 'gemini_api_key', 'gemini_model',
|
||||
'ai_for_media', 'greeting', 'fallback', 'approval_webhook',
|
||||
'ignore_prefixes', 'welcome_menu', 'per_type'];
|
||||
foreach ($existingConfig as $k => $v) {
|
||||
if (!in_array($k, $formManagedKeys, true) && !isset($config[$k])) {
|
||||
$config[$k] = $v;
|
||||
}
|
||||
// Also preserve managed keys that POST didn't provide (e.g. truncated by max_input_vars)
|
||||
if (in_array($k, ['welcome_menu', 'per_type'], true) && !isset($config[$k])) {
|
||||
$config[$k] = $v;
|
||||
}
|
||||
}
|
||||
|
||||
CompanyRepository::save(['id' => $companyId, 'config_json' => json_encode($config, JSON_UNESCAPED_UNICODE)]);
|
||||
|
||||
Reference in New Issue
Block a user