Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?phpdeclare(strict_types=1);namespace LeadersLinked\Form\Competency;use Laminas\Form\Form;use Laminas\Db\Adapter\AdapterInterface;use Laminas\Log\LoggerInterface;use LeadersLinked\Mapper\CompanySizeMapper;use LeadersLinked\Mapper\IndustryMapper;use LeadersLinked\Mapper\CompetencyTypeMapper;use LeadersLinked\Mapper\BehaviorMapper;class CompetencyForm extends Form{/**** @param AdapterInterface $adapter*/public function __construct($adapter, $company_id = 0){parent::__construct();$this->setInputFilter(new CompetencyFilter($adapter));$this->add(['name' => 'competency_type_id','type' => \Laminas\Form\Element\Select::class,'attributes' => ['id' => 'competency_type_id',],'options' => ['value_options' => $this->getSelectCompetencyTypesOptions($adapter, $company_id)]]);$this->add(['name' => 'name','type' => \Laminas\Form\Element\Text::class,'attributes' => ['maxlength' => 128,'id' => 'name',]]);$this->add(['name' => 'description','type' => \Laminas\Form\Element\Textarea::class,'attributes' => ['rows' => 5,'maxlength' => 512,'id' => 'description',]]);$this->add(['name' => 'behavior_id','type' => \Laminas\Form\Element\Select::class,'attributes' => ['multiple' => 'yes','id' => 'behavior_id',],'options' => ['disable_inarray_validator' => true,'value_options' => $this->getSelectBehaviorsOptions($adapter, $company_id)]]);$this->add(['name' => 'status','type' => \Laminas\Form\Element\Checkbox::class,'attributes' => ['id' => 'status',],'options' => ['use_hidden_element' => 0,'unchecked_value' => \LeadersLinked\Model\Competency::STATUS_INACTIVE,'checked_value'=> \LeadersLinked\Model\Competency::STATUS_ACTIVE,]]);}/**** @param AdapterInterface $adapter*/private function getSelectCompetencyTypesOptions($adapter, $company_id){$options = [];$mapper = CompetencyTypeMapper::getInstance($adapter);if($company_id) {$records = $mapper->fetchAllActiveByCompanyId($company_id);} else {$records = $mapper->fetchAllActiveByDefault();}foreach($records as $record){$options[$record->uuid] = $record->name;}return $options;}/**** @param AdapterInterface $adapter*/private function getSelectBehaviorsOptions($adapter, $company_id){$options = [];$mapper = BehaviorMapper::getInstance($adapter);if($company_id) {$records = $mapper->fetchAllActiveByCompanyId($company_id);} else {$records = $mapper->fetchAllActiveByDefault();}foreach($records as $record){$options[$record->uuid] = $record->description;}return $options;}}