/** * Overriding to implement the dedupe action for new contacts */ public function actionSearchForDuplicateModels($attribute, $value) { assert('is_string($attribute)'); assert('is_string($value)'); $model = new Contact(); $depudeRules = DedupeRulesFactory::createRulesByModel($model); $viewClassName = $depudeRules->getDedupeViewClassName(); $searchResult = $depudeRules->searchForDuplicateModels($attribute, $value); if ($searchResult != null) { $summaryView = new $viewClassName($this->id, $this->module->id, $model, $searchResult['matchedModels']); $content = $summaryView->render(); $message = $searchResult['message']; echo CJSON::encode(array('content' => $content, 'message' => $message)); } }
protected function resolveElementDuringFormLayoutRender(&$element) { if ($dedupeRules = DedupeRulesFactory::createRulesByModel($this->model)) { $dedupeRules->registerScriptForEditAndDetailsView($element); } parent::resolveElementDuringFormLayoutRender($element); }