Skip to content

Commit dd0079c

Browse files
Merge branch 'develop' into sit-199-deleted-Filter-could-be-updated
2 parents 9d968b0 + 99eb6e7 commit dd0079c

File tree

25 files changed

+104
-63
lines changed

25 files changed

+104
-63
lines changed

app/Http/Controllers/Api/AssetsController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@ public function index(FilterRequest $request, $action = null, $upcoming_status =
467467
$id = $request->predefinedFilter;
468468
$predefinedFilters = PredefinedFilter::where('id', $id)
469469
->where('created_by', auth()->user()->id)
470-
->first(); // just own?
470+
->first();
471471

472472
if ($predefinedFilters) {
473473
$assets = $predefinedFilters->filterAssets($assets);

app/Http/Controllers/Api/PredefinedFilterController.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,15 @@ public function store(Request $request): JsonResponse | array
8080
$user = auth()->user();
8181

8282
$validator = Validator::make($request->all(), [
83-
'name' => 'required|string|max:255',
83+
'name' => 'required|string|max:191',
8484
'filter_data' => 'required|array',
8585
'is_public' => 'sometimes|boolean'
8686
]);
8787

8888
if ($validator->fails()) {
8989
return response()->json(Helper::formatStandardApiResponse(422, null, $validator->errors()),422);
9090
}
91-
91+
9292
$validated = $validator->validated();
9393

9494
if (!empty($validated['is_public']) && !$user->hasAccess('predefinedFilter.create')) {
@@ -113,7 +113,7 @@ public function update(Request $request, int $id): JsonResponse
113113
}
114114

115115
$validator = Validator::make($request->all(), [
116-
'name' => 'required|string|max:255',
116+
'name' => 'required|string|max:191',
117117
'filter_data' => 'required|array',
118118
'is_public' => 'sometimes|boolean'
119119
]);

app/Livewire/Partials/AdvancedSearch/Modal.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,16 @@ public function savePredefinedFiltersModal(
129129
) {
130130
$this->validate();
131131

132+
if($this->validateMaxLenghtForFiltername()) {
133+
$this->dispatch('showNotificationInFrontend', [
134+
'type' => 'error',
135+
'title' => trans('general.notification_error'),
136+
'message' => trans('admin/predefinedFilters/message.name_too_long'),
137+
'tag' => 'predefinedFilter',
138+
]);
139+
return;
140+
}
141+
132142
$filter = new PredefinedFilter();
133143

134144
// Enforce: only allow creation if private or groups selected
@@ -198,6 +208,16 @@ public function updatePredefinedFiltersModal(
198208
'groupSelect.*' => 'required|integer|exists:permission_groups,id',
199209
]);
200210

211+
if($this->validateMaxLenghtForFiltername()) {
212+
$this->dispatch('showNotificationInFrontend', [
213+
'type' => 'error',
214+
'title' => trans('general.notification_error'),
215+
'message' => trans('admin/predefinedFilters/message.name_too_long'),
216+
'tag' => 'predefinedFilter',
217+
]);
218+
return;
219+
}
220+
201221
// Enforce: only allow update if private or groups selected
202222
if ($this->visibility === FilterVisibility::Public && (empty($this->groupSelect) || count($this->groupSelect) === 0)) {
203223
$this->dispatch('showNotificationInFrontend', [
@@ -391,4 +411,7 @@ private function dispatchNotFoundNotification()
391411
]);
392412
}
393413

414+
private function validateMaxLenghtForFiltername(): bool {
415+
return mb_strlen($this->name) > 190;
416+
}
394417
}

app/Models/Asset.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -674,7 +674,6 @@ public function assignedToLocation()
674674
{
675675
return $this->belongsTo(Location::class, 'assigned_to')
676676
->where('assigned_type', '=', Location::class);
677-
//->whereNotNull('assigned_to');
678677
}
679678

680679
public function assignedToUser()

app/Models/PredefinedFilter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class PredefinedFilter extends Model
2929
];
3030

