Gruppen können angelegt und bearbeitet werden

Teili können angelegt werden
This commit is contained in:
2024-03-23 20:46:44 +01:00
parent abc3a2a0a0
commit 5e766bc2e5
27 changed files with 608 additions and 43 deletions

View File

@ -0,0 +1,17 @@
<?php
namespace Bdp\Modules\Gruppen\Controllers;
use Bdp\Libs\FileAccess;
class CreateGroupController
{
public function __construct()
{
if (current_user_can('create_groups')) {
kompass_create_group_form();
} else {
kompass_print_gruppen_overview();
}
}
}

View File

@ -0,0 +1,17 @@
<?php
namespace Bdp\Modules\Gruppen\Controllers;
use Bdp\Libs\FileAccess;
class CreateMemberController
{
public function __construct(array $prefilledData = [])
{
if (current_user_can('create_teilis')) {
kompass_create_group_member_form($prefilledData);
} else {
kompass_print_gruppen_overview();
}
}
}

View File

@ -3,6 +3,7 @@
namespace Bdp\Modules\Gruppen\Controllers;
use Bdp\Libs\FileAccess;
use SearchMemberRequest;
class MainController
{
@ -53,34 +54,86 @@ class MainController
public function router()
{
if (isset($_REQUEST['action'])) {
if (isset($_REQUEST['action'])) {
switch ($_REQUEST['action']) {
case 'searchmember':
$this->searchMember();
break;
$memberList = SearchMemberRequest::listByName($_POST['member_name']);
new PrintMemberListController($memberList);
break;
default:
kompass_print_gruppen_overview();
case 'create_group_form':
new CreateGroupController();
break;
case 'update-group':
\UpdateGroupAction::execute(['gruppen_name' => $_REQUEST['kompass_groups_group_name']],
(int)$_REQUEST['group_id']);
new PrintGroupsController();
break;
case 'create-group':
$data = ['gruppen_name' => $_REQUEST['kompass_groups_group_name']];
\CreateGroupAction::execute($data);
new PrintGroupsController();
break;
case 'new-member':
new CreateMemberController();
break;
case 'create-member':
$userData = \CreateGroupMemberDataAction::execute($_REQUEST);
if (count($userData['errors']) === 0) {
$memberId = \CreateGroupMemberAction::execute( $userData['data'] );
new PrintMemberController($memberId);
} else {
kompass_print_message_box(implode('<br />', $userData['errors']), 'error');
new CreateMemberController($userData['rawData']);
exit;
}
new PrintGroupsController();
break;
case 'show-members':
$memberList = \ListMemberRequest::listForGroup((int)$_REQUEST['group-id']);
new PrintMemberListController($memberList);
break;
case 'show-member':
new PrintMemberController((int)$_REQUEST['member-id']);
break;
case 'compose-mail':
current_user_can('send_mails');
break;
case 'delete-group':
if (current_user_can('delete_groups')) {
}
break;
case 'edit-group':
if (current_user_can('edit_groups')) {
kompass_edit_group_form($_REQUEST['group-id']);
}
break;
default:
new PrintGroupsController();
}
} else {
kompass_print_gruppen_overview();
new PrintGroupsController();
}
}
private function searchMember()
{
global $dbHandler;
$members = $dbHandler->readSqlFromDb(self::KOMPASS_STAMMESGRUPPEN_TEILIS,
'SELECT * FROM %tablename% WHERE CONCAT(`vorname`, " " , `nachname`) LIKE "%' . $_POST['member_name'] . '%"');
$this->printMembers($members);
}
private function listMembers()
{
}
private function printMembers(array $memberList)
{
if (count($memberList) === 0) {
exit;
}
kompass_print_gruppen_members($memberList);
}
}

View File

@ -0,0 +1,13 @@
<?php
namespace Bdp\Modules\Gruppen\Controllers;
use Bdp\Libs\FileAccess;
class PrintGroupsController
{
public function __construct()
{
kompass_print_gruppen_overview();
}
}

View File

@ -0,0 +1,15 @@
<?php
namespace Bdp\Modules\Gruppen\Controllers;
use Bdp\Libs\FileAccess;
class PrintMemberController
{
public function __construct(int $memberId)
{
global $dbHandler;
$member = $dbHandler->readFromDb(MainController::KOMPASS_STAMMESGRUPPEN_TEILIS, ['id' => $memberId]);
echo '<pre>';print_r($member);die();
}
}

View File

@ -0,0 +1,16 @@
<?php
namespace Bdp\Modules\Gruppen\Controllers;
use Bdp\Libs\FileAccess;
class PrintMemberListController
{
public function __construct(array $memberList)
{
if (count($memberList) === 0) {
exit;
}
kompass_print_gruppen_members($memberList);
}
}