IVR Menu: Implement Enabled toggle control on Options.
This commit is contained in:
parent
b393089769
commit
8f2e1b0cd1
|
|
@ -478,6 +478,13 @@
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
|
$apps[$x]['db'][$y]['fields'][$z]['type'] = "text";
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
|
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
|
||||||
$z++;
|
$z++;
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['name'] = "ivr_menu_option_enabled";
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = "boolean";
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = "text";
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "text";
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['toggle'] = ['true','false'];
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
|
||||||
|
$z++;
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = "insert_date";
|
$apps[$x]['db'][$y]['fields'][$z]['name'] = "insert_date";
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = 'timestamptz';
|
$apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = 'timestamptz';
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = 'date';
|
$apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = 'date';
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,14 @@ if ($domains_processed == 1) {
|
||||||
$ivr_menus = $database->select($sql, null, 'all');
|
$ivr_menus = $database->select($sql, null, 'all');
|
||||||
unset($sql);
|
unset($sql);
|
||||||
|
|
||||||
|
//enable existing ivr menu options by default
|
||||||
|
$sql = "update v_ivr_menu_options ";
|
||||||
|
$sql .= "set ivr_menu_option_enabled = true ";
|
||||||
|
$sql .= "where ivr_menu_option_enabled is null; ";
|
||||||
|
$database = new database;
|
||||||
|
$database->execute($sql, null);
|
||||||
|
unset($sql);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -326,6 +326,7 @@
|
||||||
}
|
}
|
||||||
$array['ivr_menus'][0]['ivr_menu_options'][$y]["ivr_menu_option_order"] = $row["ivr_menu_option_order"];
|
$array['ivr_menus'][0]['ivr_menu_options'][$y]["ivr_menu_option_order"] = $row["ivr_menu_option_order"];
|
||||||
$array['ivr_menus'][0]['ivr_menu_options'][$y]["ivr_menu_option_description"] = $row["ivr_menu_option_description"];
|
$array['ivr_menus'][0]['ivr_menu_options'][$y]["ivr_menu_option_description"] = $row["ivr_menu_option_description"];
|
||||||
|
$array['ivr_menus'][0]["ivr_menu_options"][$y]["ivr_menu_option_enabled"] = $row['ivr_menu_option_enabled'] ?: 'false';
|
||||||
$y++;
|
$y++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -540,6 +541,7 @@
|
||||||
$ivr_menu_options[$id]['ivr_menu_option_param'] = '';
|
$ivr_menu_options[$id]['ivr_menu_option_param'] = '';
|
||||||
$ivr_menu_options[$id]['ivr_menu_option_order'] = '';
|
$ivr_menu_options[$id]['ivr_menu_option_order'] = '';
|
||||||
$ivr_menu_options[$id]['ivr_menu_option_description'] = '';
|
$ivr_menu_options[$id]['ivr_menu_option_description'] = '';
|
||||||
|
$ivr_menu_options[$id]['ivr_menu_option_enabled'] = '';
|
||||||
$id++;
|
$id++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1031,6 +1033,7 @@
|
||||||
echo " <td class='vtable'>".$text['label-destination']."</td>\n";
|
echo " <td class='vtable'>".$text['label-destination']."</td>\n";
|
||||||
echo " <td class='vtable'>".$text['label-order']."</td>\n";
|
echo " <td class='vtable'>".$text['label-order']."</td>\n";
|
||||||
echo " <td class='vtable'>".$text['label-description']."</td>\n";
|
echo " <td class='vtable'>".$text['label-description']."</td>\n";
|
||||||
|
echo " <td class='vtable'>".$text['label-enabled']."</td>\n";
|
||||||
if ($show_option_delete && permission_exists('ivr_menu_option_delete')) {
|
if ($show_option_delete && permission_exists('ivr_menu_option_delete')) {
|
||||||
echo " <td class='vtable edit_delete_checkbox_all' onmouseover=\"swap_display('delete_label_options', 'delete_toggle_options');\" onmouseout=\"swap_display('delete_label_options', 'delete_toggle_options');\">\n";
|
echo " <td class='vtable edit_delete_checkbox_all' onmouseover=\"swap_display('delete_label_options', 'delete_toggle_options');\" onmouseout=\"swap_display('delete_label_options', 'delete_toggle_options');\">\n";
|
||||||
echo " <span id='delete_label_options'>".$text['label-delete']."</span>\n";
|
echo " <span id='delete_label_options'>".$text['label-delete']."</span>\n";
|
||||||
|
|
@ -1048,7 +1051,15 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<td class='formfld' align='center'>\n";
|
echo "<td class='formfld' align='center'>\n";
|
||||||
echo " <input class='formfld' style='width: 50px; text-align: center;' type='text' name='ivr_menu_options[".$x."][ivr_menu_option_digits]' maxlength='255' value='".escape($field['ivr_menu_option_digits'])."'>\n";
|
if (!is_uuid($field['ivr_menu_option_uuid'])) { // new record
|
||||||
|
if (substr($_SESSION['theme']['input_toggle_style']['text'], 0, 6) == 'switch') {
|
||||||
|
$onkeyup = "onkeyup=\"document.getElementById('ivr_menu_options_".$x."_ivr_menu_option_enabled').checked = (this.value != '' ? true : false);\""; // switch
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$onkeyup = "onkeyup=\"document.getElementById('ivr_menu_options_".$x."_ivr_menu_option_enabled').value = (this.value != '' ? true : false);\""; // select
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo " <input class='formfld' style='width: 50px; text-align: center;' type='text' name='ivr_menu_options[".$x."][ivr_menu_option_digits]' maxlength='255' value='".escape($field['ivr_menu_option_digits'])."' ".$onkeyup.">\n";
|
||||||
echo "</td>\n";
|
echo "</td>\n";
|
||||||
|
|
||||||
echo "<td class='formfld' align='left' nowrap='nowrap'>\n";
|
echo "<td class='formfld' align='left' nowrap='nowrap'>\n";
|
||||||
|
|
@ -1081,7 +1092,22 @@
|
||||||
echo "<td class='formfld' align='left'>\n";
|
echo "<td class='formfld' align='left'>\n";
|
||||||
echo " <input class='formfld' style='width:100px' type='text' name='ivr_menu_options[".$x."][ivr_menu_option_description]' maxlength='255' value=\"".escape($field['ivr_menu_option_description'])."\">\n";
|
echo " <input class='formfld' style='width:100px' type='text' name='ivr_menu_options[".$x."][ivr_menu_option_description]' maxlength='255' value=\"".escape($field['ivr_menu_option_description'])."\">\n";
|
||||||
echo "</td>\n";
|
echo "</td>\n";
|
||||||
|
echo "<td class='formfld'>\n";
|
||||||
|
// switch
|
||||||
|
if (substr($_SESSION['theme']['input_toggle_style']['text'], 0, 6) == 'switch') {
|
||||||
|
echo " <label class='switch'>\n";
|
||||||
|
echo " <input type='checkbox' id='ivr_menu_options_".$x."_ivr_menu_option_enabled' name='ivr_menu_options[".$x."][ivr_menu_option_enabled]' value='true' ".($field['ivr_menu_option_enabled'] == 'true' ? "checked='checked'" : null).">\n";
|
||||||
|
echo " <span class='slider'></span>\n";
|
||||||
|
echo " </label>\n";
|
||||||
|
}
|
||||||
|
// select
|
||||||
|
else {
|
||||||
|
echo " <select class='formfld' id='ivr_menu_options_".$x."_ivr_menu_option_enabled' name='ivr_menu_options[".$x."][ivr_menu_option_enabled]'>\n";
|
||||||
|
echo " <option value='false'>".$text['option-false']."</option>\n";
|
||||||
|
echo " <option value='true' ".($field['ivr_menu_option_enabled'] == 'true' ? "selected='selected'" : null).">".$text['option-true']."</option>\n";
|
||||||
|
echo " </select>\n";
|
||||||
|
}
|
||||||
|
echo "</td>\n";
|
||||||
if ($show_option_delete && permission_exists('ivr_menu_option_delete')) {
|
if ($show_option_delete && permission_exists('ivr_menu_option_delete')) {
|
||||||
if (is_uuid($field['ivr_menu_option_uuid'])) {
|
if (is_uuid($field['ivr_menu_option_uuid'])) {
|
||||||
echo "<td class='vtable' style='text-align: center; padding-bottom: 3px;'>";
|
echo "<td class='vtable' style='text-align: center; padding-bottom: 3px;'>";
|
||||||
|
|
|
||||||
|
|
@ -266,7 +266,7 @@
|
||||||
table.insert(xml, [[ >]]);
|
table.insert(xml, [[ >]]);
|
||||||
|
|
||||||
--get the ivr menu options
|
--get the ivr menu options
|
||||||
local sql = [[SELECT * FROM v_ivr_menu_options WHERE ivr_menu_uuid = :ivr_menu_uuid ORDER BY ivr_menu_option_order asc ]];
|
local sql = [[ SELECT * FROM v_ivr_menu_options WHERE ivr_menu_uuid = :ivr_menu_uuid AND ivr_menu_option_enabled = 'true' ORDER BY ivr_menu_option_order asc ]];
|
||||||
local params = {ivr_menu_uuid = ivr_menu_uuid};
|
local params = {ivr_menu_uuid = ivr_menu_uuid};
|
||||||
if (debug["sql"]) then
|
if (debug["sql"]) then
|
||||||
freeswitch.consoleLog("notice", "[ivr_menu] SQL: " .. sql .. "; params:" .. json.encode(params) .. "\n");
|
freeswitch.consoleLog("notice", "[ivr_menu] SQL: " .. sql .. "; params:" .. json.encode(params) .. "\n");
|
||||||
|
|
|
||||||
|
|
@ -332,9 +332,17 @@
|
||||||
end
|
end
|
||||||
|
|
||||||
--get the ivr menu options
|
--get the ivr menu options
|
||||||
local sql = "SELECT * FROM v_ivr_menu_options "
|
local sql = [[
|
||||||
.. "WHERE ivr_menu_uuid = :ivr_menu_uuid "
|
SELECT
|
||||||
.. "ORDER BY ivr_menu_option_order asc ";
|
*
|
||||||
|
FROM
|
||||||
|
v_ivr_menu_options
|
||||||
|
WHERE
|
||||||
|
ivr_menu_uuid = :ivr_menu_uuid
|
||||||
|
AND ivr_menu_option_enabled = 'true'
|
||||||
|
ORDER BY
|
||||||
|
ivr_menu_option_order asc
|
||||||
|
]];
|
||||||
local params = {ivr_menu_uuid = ivr_menu_uuid};
|
local params = {ivr_menu_uuid = ivr_menu_uuid};
|
||||||
if (debug["sql"]) then
|
if (debug["sql"]) then
|
||||||
log.notice("SQL: " .. sql .. "; params: " .. json.encode(params));
|
log.notice("SQL: " .. sql .. "; params: " .. json.encode(params));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue