]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
[ERP-189] отвязали картинки от прочих данных по админу origin/feature_smirnov_erp-189_profile_to_yii
authorAlexander Smirnov <fredeom@mail.ru>
Fri, 20 Sep 2024 09:00:23 +0000 (12:00 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Fri, 20 Sep 2024 09:00:23 +0000 (12:00 +0300)
erp24/controllers/ProfileController.php
erp24/forms/profile/AdminForm.php [new file with mode: 0644]
erp24/views/profile/index.php

index eb6ea629e6c2f8c6030214052bbd6533098f1882..02553d266781d81f46e8153b9f5b4e7b076e2249 100644 (file)
@@ -6,30 +6,29 @@ use Yii;
 use yii\helpers\Json;
 use yii\web\Controller;
 use yii\web\UploadedFile;
+use yii_app\forms\profile\AdminForm;
 use yii_app\helpers\ImageHelper;
 use yii_app\records\Admin;
 
 class ProfileController extends Controller
 {
     public function actionIndex() {
-        $model = Admin::findOne(Yii::$app->user->id);
-        $errors = null;
-        if (Yii::$app->request->isPost && $model->load(Yii::$app->request->post())) {
-            $model->imageFile = UploadedFile::getInstance($model, 'imageFile');
-            $ext = '.' . $model->imageFile->extension;
+        if (Yii::$app->request->isPost) {
+            $imageFile = UploadedFile::getInstanceByName('imageFile');
+            $ext = '.' . $imageFile->extension;
             $path = Yii::getAlias("@data-path") . '/admin/admin_' . Yii::$app->user->id . $ext;
-            $model->imageFile->saveAs($path);
+            $imageFile->saveAs($path);
             $path2 = Yii::getAlias("@data-path") . '/admin/ava_' . Yii::$app->user->id . $ext;
             ImageHelper::resizeImage($path, $path2, 100, 100, 100);
 
-            $model->imageFile = null;
-            $model->avatarka = 'data/admin/ava_' . Yii::$app->user->id . $ext;
-            $model->photo    = 'data/admin/admin_' . Yii::$app->user->id . $ext;
-            $model->save();
-            if ($model->getErrors()) {
-                $errors = Json::encode($model->getErrors());
-            }
+            $form = AdminForm::findOne(Yii::$app->user->id);
+            $form->avatarka = 'data/admin/ava_' . Yii::$app->user->id . $ext;
+            $form->photo    = 'data/admin/admin_' . Yii::$app->user->id . $ext;
+            $form->save();
         }
-        return $this->render('index', compact('model', 'errors'));
+
+        $model = Admin::findOne(Yii::$app->user->id);
+
+        return $this->render('index', compact('model'));
     }
 }
\ No newline at end of file
diff --git a/erp24/forms/profile/AdminForm.php b/erp24/forms/profile/AdminForm.php
new file mode 100644 (file)
index 0000000..4ed364e
--- /dev/null
@@ -0,0 +1,20 @@
+<?php
+
+namespace yii_app\forms\profile;
+
+use yii_app\records\Admin;
+
+
+/*
+ * @property string photo
+ * @property string avatarka
+ */
+class AdminForm extends Admin
+{
+    public function rules()
+    {
+        return [
+            [['photo', 'avatarka'], 'required']
+        ];
+    }
+}
\ No newline at end of file
index 6b4fc8e24eba6b8769ae189dcc657e24be4df058..c7ac6ee52cea76cca18961695cce6156b1421064 100644 (file)
@@ -13,7 +13,6 @@ use yii_app\records\Admin;
 use yii_app\helpers\PrintBlockHelper;
 
 /** @var $model Admin */
-/** @var $errors string */
 
 ?>
 
@@ -40,17 +39,11 @@ use yii_app\helpers\PrintBlockHelper;
 
     <?php PrintBlockHelper::printBlock('<b>Пароль</b>', $model->pass_user); ?>
 
-    <?php PrintBlockHelper::printBlock('<b>Фото сотрудника</b>', $form->field($model, 'imageFile')
-            ->fileInput(['onchange' => 'this.form.submit()'])->label(false) . ' ' . $model->avatarka); ?>
+    <?php PrintBlockHelper::printBlock('<b>Фото сотрудника</b>',
+        Html::fileInput('imageFile', null, ['onchange' => 'this.form.submit()', 'accept' => '.jpg,.jpeg,.png']) . ' ' . $model->avatarka); ?>
 
     <?php ActiveForm::end() ?>
 
     <?php \yii_app\helpers\ImageHelper::drawImage($model->avatarka) ?>
 
-    <?php if ($errors): ?>
-        <div class="text-red">
-            <?= $errors ?>
-        </div>
-    <?php endif; ?>
-
 </div>