Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 17091 | Rev 17110 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
17002 efrain 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Form\Microlearning;
6
 
7
use Laminas\Form\Form;
17091 stevensc 8
use Laminas\Form\Element\Select;
17082 stevensc 9
use LeadersLinked\Mapper\MicrolearningCapsuleMapper;
17002 efrain 10
 
11
class TopicForm extends Form
12
{
13
 
17080 stevensc 14
    public function __construct($adapter, $company_id){
17002 efrain 15
        parent::__construct();
17087 stevensc 16
        $this->setInputFilter(new TopicFilter($adapter));
17002 efrain 17
 
17080 stevensc 18
        $this->add([
17091 stevensc 19
            'name' => 'capsule_uuid',
20
            'type' => Select::class,
17080 stevensc 21
            'attributes' => [
17090 stevensc 22
                'multiple' 	=> 'yes',
17091 stevensc 23
                'id' =>  'capsule_uuid',
17080 stevensc 24
            ],
25
            'options' => [
17091 stevensc 26
                'disable_inarray_validator' => true,
17108 stevensc 27
                'value_options' => $this->getSelectOptions($adapter, $company_id)
17080 stevensc 28
            ]
29
        ]);
17002 efrain 30
 
31
         $this->add([
32
            'name' => 'title',
33
            'type' => \Laminas\Form\Element\Text::class,
34
            'attributes' => [
35
                'maxlength' 	=> 128,
36
                'id' 			=> 'title',
37
            ]
38
        ]);
39
 
40
       $this->add([
41
            'name' => 'description',
42
            'type' => \Laminas\Form\Element\Textarea::class,
43
            'attributes' => [
44
                'id'    => 'description',
45
            ]
46
        ]);
47
 
48
        $this->add([
49
            'name' => 'status',
50
            'type' => \Laminas\Form\Element\Checkbox::class,
51
            'attributes' => [
52
                'id' 			=> 'status',
53
            ],
54
            'options' => [
55
                'use_hidden_element' => false,
56
                'unchecked_value' => \LeadersLinked\Model\Topic::STATUS_INACTIVE,
57
                'checked_value'=> \LeadersLinked\Model\Topic::STATUS_ACTIVE,
58
            ]
59
        ]);
60
    }
61
 
17080 stevensc 62
    private function getSelectOptions($adapter, $company_id)
63
    {
64
        $options = [];
65
 
66
        $mapper = MicrolearningCapsuleMapper::getInstance($adapter);
17090 stevensc 67
        $records = $mapper->fetchAllActiveByCompanyId($company_id);
68
 
17080 stevensc 69
        foreach($records as $record)
70
        {
17090 stevensc 71
            $options[$record->uuid] = $record->name;
17080 stevensc 72
        }
17086 stevensc 73
        return $options;
17080 stevensc 74
    }
75
 
17002 efrain 76
}
77