Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 17089 | Rev 17091 | 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;
8
use Laminas\Db\Adapter\AdapterInterface;
9
use Laminas\Log\LoggerInterface;
10
use LeadersLinked\Model\Topic;
11
use Laminas\Form\Element;
12
 
17082 stevensc 13
use LeadersLinked\Mapper\MicrolearningCapsuleMapper;
17002 efrain 14
 
15
class TopicForm extends Form
16
{
17
 
17080 stevensc 18
    public function __construct($adapter, $company_id){
17002 efrain 19
        parent::__construct();
17087 stevensc 20
        $this->setInputFilter(new TopicFilter($adapter));
17002 efrain 21
 
22
 
17080 stevensc 23
        $this->add([
17086 stevensc 24
            'name' => 'capsules_uuid',
17080 stevensc 25
            'type' => \Laminas\Form\Element\Select::class,
26
            'attributes' => [
17086 stevensc 27
                'id' => 'capsules_uuid',
17090 stevensc 28
                'multiple' 	=> 'yes',
17080 stevensc 29
            ],
30
            'options' => [
31
                'value_options' => $this->getSelectOptions($adapter, $company_id)
32
            ]
33
        ]);
34
 
17002 efrain 35
 
36
 
37
         $this->add([
38
            'name' => 'title',
39
            'type' => \Laminas\Form\Element\Text::class,
40
            'attributes' => [
41
                'maxlength' 	=> 128,
42
                'id' 			=> 'title',
43
            ]
44
        ]);
45
 
46
       $this->add([
47
            'name' => 'description',
48
            'type' => \Laminas\Form\Element\Textarea::class,
49
            'attributes' => [
50
                'id'    => 'description',
51
            ]
52
        ]);
53
 
54
        $this->add([
55
            'name' => 'status',
56
            'type' => \Laminas\Form\Element\Checkbox::class,
57
            'attributes' => [
58
                'id' 			=> 'status',
59
            ],
60
            'options' => [
61
                'use_hidden_element' => false,
62
                'unchecked_value' => \LeadersLinked\Model\Topic::STATUS_INACTIVE,
63
                'checked_value'=> \LeadersLinked\Model\Topic::STATUS_ACTIVE,
64
            ]
65
        ]);
66
    }
67
 
17080 stevensc 68
    private function getSelectOptions($adapter, $company_id)
69
    {
70
        $options = [];
71
 
72
        $mapper = MicrolearningCapsuleMapper::getInstance($adapter);
17090 stevensc 73
        $records = $mapper->fetchAllActiveByCompanyId($company_id);
74
 
17080 stevensc 75
        foreach($records as $record)
76
        {
17090 stevensc 77
            $options[$record->uuid] = $record->name;
17080 stevensc 78
        }
17086 stevensc 79
        return $options;
17080 stevensc 80
    }
81
 
17002 efrain 82
}
83