3131
protected $rules = [
32-
'name' => ['required', 'string', 'max:255'],
32+
'name' => ['required', 'string', 'max:191'],
3333
'filter_data' => ['required', 'array'],
3434
'permissions' => ['sometimes', 'array'],
3535
'is_public' => 'sometimes|boolean'

database/seeders/UserMatrixSeeder.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,22 @@ class UserMatrixSeeder extends Seeder
1414
{
1515
public function run(): void
1616
{
17-
// --- Basisdaten sicherstellen ---
17+
// --- create Basic Data ---
1818
$this->call([
1919
SettingsSeeder::class,
2020
CompanySeeder::class,
2121
DepartmentSeeder::class,
2222
GroupMatrixSeeder::class,
2323
]);
2424

25-
// Basis-IDs für Pflichtfelder (falls notwendig)
25+
// Basic-Ids for required Fields (if necessary)
2626
$companyId = Company::value('id');
2727
$deptId = Department::value('id');
2828

2929
$pwd = Hash::make(env('MATRIX_PWD', 'password'));
3030
$gid = fn(string $name) => (int) PermissionGroup::where('name', $name)->value('id');
3131

32-
// Helper zum Anhängen an Gruppen
32+
// Helper for attaching to groups
3333
$attach = function (?int $userId, string $groupName) use ($gid) {
3434
if (!$userId) {
3535
echo "skip null user for {$groupName}\n";
@@ -44,7 +44,7 @@ public function run(): void
4444
}
4545
};
4646

47-
// --- Superuser (volle Rechte, keine Gruppen nötig) ---
47+
// --- Superuser (all Permissions, no Groups necessary) ---
4848
$super = User::updateOrCreate(
4949
['username' => 'superuser_matrix'],
5050
[
@@ -61,7 +61,7 @@ public function run(): void
6161
'permissions' => json_encode(['superuser' => '1']),
6262
]);
6363

64-
// --- User ohne Zugriffe ---
64+
// --- User without Permissions ---
6565
$uNone = User::updateOrCreate(
6666
['username' => 'user_none'],
6767
[
@@ -75,7 +75,7 @@ public function run(): void
7575
]
7676
);
7777

78-
// --- User nur mit Assets (View) ---
78+
// --- User only with Assets (View) ---
7979
$uAssets = User::updateOrCreate(
8080
['username' => 'user_assets_view'],
8181
[
@@ -133,7 +133,7 @@ public function run(): void
133133
);
134134
$attach($uPfDel->id, 'grp_pf_delete');
135135

136-
// --- je Matrix-Gruppe ein eigener User ---
136+
// --- Each matrix group has its own user. ---
137137
foreach (PermissionGroup::pluck('id', 'name') as $name => $groupId) {
138138
$u = User::updateOrCreate(
139139
['username' => "user_{$name}"],
@@ -153,7 +153,7 @@ public function run(): void
153153
);
154154
}
155155

156-
// --- Kombi-User: View + Edit + Delete ---
156+
// --- Combination-User: View + Edit + Delete ---
157157
$uVed = User::updateOrCreate(
158158
['username' => 'user_combo_ved'],
159159
[
@@ -170,7 +170,7 @@ public function run(): void
170170
$attach($uVed->id, $g);
171171
}
172172

173-
// --- Multi-None-User in drei leeren Gruppen ---
173+
// --- Multi-None-User in three empty groups ---
174174
$uMultiNone = User::updateOrCreate(
175175
['username' => 'user_multi_none'],
176176
[

public/js/dist/all.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/js/dist/apiService.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ export default class ApiService {
5555
};
5656

5757
return fetch(path, options);
58-
//.then(res => res.json());
5958
}
6059

6160
}

public/js/dist/floating-buttons.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -224,12 +224,6 @@ export default class FloatingButtons {
224224
// If panel extends into the button zone, make buttons fixed; otherwise make them scrollable (absolute inside panel)
225225
const wouldOverlap = panelRect.bottom > buttonZoneTop;
226226

227-
// const minScrollableHeight = 400; // tweak as needed to match your layout
228-
// if (panelRect.height < minScrollableHeight) {
229-
// this._setScrollableMode();
230-
// return;
231-
// }
232-
233227
const overlapThreshold = 50;
234228

235229
let newMode = this._currentMode;

public/mix-manifest.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626
"/js/dist/simpleDIContainer.min.js": "/js/dist/simpleDIContainer.min.js?id=44f4f4f1837bd5ddeadc0123a8abbdd3",
2727
"/css/dist/modal.css": "/css/dist/modal.css?id=56259c40388e179727be19e9e357626f",
2828
"/css/dist/modal.min.css": "/css/dist/modal.min.css?id=56259c40388e179727be19e9e357626f",
29-
"/css/dist/advanced-search.css": "/css/dist/advanced-search.css?id=77ffd827c6e335d8a2c7dcd80f7514aa",
30-
"/css/dist/advanced-search.min.css": "/css/dist/advanced-search.min.css?id=77ffd827c6e335d8a2c7dcd80f7514aa",
29+
"/css/dist/advanced-search.css": "/css/dist/advanced-search.css?id=70c81c49e67c7332a7e3468256ffc26d",
30+
"/css/dist/advanced-search.min.css": "/css/dist/advanced-search.min.css?id=70c81c49e67c7332a7e3468256ffc26d",
3131
"/css/dist/advanced-search-index.css": "/css/dist/advanced-search-index.css?id=5f4c11cf828f8294021ba605a06f1852",
3232
"/css/dist/advanced-search-index.min.css": "/css/dist/advanced-search-index.min.css?id=5f4c11cf828f8294021ba605a06f1852",
33-
"/js/dist/floating-buttons.js": "/js/dist/floating-buttons.js?id=e2369c7f460676a9b1422d040cb4caa9",
34-
"/js/dist/floating-buttons.min.js": "/js/dist/floating-buttons.min.js?id=e2369c7f460676a9b1422d040cb4caa9",
35-
"/js/dist/apiService.js": "/js/dist/apiService.js?id=fcaa03a7b041bdfbfb064f093ec69c8e",
36-
"/js/dist/apiService.min.js": "/js/dist/apiService.min.js?id=fcaa03a7b041bdfbfb064f093ec69c8e",
33+
"/js/dist/floating-buttons.js": "/js/dist/floating-buttons.js?id=0424cbc6da403beb8c9f62218594a66c",
34+
"/js/dist/floating-buttons.min.js": "/js/dist/floating-buttons.min.js?id=0424cbc6da403beb8c9f62218594a66c",
35+
"/js/dist/apiService.js": "/js/dist/apiService.js?id=e31be14a7c12855fb4c6270d3aa0403f",
36+
"/js/dist/apiService.min.js": "/js/dist/apiService.min.js?id=e31be14a7c12855fb4c6270d3aa0403f",
3737
"/js/dist/filterInputs.js": "/js/dist/filterInputs.js?id=ea4b099e2917fd20bc80824a9077e790",
3838
"/js/dist/filterInputs.min.js": "/js/dist/filterInputs.min.js?id=ea4b099e2917fd20bc80824a9077e790",
3939
"/js/dist/filterFormManager.js": "/js/dist/filterFormManager.js?id=6a4a6836239ad1367bbd414ed355ffb9",

0 commit comments

Comments
 (0)