/** * @param string $modelClassName * @param string $modelAttributeName */ public function __construct($modelClassName, $modelAttributeName) { parent::__construct($modelClassName, $modelAttributeName); assert('is_subclass_of($modelClassName, "Item") || $modelClassName == "Item"'); assert('$modelClassName::isRelation($modelAttributeName)'); $relationModelClassName = $modelClassName::getRelationModelClassName($modelAttributeName); $defaultModuleClassName = $relationModelClassName::getModuleClassName(); $this->moduleIdOfDefaultModel = $defaultModuleClassName::getDirectoryName(); }
/** * Override to add an extra rule for the defaultModelStringifiedName. This will ensure if there is an error * the message shows up properly in the user interface, since otherwise with the rule being on the * defaultModelId, it would not show up because it is a hidden input. * @see DefaultModelAttributeMappingRuleForm::rules() */ public function rules() { if ($this->getScenario() == 'extraColumn') { $requiredRuleIsApplicable = true; } else { $requiredRuleIsApplicable = false; } $defaultValueApplicableModelAttributeRules = ModelAttributeRulesToDefaultValueMappingRuleUtil::getApplicableRulesByModelClassNameAndAttributeName($this->modelClassName, $this->modelAttributeName, 'defaultModelStringifiedName', $requiredRuleIsApplicable); return array_merge(parent::rules(), $defaultValueApplicableModelAttributeRules); return array_merge(parent::rules(), $defaultValueApplicableModelAttributeRules); }
public function __construct($modelClassName, $modelAttributeName) { parent::__construct($modelClassName, $modelAttributeName); $this->data = CustomFieldDataModelUtil::getDataByModelClassNameAndAttributeName($modelClassName, $modelAttributeName); }