This commit is contained in:
Dennis Eichhorn 2024-04-12 00:52:06 +00:00
parent 8a9940b4ad
commit d2cae3ffd1
6 changed files with 26 additions and 14 deletions

View File

@ -5,7 +5,7 @@
"type": 2, "type": 2,
"subtype": 1, "subtype": 1,
"name": "EventManagement", "name": "EventManagement",
"uri": "{/base}/eventmanagement/list?{?}", "uri": "{/base}/eventmanagement/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 65, "order": 65,
@ -19,7 +19,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "List", "name": "List",
"uri": "{/base}/eventmanagement/list?{?}", "uri": "{/base}/eventmanagement/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 1, "order": 1,
@ -34,7 +34,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "Create", "name": "Create",
"uri": "{/base}/eventmanagement/create?{?}", "uri": "{/base}/eventmanagement/create",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 5, "order": 5,

View File

@ -82,6 +82,13 @@
"null": false, "null": false,
"foreignTable": "account", "foreignTable": "account",
"foreignKey": "account_id" "foreignKey": "account_id"
},
"eventmanagement_event_unit": {
"name": "eventmanagement_event_unit",
"type": "INT",
"null": false,
"foreignTable": "unit",
"foreignKey": "unit_id"
} }
} }
}, },

View File

@ -84,18 +84,20 @@ final class ApiController extends Controller
$event->progress = $request->getDataInt('progress') ?? 0; $event->progress = $request->getDataInt('progress') ?? 0;
$event->budgetCosts->value = $request->getDataInt('budgetcosts') ?? 0; $event->budgetCosts->value = $request->getDataInt('budgetcosts') ?? 0;
$event->actualCosts->value = $request->getDataInt('actualcosts') ?? 0; $event->actualCosts->value = $request->getDataInt('actualcosts') ?? 0;
$event->unit = $request->getDataInt('unit') ?? $this->app->unitId;
// @todo implement unit // @todo implement unit
//$event->unit = $this->app->unitId; //$event->unit = $this->app->unitId;
if (!empty($uploadedFiles = $request->files)) { // @todo implement event directory
if (!empty($request->files)) {
$uploaded = $this->app->moduleManager->get('Media', 'Api')->uploadFiles( $uploaded = $this->app->moduleManager->get('Media', 'Api')->uploadFiles(
[], names: [],
[], fileNames: [],
$uploadedFiles, files: $request->files,
$request->header->account, account: $request->header->account,
__DIR__ . '/../../../Modules/Media/Files/Modules/EventManagement', basePath: __DIR__ . '/../../../Modules/Media/Files/Modules/EventManagement',
'/Modules/EventManagement', virtualPath: '/Modules/EventManagement',
); );
foreach ($uploaded as $media) { foreach ($uploaded as $media) {

View File

@ -174,6 +174,8 @@ class Event
*/ */
public array $accountRelations = []; public array $accountRelations = [];
public int $unit = 0;
/** /**
* Constructor. * Constructor.
* *

View File

@ -54,6 +54,7 @@ final class EventMapper extends DataMapperFactory
'eventmanagement_event_actualearnings' => ['name' => 'eventmanagement_event_actualearnings', 'type' => 'Serializable', 'internal' => 'actualEarnings'], 'eventmanagement_event_actualearnings' => ['name' => 'eventmanagement_event_actualearnings', 'type' => 'Serializable', 'internal' => 'actualEarnings'],
'eventmanagement_event_created_by' => ['name' => 'eventmanagement_event_created_by', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true], 'eventmanagement_event_created_by' => ['name' => 'eventmanagement_event_created_by', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true],
'eventmanagement_event_created_at' => ['name' => 'eventmanagement_event_created_at', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true], 'eventmanagement_event_created_at' => ['name' => 'eventmanagement_event_created_at', 'type' => 'DateTimeImmutable', 'internal' => 'createdAt', 'readonly' => true],
'eventmanagement_event_unit' => ['name' => 'eventmanagement_event_unit', 'type' => 'int', 'internal' => 'unit'],
]; ];
/** /**

View File

@ -15,7 +15,7 @@ declare(strict_types=1);
use Modules\EventManagement\Models\NullEvent; use Modules\EventManagement\Models\NullEvent;
use Modules\EventManagement\Models\ProgressType; use Modules\EventManagement\Models\ProgressType;
/** \Modules\EventManagement\Models\Event $event */ /** @var \Modules\EventManagement\Models\Event $event */
$event = $this->data['event'] ?? new NullEvent(); $event = $this->data['event'] ?? new NullEvent();
$isNew = $event->id === 0; $isNew = $event->id === 0;
@ -72,7 +72,7 @@ echo $this->data['nav']->render(); ?>
</select> </select>
</div> </div>
<div> <div>
<input type="text" id="iProgress" name="progress" value="<?= $event->progress; ?>"<?= $event->progressType !== ProgressType::MANUAL ? ' disabled' : ''; ?>> <input type="number" id="iProgress" name="progress" step="1" min="0" max="100" value="<?= $event->progress; ?>"<?= $event->progressType !== ProgressType::MANUAL ? ' disabled' : ''; ?>>
</div> </div>
</div> </div>
</div> </div>
@ -81,14 +81,14 @@ echo $this->data['nav']->render(); ?>
<div> <div>
<div class="form-group"> <div class="form-group">
<label for="iBudget"><?= $this->getHtml('Budget'); ?></label><td> <label for="iBudget"><?= $this->getHtml('Budget'); ?></label><td>
<input type="text" id="iBudget" name="budget"> <input type="number" step="any" id="iBudget" name="budget">
</div> </div>
</div> </div>
<div> <div>
<div class="form-group"> <div class="form-group">
<label for="iActual"><?= $this->getHtml('Actual'); ?></label> <label for="iActual"><?= $this->getHtml('Actual'); ?></label>
<input type="text" id="iActual" name="actual"> <input type="number" step="any" id="iActual" name="actual">
</div> </div>
</div> </div>
</div> </div>