Proyectos de Subversion LeadersLinked - Backend

Rev

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

Rev Autor Línea Nro. Línea
15831 efrain 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Form\MyCoach;
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
 
13
use LeadersLinked\Mapper\UserMapper;
14
use LeadersLinked\Mapper\MyCoachQuestionCategoryMapper;
15
use LeadersLinked\Mapper\MyCoachCategoryMapper;
16761 efrain 16
use LeadersLinked\Model\MyCoachCategory;
15831 efrain 17
 
18
 
19
class MyCoachCategoryUserDataForm extends Form
20
{
21
 
22
    /**
23
     *
24
     * @param AdapterInterface $adapter
25
     * @param int $company_id
26
     */
27
    public function __construct($adapter, $company_id) {
28
        parent::__construct();
29
        $this->setInputFilter(new MyCoachCategoryUserDataFilter());
30
 
31
 
32
 
33
 
34
        $this->add([
35
            'name' => 'category_id',
36
            'type' => \Laminas\Form\Element\Select::class,
37
            'attributes' => [
38
                'id' =>  'category_id',
39
            ],
40
            'options' => [
41
                //'disable_inarray_validator' => true,
42
                'value_options' =>  $this->getCategories($adapter, $company_id)
43
            ]
44
        ]);
45
 
46
 
47
 
48
    }
49
 
50
    private function getCategories($adapter, $company_id)
51
    {
52
        $items = [];
53
        $myCoachCategoryMapper = MyCoachCategoryMapper::getInstance($adapter);
54
        $records = $myCoachCategoryMapper->fetchAllByCompanyId($company_id);
55
 
56
        foreach($records as $record)
57
        {
16761 efrain 58
            switch($record->privacy)
59
            {
60
                case MyCoachCategory::PRIVACY_COMPANY :
61
                    $privacy = 'LABEL_COMPANY';
62
                    break;
63
 
64
                case MyCoachCategory::PRIVACY_PUBLIC :
65
                    $privacy = 'LABEL_PUBLIC';
66
                    break;
67
 
68
                default :
69
                    $privacy = 'LABEL_UNKNOW';
70
                    break;
71
            }
72
 
73
 
74
            $items[ $record->uuid ] = $record->name . ' (' . $privacy . ')';
15831 efrain 75
        }
76
 
77
        return $items;
78
    }
79
 
80
 
81
}
82