This commit is contained in:
2025-07-14 12:15:41 +03:00
parent a64ed080bb
commit 273ac72207
974 changed files with 483955 additions and 14 deletions

View File

@@ -0,0 +1,8 @@
<?php
namespace app\modules\user_custom_fields;
class UserCustomFieldsModule extends \kernel\app_modules\user_custom_fields\UserCustomFieldsModule
{
}

View File

@@ -0,0 +1,8 @@
<?php
namespace app\modules\user_custom_fields\controllers;
class UserCustomFieldsController extends \kernel\app_modules\user_custom_fields\controllers\UserCustomFieldsController
{
}

View File

@@ -0,0 +1,13 @@
{
"name": "Доп. поля пользователей",
"version": "0.1",
"author": "ITGuild",
"slug": "user_custom_fields",
"type": "additional_property",
"description": "Доп. поля пользователей module",
"module_class": "app\\modules\\user_custom_fields\\UserCustomFieldsModule",
"module_class_file": "{APP}/modules/user_custom_fields/UserCustomFieldsModule.php",
"routs": "routs/user_custom_fields.php",
"migration_path": "migrations",
"dependence": "user,menu"
}

View File

@@ -0,0 +1,2 @@
<?php
include KERNEL_APP_MODULES_DIR . "/user_custom_fields/routs/user_custom_fields.php";

View File

@@ -0,0 +1,8 @@
<?php
namespace app\modules\user_stage;
class UserStageModule extends \kernel\app_modules\user_stage\UserStageModule
{
}

View File

@@ -0,0 +1,8 @@
<?php
namespace app\modules\user_stage\controllers;
class UserStageController extends \kernel\app_modules\user_stage\controllers\UserStageController
{
}

View File

@@ -0,0 +1,46 @@
<?php
use Itguild\EloquentTable\EloquentDataProvider;
use Itguild\EloquentTable\ListEloquentTable;
use itguild\forms\builders\SelectBuilder;
use kernel\CollectionTableRenderer;
\kernel\App::$hook->add(
'user_view',
function (\kernel\modules\user\models\User $user) {
$userWithStage = \kernel\app_modules\user_stage\models\User::find($user->id);
$table = new CollectionTableRenderer($userWithStage->stages);
$table->setColumns([
'id' => 'ID',
'title' => 'Название',
]);
$table->addValueProcessor('title', function($value, $model, $field) {
$style = \kernel\app_modules\user_stage\services\UserStageService::getStageStyle($model);
return "<div $style>$value</div>";
});
$table->addCustomColumn('status', 'Статус', function ($stage){
$text = \kernel\app_modules\user_stage\services\UserStageService::getStageStatusText($stage);
$style = \kernel\app_modules\user_stage\services\UserStageService::getStageStyle($stage);
return "<div $style>$text</div>";
});
$table->addFilter('status', SelectBuilder::build('status', [
'class' => 'form-control',
])->setOptions(['Завершен', 'Открыт', 'Закрыт'])->create()->fetch());
$table->addCustomColumn('action', 'Действия', function ($stage) use ($user){
$btn = '<a href="/admin/user_stage/set_stage/' . $stage->id . '/2/' . $user->id . '" class="btn btn-sm btn-primary">Открыть</a> ';
$btn .= '<a href="/admin/user_stage/set_stage/' . $stage->id . '/1/' . $user->id . '" class="btn btn-sm btn-primary">Закрыть</a> ';
$btn .= '<a href="/admin/user_stage/set_stage/' . $stage->id . '/3/' . $user->id . '" class="btn btn-sm btn-primary">Завершить</a>';
return $btn;
});
return $table->fetch();
}
);

View File

@@ -0,0 +1,14 @@
{
"name": "Этапы пользователя",
"version": "0.1",
"author": "ITGuild",
"slug": "user_stage",
"type": "entity",
"hooks": "hooks/user_stage_hooks.php",
"description": "Этапы пользователя module",
"module_class": "app\\modules\\user_stage\\UserStageModule",
"module_class_file": "{APP}/modules/user_stage/UserStageModule.php",
"routs": "routs/user_stage.php",
"migration_path": "migrations",
"dependence": "user,menu,user_custom_fields"
}

View File

@@ -0,0 +1,2 @@
<?php
include KERNEL_APP_MODULES_DIR . "/user_stage/routs/user_stage.php";