Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 15446 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
15446 efrain 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Form\PerformanceEvaluation;
6
 
7
use Laminas\Form\Form;
8
use Laminas\Db\Adapter\AdapterInterface;
9
use Laminas\Log\LoggerInterface;
10
use LeadersLinked\Mapper\CompanySizeMapper;
11
use LeadersLinked\Mapper\IndustryMapper;
12
use LeadersLinked\Mapper\CompetencyTypeMapper;
17002 efrain 13
use LeadersLinked\Mapper\MicrolearningTopicMapper;
14
use LeadersLinked\Mapper\MicrolearningCapsuleMapper;
15446 efrain 15
use LeadersLinked\Mapper\PerformanceEvaluationFormMapper;
16
use LeadersLinked\Mapper\UserMapper;
17
 
18
class PerformanceEvaluationTestForm extends Form
19
{
20
 
21
    /**
22
     *
23
     * @param AdapterInterface $adapter
24
     * @param int $company_id
25
     */
26
    public function __construct($adapter, $company_id)
27
    {
28
        parent::__construct();
29
        $this->setInputFilter(new PerformanceEvaluationTestFilter($adapter));
30
 
31
        $this->add([
32
            'name' => 'form_id',
33
            'type' => \Laminas\Form\Element\Select::class,
34
            'attributes' => [
35
                'id' => 'form_id',
36
            ],
37
            'options' => [
38
                'value_options' => $this->getSelectFormOptions($adapter, $company_id)
39
            ]
40
        ]);
41
 
42
 
43
        $this->add([
44
            'name' => 'supervisor_id',
45
            'type' => \Laminas\Form\Element\Select::class,
46
            'attributes' => [
47
                'id' => 'supervisor_id',
48
            ],
49
            'options' => [
50
                'value_options' => $this->getSelectUserOptions($adapter, $company_id)
51
            ]
52
        ]);
53
 
54
        $this->add([
55
            'name' => 'employee_id',
56
            'type' => \Laminas\Form\Element\Select::class,
57
            'attributes' => [
58
                'id' => 'employee_id',
59
            ],
60
            'options' => [
61
                'value_options' => $this->getSelectUserOptions($adapter, $company_id)
62
            ]
63
        ]);
64
 
65
 
66
        $this->add([
67
            'name' => 'last_date',
68
            'type' => \Laminas\Form\Element\Date::class,
69
             'attributes' => [
70
                'id' 			=> 'last_date',
71
             ],
72
        ]);
73
 
74
    }
75
 
76
    /**
77
     *
78
     * @param AdapterInterface $adapter
79
     */
80
    private function getSelectFormOptions($adapter, $company_id)
81
    {
82
        $options = [];
83
 
84
        $mapper = PerformanceEvaluationFormMapper::getInstance($adapter);
85
        $records = $mapper->fetchAllByCompanyId($company_id);
86
 
87
        foreach($records as $record)
88
        {
89
            $options[$record->uuid] = $record->name;
90
        }
91
        return $options;
92
    }
93
 
94
 
95
    /**
96
     *
97
     * @param AdapterInterface $adapter
98
     */
99
    private function getSelectUserOptions($adapter, $company_id)
100
    {
101
        $options = [];
102
 
103
        $mapper = UserMapper::getInstance($adapter);
104
        $records = $mapper->fetchAllByCompanyId($company_id);
105
 
106
        foreach($records as $record)
107
        {
108
            $options[$record->uuid] = (trim($record->first_name) . ' ' . trim($record->last_name)) . ' (' . $record->email . ')';
109
        }
110
        return $options;
111
    }
112
 
113
 
114
}