Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 17057 | Rev 17178 | 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\Mapper\CompanySizeMapper;
11
use LeadersLinked\Mapper\IndustryMapper;
12
use LeadersLinked\Model\Feed;
13
use LeadersLinked\Model\MicrolearningTopic;
14
use LeadersLinked\Model\MicrolearningCapsule;
15
use LeadersLinked\Model\Company;
16
 
17057 stevensc 17
 
17002 efrain 18
class CapsuleAddForm extends Form
19
{
17057 stevensc 20
 
17002 efrain 21
    public function __construct($internal = false)
22
    {
23
        parent::__construct();
24
        $this->setInputFilter(new CapsuleAddFilter());
17057 stevensc 25
 
17002 efrain 26
 
27
        $this->add([
28
            'name' => 'name',
17057 stevensc 29
            'type' => \Laminas\Form\Element\Textarea::class,
17002 efrain 30
            'attributes' => [
31
                'id'    => 'name',
32
            ]
33
        ]);
34
 
35
        $this->add([
36
            'name' => 'description',
17057 stevensc 37
            'type' => \Laminas\Form\Element\Textarea::class,
17002 efrain 38
            'attributes' => [
39
                'id'    => 'description',
40
            ]
41
        ]);
42
 
43
        $this->add([
44
            'name' => 'file',
17057 stevensc 45
            'type' => \Laminas\Form\Element\Hidden::class,
17002 efrain 46
            'attributes' => [
47
                'id' => 'file',
48
            ]
49
        ]);
17078 stevensc 50
 
17002 efrain 51
        $this->add([
52
            'name' => 'marketplace',
17057 stevensc 53
            'type' => \Laminas\Form\Element\Hidden::class,
17002 efrain 54
            'attributes' => [
55
                'id' => 'marketplace',
56
            ]
57
        ]);
58
 
59
        $this->add([
60
            'name' => 'status',
17057 stevensc 61
            'type' => \Laminas\Form\Element\Select::class,
17002 efrain 62
            'options' => [
63
                'empty_option' => 'LABEL_STATUS',
64
                'value_options' => [
65
                    MicrolearningCapsule::STATUS_ACTIVE => 'LABEL_ACTIVE',
66
                    MicrolearningCapsule::STATUS_INACTIVE => 'LABEL_INACTIVE',
67
                ],
68
            ],
69
            'attributes' => [
70
                'id' => 'status',
71
            ]
72
        ]);
73
 
17055 stevensc 74
        if($internal == Company::INTERNAL_YES) {
17002 efrain 75
            $value_options = [
76
                MicrolearningCapsule::PRIVACY_PRIVATE => 'LABEL_PRIVATE',
77
                MicrolearningCapsule::PRIVACY_PUBLIC => 'LABEL_PUBLIC',
78
            ];
79
        } else {
80
            $value_options = [
81
                MicrolearningCapsule::PRIVACY_PRIVATE => 'LABEL_PRIVATE',
82
            ];
17055 stevensc 83
        }
17002 efrain 84
 
17055 stevensc 85
        $this->add([
17002 efrain 86
            'name' => 'privacy',
17057 stevensc 87
            'type' => \Laminas\Form\Element\Select::class,
17002 efrain 88
            'options' => [
89
                'empty_option' => 'LABEL_PRIVACY',
90
                'value_options' => $value_options,
91
            ],
92
            'attributes' => [
93
                'id' => 'privacy',
94
            ]
17055 stevensc 95
        ]);
17002 efrain 96
 
17055 stevensc 97
        if($internal == Company::INTERNAL_YES) {
17002 efrain 98
            $value_options = [
99
                MicrolearningCapsule::TYPE_FREE => 'LABEL_FREE',
100
                MicrolearningCapsule::TYPE_SELLING => 'LABEL_SELLING',
101
                MicrolearningCapsule::TYPE_PRIVATE => 'LABEL_PRIVATE',
102
            ];
103
        } else {
104
            $value_options = [
105
                MicrolearningCapsule::TYPE_PRIVATE => 'LABEL_PRIVATE',
106
            ];
17055 stevensc 107
        }
17002 efrain 108
 
17055 stevensc 109
        $this->add([
17002 efrain 110
            'name' => 'type',
17057 stevensc 111
            'type' => \Laminas\Form\Element\Select::class,
17002 efrain 112
            'options' => [
113
                'empty_option' => 'LABEL_TYPE',
114
                'value_options' => $value_options,
115
            ],
116
            'attributes' => [
117
                'id' => 'type',
118
            ]
17055 stevensc 119
        ]);
17002 efrain 120
 
121
        $this->add([
122
            'name' => 'cost',
17057 stevensc 123
            'type' => \Laminas\Form\Element\Text::class,
17002 efrain 124
            'attributes' => [
125
                'id'    => 'cost',
126
            ],
127
        ]);
128
    }
129
}