This commit is contained in:
Dennis Eichhorn 2024-04-12 00:52:07 +00:00
parent e3ae3a7834
commit 816a50dee8
4 changed files with 39 additions and 46 deletions

View File

@ -19,7 +19,7 @@
"type": 2, "type": 2,
"subtype": 1, "subtype": 1,
"name": "Organigram", "name": "Organigram",
"uri": "{/base}/organization/organigram?{?}", "uri": "{/base}/organization/organigram",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 1, "order": 1,
@ -38,7 +38,7 @@
"type": 2, "type": 2,
"subtype": 1, "subtype": 1,
"name": "Units", "name": "Units",
"uri": "{/base}/organization/unit/list?{?}", "uri": "{/base}/organization/unit/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 5, "order": 5,
@ -52,7 +52,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "List", "name": "List",
"uri": "{/base}/organization/unit/list?{?}", "uri": "{/base}/organization/unit/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 5, "order": 5,
@ -67,7 +67,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "Create", "name": "Create",
"uri": "{/base}/organization/unit/create?{?}", "uri": "{/base}/organization/unit/create",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 25, "order": 25,
@ -84,7 +84,7 @@
"type": 2, "type": 2,
"subtype": 1, "subtype": 1,
"name": "Departments", "name": "Departments",
"uri": "{/base}/organization/department/list?{?}", "uri": "{/base}/organization/department/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 10, "order": 10,
@ -98,7 +98,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "List", "name": "List",
"uri": "{/base}/organization/department/list?{?}", "uri": "{/base}/organization/department/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 5, "order": 5,
@ -113,7 +113,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "Create", "name": "Create",
"uri": "{/base}/organization/department/create?{?}", "uri": "{/base}/organization/department/create",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 25, "order": 25,
@ -130,7 +130,7 @@
"type": 2, "type": 2,
"subtype": 1, "subtype": 1,
"name": "Positions", "name": "Positions",
"uri": "{/base}/organization/position/list?{?}", "uri": "{/base}/organization/position/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 20, "order": 20,
@ -144,7 +144,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "List", "name": "List",
"uri": "{/base}/organization/position/list?{?}", "uri": "{/base}/organization/position/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 5, "order": 5,
@ -159,7 +159,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "Create", "name": "Create",
"uri": "{/base}/organization/position/create?{?}", "uri": "{/base}/organization/position/create",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 25, "order": 25,

View File

