diff --git a/Layout/default/Contractconfiggroup/Index.php b/Layout/default/Contractconfiggroup/Index.php index f965c1658..4ffbe24c3 100644 --- a/Layout/default/Contractconfiggroup/Index.php +++ b/Layout/default/Contractconfiggroup/Index.php @@ -116,8 +116,8 @@
- - multiple) ? "checked='checked'" : ""?> /> + +
diff --git a/application/Contractconfig/hooks/Voicenumberblock.php b/application/Contractconfig/hooks/Voicenumberblock.php index 4f96a6fc1..ee55f2c0f 100644 --- a/application/Contractconfig/hooks/Voicenumberblock.php +++ b/application/Contractconfig/hooks/Voicenumberblock.php @@ -2,6 +2,9 @@ require_once __DIR__."/Contractconfig_Hook.php"; +/* + * Contractconfig Hooks for + */ class Contractconfig_Hook_Voicenumberblock extends Contractconfig_Hook { protected $required_product_attributes = ["needs_number"]; private $voip_routing; @@ -30,17 +33,23 @@ class Contractconfig_Hook_Voicenumberblock extends Contractconfig_Hook { // get voip routing for number + $this->getVoipRouting(); + + } + + private function getVoipRouting() { if(is_array($this->contract->configvalues)) { // look in contract config if(array_key_exists("voip_routing",$this->contract->configvalues) && $this->contract->configvalues['voip_routing']->value->string) { $this->voip_routing = $this->contract->configvalues['voip_routing']->value->string; } else { // else take first value (default) - $typedata = $this->voip_routing = $this->contract->configvalues['voip_routing']->getTypedataArray(); + $typedata = $this->contract->configvalues['voip_routing']->getTypedataArray(); $this->voip_routing = $typedata[0]; } } + return $this->voip_routing; } public function beforeSave() { @@ -49,6 +58,8 @@ class Contractconfig_Hook_Voicenumberblock extends Contractconfig_Hook { public function afterSave() { $this->checkNewNumbers(); + // load voip routing again, in case it changed with the same config update + $this->getVoipRouting(); if(count($this->errors["voicenumberblock_voicenumber"])) { return false;