Fix issue #47 - Defaults toggling with repeated saves
This commit is contained in:
steve-lad 2021-12-30 15:27:25 +01:00 committed by GitHub
commit 8d412ce4ae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 23 additions and 33 deletions

View file

@ -1,7 +1,7 @@
<module>
<rawname>sccp_manager</rawname>
<name>SCCP Manager</name>
<version>14.3.0.20</version>
<version>14.3.0.21</version>
<type>setup</type>
<category>SCCP Connectivity</category>
<publisher>Steve Lad, Alex GP</publisher>

View file

@ -45,11 +45,10 @@ class formcreate
</div>
<?php
if (!empty($sccp_defaults[$shortId]['systemdefault'])) {
// There is a system default, so add button to customise or reset
// the closing } is after the code to include the button at line ~498
//-- Start include of defaults button --
echo "<div class=col-md-3>";
// There is a system default, so add button to customise or reset
//-- Start include of defaults button --
echo "<div class=col-md-3>";
}
// Can have multiple inputs for a field which are displayed with a separator
foreach ($child->xpath('input') as $value) {
@ -57,16 +56,11 @@ class formcreate
$res_name = $npref . $res_n;
//if (!empty($fvalues[$res_n])) {
$value->value = $fvalues[$res_n]['data'];
if (!empty($fvalues[$res_n]['data'])) {
if (!empty($sccp_defaults[$res_n]['systemdefault']) && ($sccp_defaults[$res_n]['systemdefault'] != $fvalues[$res_n]['data'])) {
$usingSysDefaults = false;
}
if (!empty($fvalues[$res_n]['data'])) {
if ($sccp_defaults[$res_n]['systemdefault'] != $fvalues[$res_n]['data']) {
$usingSysDefaults = false;
}
//}
// Default to chan-sccp defaults, not xml defaults.
//if (empty($value->value)) {
//$value->value = $sccp_defaults[$res_n]['systemdefault'];
//}
}
if (empty($value->type)) {
$value->type = 'text';
}
@ -83,6 +77,8 @@ class formcreate
echo $value->value;
$i ++;
}
if (!empty($sccp_defaults[$shortId]['systemdefault'])) {
?>
</div>
<div class="col-md-4">
@ -123,8 +119,8 @@ class formcreate
<!-- Finish include of defaults button -->
<?php
// Close the conditional include of the defaults button opened at line ~425
}
// Close the conditional include of the defaults button opened at line ~47
}
?>
<div class="col-md-9">
@ -146,7 +142,8 @@ class formcreate
if (empty($value->value)) {
$value->value = $sccp_defaults[$res_n]['systemdefault'];
}
if (!$usingSysDefaults) {
if ($usingSysDefaults) {
// using system defaults
$value->value = $sccp_defaults[$res_n]['systemdefault'];
}
if (empty($value->type)) {
@ -373,17 +370,15 @@ class formcreate
$res_v = (string)$fvalues[$res_n]['data'];
}
}
if ($sccp_defaults[$res_n]['systemdefault'] != $res_v) {
$usingSysDefaults = false;
}
if (!empty($sccp_defaults[$res_n]['systemdefault'])) {
// There is a system default, so add button to customise or reset
// the closing } is after the code to include the button at line ~498
// the closing } is after the code to include the button at line ~438
//-- Start include of defaults button --
echo "<div class='col-md-3'>";
if (!empty($sccp_defaults[$res_n]['systemdefault']) && ($sccp_defaults[$res_n]['systemdefault'] != $res_v)) {
$usingSysDefaults = false;
}
// Output current value
echo $res_v;
?>
@ -427,7 +422,7 @@ class formcreate
</div>
<!-- Finish include of defaults button -->
<?php
// Close the conditional include of the defaults button opened at line ~425
// Close the conditional include of the defaults button opened at line ~385
}
?>
@ -437,7 +432,7 @@ class formcreate
$i = 0;
$opt_hide = '';
if (!$usingSysDefaults) {
if ($usingSysDefaults) {
$res_v = $sccp_defaults[$res_n]['systemdefault'];
}
if (!empty($child->option_hide)) {
@ -449,8 +444,6 @@ class formcreate
}
$opt_hide .= ' data-vshow="'.$child->option_show.'" data-clshow="'.$child->option_show['class'].'" ';
}
foreach ($child->xpath('button') as $value) {
$opt_disabled = '';
if (in_array($value, $disabledButtons )) {
@ -458,11 +451,11 @@ class formcreate
}
$val_check = strtolower((string)$value[@value]);
if ($val_check == strtolower($res_v)) {
$val_check = " checked";
$val_check = "checked";
} else {
if ($val_check == '' || $val_check == 'none' ) {
if (strtolower($res_v) == 'none' || $res_v == '' ) {
$val_check = " checked";
$val_check = "checked";
} else {$val_check = "";}
} else {$val_check = "";}
}

View file

@ -505,7 +505,6 @@ trait ajaxHelper {
}
}
}
$extSettings = $this->extconfigs->updateTftpStructure(array_merge($this->sccpvalues, $save_settings));
$save_settings = array_merge($save_settings, $extSettings);
if (!empty($save_settings)) {

View file

@ -48,7 +48,6 @@ if ($h_show==1) {
<?php
}
foreach ($items as $child) {
$disabledButtons = array();
if (empty($child->help)) {

View file

@ -25,7 +25,6 @@
$def_val_device = $this->getTableDefaults('sccpdevice');
echo $this->showGroup('sccp_general', 1);
echo $this->showGroup('sccp_dev_time_s', 1);
echo $this->showGroup('sccp_net', 1);
echo $this->showGroup('sccp_lang', 1);
echo $this->showGroup('sccp_extpath_config', 1);