@ -334,10 +334,9 @@ final class ApiController extends Controller
*/ */
public function apiUnitImageSet(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void public function apiUnitImageSet(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void
{ {
$uploadedFiles = $request->files; if (empty($request->files)) {
if (empty($uploadedFiles)) {
$response->header->status = RequestStatusCode::R_400; $response->header->status = RequestStatusCode::R_400;
$this->createInvalidUpdateResponse($request, $response, $uploadedFiles); $this->createInvalidUpdateResponse($request, $response, $request->files);
return; return;
} }
@ -349,16 +348,16 @@ final class ApiController extends Controller
$path = '/Modules/Organization/' . $unit->name; $path = '/Modules/Organization/' . $unit->name;
$uploaded = $this->app->moduleManager->get('Media', 'Api')->uploadFiles( $uploaded = $this->app->moduleManager->get('Media', 'Api')->uploadFiles(
$request->getDataList('names'), names: $request->getDataList('names'),
$request->getDataList('filenames'), fileNames: $request->getDataList('filenames'),
$uploadedFiles, files: $request->files,
$request->header->account, account: $request->header->account,
__DIR__ . '/../../../Modules/Media/Files' . $path, basePath: __DIR__ . '/../../../Modules/Media/Files' . $path,
$path, virtualPath: $path,
pathSettings: PathSettings::FILE_PATH pathSettings: PathSettings::FILE_PATH
); );
$unit->image = \reset($uploaded); $unit->image = \reset($uploaded->sources);
$this->updateModel($request->header->account, $old, $unit, UnitMapper::class, 'unit', $request->getOrigin()); $this->updateModel($request->header->account, $old, $unit, UnitMapper::class, 'unit', $request->getOrigin());
$this->createStandardUpdateResponse($request, $response, $unit); $this->createStandardUpdateResponse($request, $response, $unit);
@ -510,7 +509,7 @@ final class ApiController extends Controller
if ($setting->content === '1') { if ($setting->content === '1') {
$newRequest = new HttpRequest(); $newRequest = new HttpRequest();
$newRequest->header->account = $request->header->account; $newRequest->header->account = $request->header->account;
$newRequest->setData('name', 'org:pos:' . \strtr(\strtolower($position->name), ' ', '_')); $newRequest->setData('name', 'pos:' . \strtr(\strtolower($position->name), ' ', '_'));
$newRequest->setData('status', GroupStatus::ACTIVE); $newRequest->setData('status', GroupStatus::ACTIVE);
$this->app->moduleManager->get('Admin')->apiGroupCreate($newRequest, $response, $data); $this->app->moduleManager->get('Admin')->apiGroupCreate($newRequest, $response, $data);
} }
@ -685,7 +684,7 @@ final class ApiController extends Controller
if ($setting->content === '1') { if ($setting->content === '1') {
$newRequest = new HttpRequest(); $newRequest = new HttpRequest();
$newRequest->header->account = $request->header->account; $newRequest->header->account = $request->header->account;
$newRequest->setData('name', 'org:dep:' . \strtolower($department->name)); $newRequest->setData('name', 'dep:' . \strtolower($department->name));
$newRequest->setData('status', GroupStatus::ACTIVE); $newRequest->setData('status', GroupStatus::ACTIVE);
$this->app->moduleManager->get('Admin')->apiGroupCreate($newRequest, $response, $data); $this->app->moduleManager->get('Admin')->apiGroupCreate($newRequest, $response, $data);
} }

View File

@ -56,18 +56,15 @@ final class BackendController extends Controller
$view->setTemplate('/Modules/Organization/Theme/Backend/unit-list'); $view->setTemplate('/Modules/Organization/Theme/Backend/unit-list');
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1004703001, $request, $response); $view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1004703001, $request, $response);
$mapper = UnitMapper::getAll() $view->data['units'] = UnitMapper::getAll()
->with('parent') ->with('parent')
->with('image') ->with('image')
->limit(25); ->limit(25)
->paginate(
if ($request->getData('ptype') === 'p') { 'id',
$view->data['units'] = $mapper->where('id', $request->getDataInt('offset') ?? 0, '<')->execute(); $request->getDataString('ptype') ?? '',
} elseif ($request->getData('ptype') === 'n') { $request->getDataInt('offset')
$view->data['units'] = $mapper->where('id', $request->getDataInt('offset') ?? 0, '>')->execute(); )->executeGetArray();
} else {
$view->data['units'] = $mapper->where('id', 0, '>')->execute();
}
return $view; return $view;
} }
@ -233,18 +230,15 @@ final class BackendController extends Controller
$pageLimit = 25; $pageLimit = 25;
$view->data['pageLimit'] = $pageLimit; $view->data['pageLimit'] = $pageLimit;
$mapper = DepartmentMapper::getAll()->with('parent')->with('unit')->limit($pageLimit + 1); $departments = DepartmentMapper::getAll()
->with('parent')
if ($request->getData('ptype') === 'p') { ->with('unit')
$mapper->where('id', $request->getDataInt('offset') ?? 0, '<'); ->limit($pageLimit + 1)
} elseif ($request->getData('ptype') === 'n') { ->paginate(
$mapper->where('id', $request->getDataInt('offset') ?? 0, '>'); 'id',
} else { $request->getDataString('ptype') ?? '',
$mapper->where('id', 0, '>'); $request->getDataInt('offset')
} )->executeGetArray();
/** @var \Modules\Organization\Models\Department[] $departments */
$departments = $mapper->execute();
$view->data['hasMore'] = ($count = \count($departments)) > $pageLimit; $view->data['hasMore'] = ($count = \count($departments)) > $pageLimit;

View File

@ -35,8 +35,8 @@ final class NullUnit extends Unit
*/ */
public function __construct(int $id = 0) public function __construct(int $id = 0)
{ {
$this->id = $id; $this->id = $id;
$this->image = new NullMedia(); parent::__construct();
} }
/** /**