Proyectos de Subversion LeadersLinked - Backend

Rev

| 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 LeadersLinked\Mapper\PushTemplateMapper;
10
use LeadersLinked\Model\PushTemplate;
11
 
12
 
13
class PushMicrolearningNotificationForm extends Form
14
{
15
 
16
    /**
17
     *
18
     *
19
     * @param AdapterInterface $adapter
20
     * @param int $company_id
21
     */
22
    public function __construct($adapter, $company_id)
23
    {
24
        parent::__construct();
25
        $this->setInputFilter(new PushMicrolearningNotificationFilter($adapter));
26
 
27
 
28
 
29
        $this->add([
30
            'name' => 'push_template_id',
31
            'type' => \Laminas\Form\Element\Select::class,
32
            'attributes' => [
33
                'id' => 'push_template_id',
34
            ],
35
            'options' => [
36
                'value_options' => $this->getSelectOptions($adapter, $company_id)
37
            ]
38
        ]);
39
 
40
    }
41
 
42
    /**
43
     *
44
     * @param AdapterInterface $adapter
45
     */
46
    private function getSelectOptions($adapter, $company_id)
47
    {
48
        $options = [];
49
 
50
        $mapper = PushTemplateMapper::getInstance($adapter);
51
        $records = $mapper->fetchAllActiveByTypeAndCompanyId(PushTemplate::TYPE_MICRO_LEARNING, $company_id);
52
 
53
        if(!$records) {
54
            $records = $mapper->fetchAllActiveByTypeDefault(PushTemplate::TYPE_MICRO_LEARNING);
55
        }
56
 
57
        foreach($records as $record)
58
        {
59
            $options[$record->uuid] = $record->title;
60
        }
61
        return $options;
62
    }
63
 
64
 
65
 
66
 
67
 
68
}
69
 
70