Rev 16791 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
<?phpdeclare(strict_types=1);namespace LeadersLinked\Form\Organization;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\MicrolearningTopicMapper;use LeadersLinked\Model\JobDescription;use LeadersLinked\Mapper\JobDescriptionMapper;use LeadersLinked\Mapper\CompanyUserMapper;use LeadersLinked\Mapper\UserMapper;class PositionForm extends Form{/**** @param AdapterInterface $adapter* @param int $company_id*/public function __construct($adapter, $company_id){parent::__construct();$this->setInputFilter(new PositionFilter($adapter));$this->add(['name' => 'job_description_id','type' => \Laminas\Form\Element\Select::class,'attributes' => ['id' => 'job_description_id',],'options' => ['value_options' => $this-> getJobDescriptionSelectOptions($adapter, $company_id)]]);$this->add(['name' => 'employee_id','type' => \Laminas\Form\Element\Select::class,'attributes' => ['id' => 'employee_id',],'options' => ['value_options' => $this-> getEmployeeSelectOptions($adapter, $company_id)]]);$this->add(['name' => 'boss_id','type' => \Laminas\Form\Element\Select::class,'attributes' => ['id' => 'boss_id',],'options' => ['value_options' => [],'disable_inarray_validator' => true,]]);$this->add(['name' => 'status','type' => \Laminas\Form\Element\Checkbox::class,'attributes' => ['id' => 'status',],'options' => ['use_hidden_element' => false,'unchecked_value' => \LeadersLinked\Model\OrganizationPosition::STATUS_INACTIVE,'checked_value'=> \LeadersLinked\Model\OrganizationPosition::STATUS_ACTIVE,]]);}/**** @param AdapterInterface $adapter* @param int $company_id* @return array*/private function getJobDescriptionSelectOptions($adapter, $company_id){$options = [];$mapper = JobDescriptionMapper::getInstance($adapter);$records = $mapper->fetchAllByCompanyId($company_id);foreach($records as $record){$options[$record->uuid] = $record->name;}return $options;}/**** @param AdapterInterface $adapter* @param int $company_id* @return array*/private function getEmployeeSelectOptions($adapter, $company_id){$options = [];$mapper = UserMapper::getInstance($adapter);$records = $mapper->fetchAllByCompanyId($company_id);foreach($records as $record){$options[$record->uuid] = trim($record->first_name . ' ' . $record->last_name) . ' (' . $record->email . ')';}return $options;}}