182feb54
Anastasia
customer
|
1
2
3
4
5
|
<?php
namespace common\models;
use Yii;
|
2beb82f0
Anastasia
register
|
6
|
use yii\helpers\FileHelper;
|
10899280
alex
customer add crea...
|
7
8
|
use yii\behaviors\TimestampBehavior;
|
2beb82f0
Anastasia
register
|
9
|
|
182feb54
Anastasia
customer
|
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
/**
* This is the model class for table "customer".
*
* @property int $id
* @property string $name
* @property string $secondname
* @property string $dignity
* @property int $gender
* @property string $birth
* @property string $citizenship
* @property string $passport
* @property string $email
* @property string $organization
* @property int $status
* @property int $language_id
* @property string $image
* @property bool $conference
* @property bool $geee
* @property bool $gere
|
5983654b
alex
****WARNING ==> ...
|
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
*
*
* New properties
* @property string $phone_own
* @property string $phone_office
* @property string $phone_other
* @property string $fax
* @property integer $passport_number
* @property integer $passport_date
* @property string $passport_place
* @property integer $passport_valid
* @property boolean $need_visa
* @property string $special_meal
*
* @property boolean $working_language_ru
* @property boolean $working_language_en
* @property boolean $working_language_fr
* @property boolean $meal_halal
* @property boolean $meal_kashrut
* @property boolean $meal_vegan
*
|
83355b32
alex
Form changed 2
|
50
|
* @property integer $working_lang
|
9d70b8a6
alex
1) добавил новые ...
|
51
|
* @property string $post_address ==> официальный почтовый адрес
|
10899280
alex
customer add crea...
|
52
53
54
|
*
* @property integer $created_at
*
|
182feb54
Anastasia
customer
|
55
56
57
|
*/
class Customer extends \yii\db\ActiveRecord
{
|
2beb82f0
Anastasia
register
|
58
|
public $file;
|
5983654b
alex
****WARNING ==> ...
|
59
60
61
|
public $acceptance;
|
182feb54
Anastasia
customer
|
62
63
64
|
const STATUS_NEW = 2;
const STATUS_ACTIVE = 1;
const STATUS_NO = 0;
|
83355b32
alex
Form changed 2
|
65
|
|
72471595
alex
1) Изменил содерж...
|
66
67
68
69
|
const MEAL_1 = 'Халяль';
const MEAL_2 = 'Кашрут';
const MEAL_3 = 'Вегитарианець';
const MEAL_NONE = 'Не выбрано';
|
83355b32
alex
Form changed 2
|
70
71
72
|
|
182feb54
Anastasia
customer
|
73
|
|
41f1f148
Alexey Boroda
-Emails ready
|
74
75
|
const MALE = '1';
const FEMALE = '2';
|
182feb54
Anastasia
customer
|
76
77
78
79
80
81
82
|
/**
* {@inheritdoc}
*/
public static function tableName()
{
return 'customer';
}
|
10899280
alex
customer add crea...
|
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
public function behaviors()
{
return [
[
'class' => TimestampBehavior::className(),
'updatedAtAttribute' => false,
],
];
}
/**
|
182feb54
Anastasia
customer
|
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
* {@inheritdoc}
*/
public function rules()
{
return [
[
[
'gender',
'status',
'language_id',
],
'default',
'value' => null,
],
[
[
'gender',
'status',
'language_id',
|
83355b32
alex
Form changed 2
|
117
118
|
'acceptance',
'working_lang'
|
182feb54
Anastasia
customer
|
119
120
121
122
123
124
125
126
127
128
129
130
|
],
'integer',
],
[
[ 'organization' ],
'string',
],
[
[
'conference',
'geee',
'gere',
|
5983654b
alex
****WARNING ==> ...
|
131
132
133
134
135
136
137
138
|
'need_visa',
'working_language_ru',
'working_language_en',
'working_language_fr',
'meal_halal',
'meal_kashrut',
'meal_vegan',
|
182feb54
Anastasia
customer
|
139
140
141
|
],
'boolean',
],
|
e3f07d67
alex
need visa теперь ...
|
142
|
|
182feb54
Anastasia
customer
|
143
144
145
146
147
148
149
150
151
152
|
[
[
'name',
'secondname',
'dignity',
'birth',
'citizenship',
'passport',
'email',
'image',
|
5983654b
alex
****WARNING ==> ...
|
153
154
155
156
157
|
'passport_place',
'special_meal',
'passport_number',
'passport_date',
'passport_valid',
|
9d70b8a6
alex
1) добавил новые ...
|
158
|
'post_address'
|
182feb54
Anastasia
customer
|
159
160
161
162
|
],
'string',
'max' => 255,
],
|
5983654b
alex
****WARNING ==> ...
|
163
164
165
166
167
168
169
170
171
172
173
|
[
[
'phone_own',
'phone_office',
'phone_other',
'fax'
],
'string',
'max' => 30,
],
|
182feb54
Anastasia
customer
|
174
175
176
177
178
179
180
181
182
183
184
185
186
|
[
[ 'gender' ],
'in',
'range' => [
self::MALE,
self::FEMALE,
],
],
[
[
'gender',
'organization',
'name',
|
5983654b
alex
****WARNING ==> ...
|
187
|
#'secondname',
|
182feb54
Anastasia
customer
|
188
189
|
'birth',
'citizenship',
|
5983654b
alex
****WARNING ==> ...
|
190
|
#'passport',
|
182feb54
Anastasia
customer
|
191
|
'email',
|
9d70b8a6
alex
1) добавил новые ...
|
192
|
'post_address',
|
5983654b
alex
****WARNING ==> ...
|
193
194
195
196
197
|
'passport_number',
'passport_date',
'passport_place',
'passport_valid',
'need_visa',
|
72471595
alex
1) Изменил содерж...
|
198
199
200
|
'acceptance',
'phone_office',
'phone_other',
|
e3f07d67
alex
need visa теперь ...
|
201
|
'need_visa'
|
182feb54
Anastasia
customer
|
202
203
204
|
],
'required',
],
|
9d70b8a6
alex
1) добавил новые ...
|
205
206
207
|
[['phone_office',
'phone_other'
],'match','pattern'=>'#^[\d\s]+$#'],
|
5983654b
alex
****WARNING ==> ...
|
208
209
210
211
212
|
[
['acceptance'],
'compare',
'compareValue' => 1
],
|
182feb54
Anastasia
customer
|
213
|
['email', 'email'],
|
2beb82f0
Anastasia
register
|
214
|
['file', 'file', 'skipOnEmpty' => false, 'checkExtensionByMimeType'=>false,'extensions' => ['png', 'jpg', 'gif'], 'maxSize' => 1024*1024*1024*2]
|
182feb54
Anastasia
customer
|
215
216
217
218
219
220
221
222
223
224
|
];
}
/**
* {@inheritdoc}
*/
public function attributeLabels()
{
return [
|
5983654b
alex
****WARNING ==> ...
|
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
|
'id' => Yii::t('app', 'ID'),
'name' => Yii::t('app', 'Name'),
'secondname' => Yii::t('app', 'Secondname'),
'dignity' => Yii::t('app', 'Dignity'),
'gender' => Yii::t('app', 'Gender'),
'birth' => Yii::t('app', 'Birth'),
'citizenship' => Yii::t('app', 'Citizenship'),
'passport' => Yii::t('app', 'Passport'),
'email' => Yii::t('app', 'Email'),
'organization' => Yii::t('app', 'Organization'),
'status' => Yii::t('app', 'Status'),
'language_id' => Yii::t('app', 'Language ID'),
'image' => Yii::t('app', 'Image'),
'conference' => Yii::t('app', 'Conference'),
'geee' => Yii::t('app', 'Geee'),
'gere' => Yii::t('app', 'Gere'),
'need_visa' => Yii::t('app', 'Need visa'),
'passport_number' => Yii::t('app', 'Passport number'),
'passport_date' => Yii::t('app', 'Passport date'),
'passport_place' => Yii::t('app', 'Passport place'),
'passport_valid' => Yii::t('app', 'Passport valid'),
'phone_own' => Yii::t('app', 'Phone own'),
'phone_office' => Yii::t('app', 'Phone office'),
'phone_other' => Yii::t('app', 'Phone other'),
'fax' => Yii::t('app', 'fax'),
'acceptance' => Yii::t('app', 'acceptance'),
|
9b8b9f71
alex
Form changed 3
|
251
|
'working_lang' => Yii::t('app', 'Working language'),
|
2ab4ee29
alex
Form changed 4
|
252
|
'special_meal' => Yii::t('app', 'Special meal'),
|
9d70b8a6
alex
1) добавил новые ...
|
253
|
'post_address' => Yii::t('app', 'Post address'),
|
2ab4ee29
alex
Form changed 4
|
254
|
|
182feb54
Anastasia
customer
|
255
256
|
];
}
|
2beb82f0
Anastasia
register
|
257
258
|
|
f36f2e82
Anastasia
valid files
|
259
|
public function upload()
|
2beb82f0
Anastasia
register
|
260
261
262
263
|
{
/**
* @var \yii\web\UploadedFile $file;
*/
|
f36f2e82
Anastasia
valid files
|
264
|
if (!empty($this->file) and $this->validate()) {
|
2beb82f0
Anastasia
register
|
265
266
267
|
if (!file_exists(\Yii::getAlias('@storage/customers/'))) {
FileHelper::createDirectory(\Yii::getAlias('@storage/customers/'));
}
|
f36f2e82
Anastasia
valid files
|
268
269
|
$filename = $this->file->baseName.'_'.Yii::$app->security->generateRandomString(5).'.'.$this->file->extension;
if ($this->file->saveAs(\Yii::getAlias('@storage/customers/') . $filename)) {
|
5ff3d26f
Anastasia
images path
|
270
271
|
$this->image = '/storage/customers/'.$filename;
$this->file->name = $filename;
|
2beb82f0
Anastasia
register
|
272
273
274
275
276
277
278
|
return true;
}
return false;
}
return true;
}
|
182feb54
Anastasia
customer
|
279
|
}
|