fix modules and FileUpload class

This commit is contained in:
2024-09-10 15:45:12 +03:00
parent fa8fb69f19
commit 89b6f1ac8c
10 changed files with 139 additions and 112 deletions

View File

@ -3,14 +3,13 @@
namespace kernel\modules\menu\controllers;
use app\helpers\Debug;
use app\models\forms\CreateMenuForm;
use kernel\FileUpload;
use kernel\modules\menu\service\MenuService;
use Exception;
use JetBrains\PhpStorm\NoReturn;
use kernel\AdminController;
use kernel\Controller;
use kernel\FileUpload;
use kernel\models\Menu;
use kernel\modules\menu\models\forms\CreateMenuForm;
use kernel\modules\menu\service\MenuService;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Error\SyntaxError;
@ -101,9 +100,10 @@ class MenuController extends AdminController
$menuForm = new CreateMenuForm();
$menuForm->load($_REQUEST);
// Debug::dd($_REQUEST);
if (isset($_FILES['icon_file']) && $_FILES['icon_file']['error'] === UPLOAD_ERR_OK) {
$file = new FileUpload($_FILES['icon_file'], ['jpg', 'jpeg', 'png']);
$file = new FileUpload($_FILES['icon_file'], ['jpg', 'jpeg', 'png'], $_REQUEST['hashing'] ?? true);
$file->upload();
$menuForm->setItem('icon_file', $file->getUploadFile());
}

View File

@ -0,0 +1,28 @@
<?php
namespace kernel\modules\menu\models\forms;
use kernel\FormModel;
/**
* @property $parent_id
* @property $icon_file
* @property $icon_font
* @property $label
* @property $url
* @property $status
*/
class CreateMenuForm extends FormModel
{
public function rules(): array
{
return [
'parent_id' => '',
'icon_file' => '',
'icon_font' => '',
'label' => 'required|min-str-len:1|max-str-len:50',
'url' => 'required|min-str-len:1',
'status' => ''
];
}
}

View File

@ -23,6 +23,13 @@ $form->field(class: \itguild\forms\inputs\File::class, name: "icon_file", params
->setLabel("Путь к иконке")
->render();
$form->field(\itguild\forms\inputs\Checkbox::class, "hashing", params:[
'value' => false
// 'class' => "form-control"
])
->setLabel('Не хешировать')
->render();
$form->field(class: \itguild\forms\inputs\TextInput::class, name: "icon_font", params: [
'class' => "form-control",
'value' => $model->icon_font ?? ''