Voicenumbers can now exist without blocks
This commit is contained in:
@@ -68,9 +68,12 @@ class Contractconfig_Hook_Voicenumberblock extends Contractconfig_Hook {
|
||||
foreach($this->create_numbers as $voicenumberblock_id => $numbers) {
|
||||
foreach($numbers as $number){
|
||||
$voicenumber = VoicenumberModel::getFirst(['number' => $number]);
|
||||
|
||||
|
||||
if(!$voicenumber) {
|
||||
$this->log->debug("creating voicenumber $number in block ".$voicenumberblock->prefix);
|
||||
if($voicenumberblock_id == "none") {
|
||||
$voicenumberblock_id = null;
|
||||
}
|
||||
$this->log->debug("creating voicenumber $number in block $voicenumberblock_id");
|
||||
$voicenumber = VoicenumberModel::create([
|
||||
'voicenumberblock_id' => $voicenumberblock_id,
|
||||
"contract_id" => $this->contract->id,
|
||||
@@ -124,42 +127,47 @@ class Contractconfig_Hook_Voicenumberblock extends Contractconfig_Hook {
|
||||
|
||||
// check if Voicenumber exists
|
||||
$voicenumberblock = Voicenumberblock::findBlock($number);
|
||||
if(!$voicenumberblock) {
|
||||
$this->errors["voicenumberblock_voicenumber"][] = "Ungültige Rufnummer $number: Kein aktiver Rufnummernblock gefunden";
|
||||
continue;
|
||||
}
|
||||
if(!$voicenumberblock) { // XXX: Create without block!
|
||||
//$this->errors["voicenumberblock_voicenumber"][] = "Ungültige Rufnummer $number: Kein aktiver Rufnummernblock gefunden";
|
||||
//continue;
|
||||
if(!array_key_exists("none", $this->create_numbers)) {
|
||||
$this->create_numbers["none"] = [];
|
||||
}
|
||||
$this->create_numbers["none"][] = $number;
|
||||
|
||||
} else {
|
||||
if(!$voicenumberblock->isNumberInBlock($number)) {
|
||||
$this->errors["voicenumberblock_voicenumber"][] = "Ungültige Rufnummer $number: Bitte Rufnummernlänge kontrollieren! Block erlaubt ".$voicenumberblock->first ." bis ".$voicenumberblock->last;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!$voicenumberblock->isNumberInBlock($number)) {
|
||||
$this->errors["voicenumberblock_voicenumber"][] = "Ungültige Rufnummer $number: Bitte Rufnummernlänge kontrollieren! Block erlaubt ".$voicenumberblock->first ." bis ".$voicenumberblock->last;
|
||||
continue;
|
||||
}
|
||||
|
||||
$voicenumber = VoicenumberModel::getFirst(['number' => $number]);
|
||||
if($voicenumber) {
|
||||
// check if number belongs to another contract
|
||||
if($voicenumber->contract_id) {
|
||||
if($voicenumber->contract_id == $this->contract->id) {
|
||||
// belongs to our contract already => no changes needed
|
||||
$voicenumber = VoicenumberModel::getFirst(['number' => $number]);
|
||||
if($voicenumber) {
|
||||
// check if number belongs to another contract
|
||||
if($voicenumber->contract_id) {
|
||||
if($voicenumber->contract_id == $this->contract->id) {
|
||||
// belongs to our contract already => no changes needed
|
||||
continue;
|
||||
}
|
||||
$this->errors["voicenumberblock_voicenumber"][] = "Ungültige Rufnummer $number: Rufnummer gehört zu bestehendem contract ".$voicenumber->contract_id;
|
||||
continue;
|
||||
}
|
||||
$this->errors["voicenumberblock_voicenumber"][] = "Ungültige Rufnummer $number: Rufnummer gehört zu bestehendem contract ".$voicenumber->contract_id;
|
||||
continue;
|
||||
// check if number is locked
|
||||
if($voicenumber->disabled) {
|
||||
$this->errors["voicenumberblock_voicenumber"][] = "Ungültige Rufnummer $number: Rufnummer ist gesperrt ".$voicenumber->contract_id;
|
||||
continue;
|
||||
}
|
||||
// check if number was ported out
|
||||
if($voicenumber->ported_out) {
|
||||
$this->errors["voicenumberblock_voicenumber"][] = "Ungültige Rufnummer $number: Rufnummer wurde rausportiert ".$voicenumber->contract_id;
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
if(!array_key_exists($voicenumberblock->id, $this->create_numbers)) {
|
||||
$this->create_numbers[$voicenumberblock->id] = [];
|
||||
}
|
||||
$this->create_numbers[$voicenumberblock->id][] = $number;
|
||||
}
|
||||
// check if number is locked
|
||||
if($voicenumber->disabled) {
|
||||
$this->errors["voicenumberblock_voicenumber"][] = "Ungültige Rufnummer $number: Rufnummer ist gesperrt ".$voicenumber->contract_id;
|
||||
continue;
|
||||
}
|
||||
// check if number was ported out
|
||||
if($voicenumber->ported_out) {
|
||||
$this->errors["voicenumberblock_voicenumber"][] = "Ungültige Rufnummer $number: Rufnummer wurde rausportiert ".$voicenumber->contract_id;
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
if(!array_key_exists($voicenumberblock->id, $this->create_numbers)) {
|
||||
$this->create_numbers[$voicenumberblock->id] = [];
|
||||
}
|
||||
$this->create_numbers[$voicenumberblock->id][] = $number;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user