Commit b1f73dd70ead14497065262043052edbb15b2286

Authored by Alexey Boroda
2 parents 407c1dee f36f2e82

Merge remote-tracking branch 'origin/master'

common/models/Customer.php
... ... @@ -109,7 +109,6 @@
109 109 'citizenship',
110 110 'passport',
111 111 'email',
112   - 'image',
113 112 ],
114 113 'required',
115 114 ],
... ... @@ -145,20 +144,19 @@
145 144 }
146 145  
147 146  
148   - public function upload($file)
  147 + public function upload()
149 148 {
150 149 /**
151 150 * @var \yii\web\UploadedFile $file;
152 151 */
153   - $this->file = $file;
154   - if (!empty($file)) {
  152 + if (!empty($this->file) and $this->validate()) {
155 153 if (!file_exists(\Yii::getAlias('@storage/customers/'))) {
156 154 FileHelper::createDirectory(\Yii::getAlias('@storage/customers/'));
157 155 }
158   -
159   - if ($file->saveAs(\Yii::getAlias('@storage/customers/') . $file->baseName.'_'.Yii::$app->security->generateRandomString(5).'.'.$file->extension)) {
160   - $this->image = '/storage/customers/'.$file->baseName.'_'.Yii::$app->security->generateRandomString(5).'.'.$file->extension;
161   - $this->file->name = $file->baseName.'_'.Yii::$app->security->generateRandomString(5).'.'.$file->extension;;
  156 + $filename = $this->file->baseName.'_'.Yii::$app->security->generateRandomString(5).'.'.$this->file->extension;
  157 + if ($this->file->saveAs(\Yii::getAlias('@storage/customers/') . $filename)) {
  158 + $this->image = '/storage/customers/'.$filename;
  159 + $this->file->name = $filename;
162 160 return true;
163 161 }
164 162 return false;
... ...
frontend/controllers/SiteController.php
... ... @@ -155,8 +155,8 @@
155 155 {
156 156 $model = new Customer();
157 157 if ($model->load(\Yii::$app->request->post())){
158   -
159   - if ($model->upload(UploadedFile::getInstance($model, 'file')) and $model->save()){
  158 + $model->file = UploadedFile::getInstance($model, 'file');
  159 + if ($model->upload() and $model->save()){
160 160 \Yii::$app->session->setFlash('success', \Yii::t('app', 'Дякуемо за реєстрацію. Підтвердження участі буде відправлено на вказаний email'));
161 161 return $this->redirect(['site/index']);
162 162 }
... ...