37 lines
1.9 KiB
PHP
37 lines
1.9 KiB
PHP
<?php
|
|
|
|
class WarehouseCategoryController extends TTCrud {
|
|
protected string $headerTitle = 'Kategorien';
|
|
protected string $createText = 'Kategorie erstellen';
|
|
protected string $singleText = 'Kategorie';
|
|
|
|
// @formatter:off
|
|
protected array $columns = [
|
|
['key' => 'name', 'text' => 'Name', 'required' => true,],
|
|
['key' => 'description', 'text' => 'Beschreibung', 'required' => true],
|
|
['key' => 'articleNumberPrefix', 'text' => 'Artikelnummerprefix', 'required' => true],
|
|
['key' => 'create', 'text' => 'Erstellt am', 'required' => false, 'modal' => false, 'table' => ['filter' => false, 'sortable' => false, 'class' => 'text-center']],
|
|
['key' => 'create_by', 'text' => 'Erstellt von', 'required' => false, 'modal' => false, 'table' => ['filter' => false, 'sortable' => false, 'class' => 'text-center']],
|
|
['key' => 'actions', 'text' => 'Aktionen', 'required' => false, 'modal' => false, 'table' => ['filter' => false, 'sortable' => false, 'class' => 'text-center', 'priority' => 10]],
|
|
];
|
|
// @formatter:on
|
|
|
|
protected array $additionalActions = [['key' => 'openHistory', 'title' => 'Historie', 'class' => 'fas fa-history text-primary']];
|
|
|
|
protected function beforeUpdate($postData): bool {
|
|
(new WarehouseHistoryController)->create($postData, $this->mod);
|
|
return true;
|
|
}
|
|
|
|
protected function getHistoryAction() {
|
|
self::returnJson((new WarehouseHistoryController)->getHistory($this->request->id, $this->mod, $this->columns));
|
|
}
|
|
|
|
protected function beforeDelete($postData): bool {
|
|
if (count(WarehouseArticleModel::getAll(['category_id' => $postData['id']])) === 0) return true;
|
|
|
|
http_response_code(500);
|
|
self::returnJson(['status' => 'error', 'message' => 'Die Kategorie kann nicht gelöscht werden, da sie in mindestens einem Artikel verwendet wird.']);
|
|
return false;
|
|
}
|
|
} |