first
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace app\modules\user_custom_fields;
|
||||
|
||||
class UserCustomFieldsModule extends \kernel\app_modules\user_custom_fields\UserCustomFieldsModule
|
||||
{
|
||||
|
||||
}
|
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace app\modules\user_custom_fields\controllers;
|
||||
|
||||
class UserCustomFieldsController extends \kernel\app_modules\user_custom_fields\controllers\UserCustomFieldsController
|
||||
{
|
||||
|
||||
}
|
13
app/modules/user_custom_fields/manifest.json
Normal file
13
app/modules/user_custom_fields/manifest.json
Normal 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"
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
include KERNEL_APP_MODULES_DIR . "/user_custom_fields/routs/user_custom_fields.php";
|
8
app/modules/user_stage/UserStageModule.php
Normal file
8
app/modules/user_stage/UserStageModule.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace app\modules\user_stage;
|
||||
|
||||
class UserStageModule extends \kernel\app_modules\user_stage\UserStageModule
|
||||
{
|
||||
|
||||
}
|
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace app\modules\user_stage\controllers;
|
||||
|
||||
class UserStageController extends \kernel\app_modules\user_stage\controllers\UserStageController
|
||||
{
|
||||
|
||||
}
|
46
app/modules/user_stage/hooks/user_stage_hooks.php
Normal file
46
app/modules/user_stage/hooks/user_stage_hooks.php
Normal 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();
|
||||
}
|
||||
);
|
14
app/modules/user_stage/manifest.json
Normal file
14
app/modules/user_stage/manifest.json
Normal 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"
|
||||
}
|
2
app/modules/user_stage/routs/user_stage.php
Normal file
2
app/modules/user_stage/routs/user_stage.php
Normal file
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
include KERNEL_APP_MODULES_DIR . "/user_stage/routs/user_stage.php";
|
Reference in New Issue
Block a user