diff --git a/src/Common/Messages/ru.php b/src/Common/Messages/ru.php index e2b752216..3019a6416 100644 --- a/src/Common/Messages/ru.php +++ b/src/Common/Messages/ru.php @@ -223,7 +223,8 @@ 'gs_StoreAllPossibleRecords' => '∞', 'gs_DisableAllModules' => 'Отключить маркетплейс', 'gs_ErrorSaveSettings' => 'Ошибка сохранения настроек', - 'mo_ThisNumberNotUniqueForExtensionsModels' => 'Указанный внутренний номер уже используется', + 'mo_ThisNumberNotUniqueForExtensionsModels' => 'Указанный номер уже используется для - %record%', + 'mo_ParkingExtension'=>'Слот для парковки %number%', 'pr_AddSIPProvider' => 'Подключить SIP', 'pr_AddIAXProvider' => 'Подключить IAX', 'pr_QualifyInstructionsIAX' => 'При включение этой опции Asterisk будет отправлять SIP Options пакеты. Это необходимо для поддержки NAT туннелирования на вашем маршрутизаторе.', diff --git a/src/Common/Models/Extensions.php b/src/Common/Models/Extensions.php index 20dbb4153..6aaa32d30 100644 --- a/src/Common/Models/Extensions.php +++ b/src/Common/Models/Extensions.php @@ -538,12 +538,24 @@ private function updateRelationshipsNumbers(): void */ public function validation(): bool { + + $existingRecord = self::findFirst( + [ + 'conditions' => 'number = :number:', + 'bind' => ['number' => $this->number], + ] + ); + $currentRepresent = 'unknown'; + if ($existingRecord!==null) { + $currentRepresent = $existingRecord->getRepresent(); + } + $validation = new Validation(); $validation->add( 'number', new UniquenessValidator( [ - 'message' => $this->t('mo_ThisNumberNotUniqueForExtensionsModels'), + 'message' => $this->t('mo_ThisNumberNotUniqueForExtensionsModels', ['record'=>$currentRepresent]), ] ) ); diff --git a/src/Common/Models/ModelsBase.php b/src/Common/Models/ModelsBase.php index 01a3e0257..f773a170f 100644 --- a/src/Common/Models/ModelsBase.php +++ b/src/Common/Models/ModelsBase.php @@ -418,6 +418,9 @@ public function getRepresent(bool $needLink = false): string $name = ' ' . $this->t('mo_SystemExten_' . $this->number); break; + case Extensions::TYPE_PARKING: + $name = $this->t('mo_ParkingExtension',['number'=> $this->number]); + break; case Extensions::TYPE_EXTERNAL: case Extensions::TYPE_SIP: default: