Completed
Push — master ( 650885...9a9337 )
by Konstantin
12s
created

Field   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 174
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 50%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
c 1
b 0
f 0
lcom 1
cbo 1
dl 0
loc 174
ccs 3
cts 6
cp 0.5
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A linkEnum() 0 4 1
A linkEnumArray() 0 4 1
1
<?php
2
3
namespace linkprofit\AmoCRM\entities;
4
5
/**
6
 * Class Field
7
 * @package linkprofit\AmoCRM\entities
8
 */
9
class Field extends BaseEntity
10
{
11
    /**
12
     * Обыное текстовое поле
13
     */
14
    const TEXT = 1;
15
16
    /**
17
     * Текстовое поле с возможностью передавать только цифры
18
     */
19
    const NUMERIC = 2;
20
21
    /**
22
     * Поле обозначающее только наличие или отсутствие свойства (например: "да"/"нет")
23
     */
24
    const CHECKBOX = 3;
25
26
    /**
27
     * Поле типа список с возможностью выбора одного элемента
28
     */
29
    const SELECT = 4;
30
31
    /**
32
     * Поле типа список c возможностью выбора нескольких элементов списка
33
     */
34
    const MULTISELECT = 5;
35
36
    /**
37
     * Поле типа дата возвращает и принимает значения в формате (Y-m-d H:i:s)
38
     */
39
    const DATE = 6;
40
41
    /**
42
     * Обычное текстовое поле предназначенное для ввода URL адресов
43
     */
44
    const URL = 7;
45
46
    /**
47
     * Поле textarea содержащее большое количество текста
48
     */
49
    const MULTITEXT = 8;
50
51
    /**
52
     * Поле textarea содержащее большое количество текста
53
     */
54
    const TEXTAREA = 9;
55
56
    /**
57
     * Поле типа переключатель
58
     */
59
    const RADIOBUTTON = 10;
60
61
    /**
62
     * Короткое поле адрес
63
     */
64
    const STREETADDRESS = 11;
65
66
    /**
67
     * Поле адрес (в интерфейсе является набором из нескольких полей)
68
     */
69
    const SMART_ADDRESS = 13;
70
71
    /**
72
     * Поле типа дата поиск по которому осуществляется без учета года, значения в формате (Y-m-d H:i:s)
73
     */
74
    const BIRTHDAY = 14;
75
76
    /**
77
     * Поле юридическое лицо (в интерфейсе является набором из нескольких полей)
78
     */
79
    const LEGAL_ENTITY = 15;
80
81
    /**
82
     * Поле состав каталога (поле доступно только в пользовательских списках)
83
     */
84
    const ITEMS = 16;
85
86
    /**
87
     * Контакт
88
     */
89
    const CONTACT_ELEMENT_TYPE = 1;
90
91
    /**
92
     * Сделка
93
     */
94
    const LEAD_ELEMENT_TYPE = 2;
95
96
    /**
97
     * Компания
98
     */
99
    const COMPANY_ELEMENT_TYPE = 3;
100
101
    /**
102
     * Покупатель
103
     */
104
    const CUSTOMER_ELEMENT_TYPE = 12;
105
106
107
    /**
108
     * @var string Название поля
109
     */
110
    public $name;
111
112
    /**
113
     * @var integer Тип поля
114
     */
115
    public $field_type;
116
117
    /**
118
     * @var integer Тип сущности
119
     */
120
    public $element_type;
121
122
    /**
123
     * @var string Уникальный идентификатор сервиса, по которому будет доступно удаление и изменение поля
124
     */
125
    public $origin;
126
127
    /**
128
     * @var bool
129
     */
130
    public $is_editable;
131
132
    /**
133
     * @var array Массив значений для списка или мультисписка. Значения указываются строковыми переменными, через запятую.
134
     */
135
    public $enums = [];
136
137
    /**
138
     * @var integer Уникальный идентификатор записи в клиентской программе (необязательный параметр). Информация о request_id нигде не сохраняется.
139
     */
140
    public $request_id;
141
142
    /**
143
     * @var bool Обязательность заполнения поля. Данное свойство применимо только для полей списка
144
     */
145
    public $is_required;
146
147
    /**
148
     * @var bool Возможность удалить поле в интерфейсе. Данное свойство применимо только для полей списка
149
     */
150
    public $is_deletable;
151
152
    /**
153
     * @var bool Видимость поля в интерфейсе. Данное свойство применимо только для полей списка
154
     */
155
    public $is_visible;
156
157
    /**
158
     * @var array
159
     */
160
    protected $fieldList = [
161
        'id', 'name', 'element_type',
162
        'field_type', 'origin',
163
        'is_editable', 'enums', 'request_id',
164
        'is_required', 'is_deletable', 'is_visible',
165
    ];
166
167
    /**
168
     * @param string $enum
169
     */
170
    public function linkEnum($enum)
171
    {
172
        $this->enums[] = $enum;
173
    }
174
175
    /**
176
     * @param array $enums
177
     */
178 1
    public function linkEnumArray(array $enums)
179
    {
180 1
        $this->enums = $enums;
181
    }
182
}