Skip to content

Commit 5d64cdb

Browse files
authored
Merge pull request #127 from imbus/preDevelop2
Pre develop2
2 parents 6d222e5 + 0439867 commit 5d64cdb

File tree

143 files changed

+787
-803
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

143 files changed

+787
-803
lines changed

.env.dev.docker

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@ PUBLIC_AWS_ACCESS_KEY_ID=null
137137
PUBLIC_AWS_DEFAULT_REGION=null
138138
PUBLIC_AWS_BUCKET=null
139139
PUBLIC_AWS_URL=null
140+
PUBLIC_AWS_ENDPOINT=null
141+
PUBLIC_AWS_PATH_STYLE=null
140142
PUBLIC_AWS_BUCKET_ROOT=null
141143

142144
# --------------------------------------------
@@ -147,6 +149,8 @@ PRIVATE_AWS_SECRET_ACCESS_KEY=null
147149
PRIVATE_AWS_DEFAULT_REGION=null
148150
PRIVATE_AWS_BUCKET=null
149151
PRIVATE_AWS_URL=null
152+
PRIVATE_AWS_ENDPOINT=null
153+
PRIVATE_AWS_PATH_STYLE=null
150154
PRIVATE_AWS_BUCKET_ROOT=null
151155

152156
# --------------------------------------------

.env.docker

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ PUBLIC_AWS_ACCESS_KEY_ID=null
144144
PUBLIC_AWS_DEFAULT_REGION=null
145145
PUBLIC_AWS_BUCKET=null
146146
PUBLIC_AWS_URL=null
147+
PUBLIC_AWS_ENDPOINT=null
148+
PUBLIC_AWS_PATH_STYLE=null
147149
PUBLIC_AWS_BUCKET_ROOT=null
148150

149151
# --------------------------------------------
@@ -154,6 +156,8 @@ PRIVATE_AWS_SECRET_ACCESS_KEY=null
154156
PRIVATE_AWS_DEFAULT_REGION=null
155157
PRIVATE_AWS_BUCKET=null
156158
PRIVATE_AWS_URL=null
159+
PRIVATE_AWS_ENDPOINT=null
160+
PRIVATE_AWS_PATH_STYLE=null
157161
PRIVATE_AWS_BUCKET_ROOT=null
158162

159163
# --------------------------------------------

.env.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,8 @@ PUBLIC_AWS_ACCESS_KEY_ID=null
143143
PUBLIC_AWS_DEFAULT_REGION=null
144144
PUBLIC_AWS_BUCKET=null
145145
PUBLIC_AWS_URL=null
146+
PUBLIC_AWS_ENDPOINT=null
147+
PUBLIC_AWS_PATH_STYLE=null
146148
PUBLIC_AWS_BUCKET_ROOT=null
147149

148150
# --------------------------------------------
@@ -153,6 +155,8 @@ PRIVATE_AWS_SECRET_ACCESS_KEY=null
153155
PRIVATE_AWS_DEFAULT_REGION=null
154156
PRIVATE_AWS_BUCKET=null
155157
PRIVATE_AWS_URL=null
158+
PRIVATE_AWS_ENDPOINT=null
159+
PRIVATE_AWS_PATH_STYLE=null
156160
PRIVATE_AWS_BUCKET_ROOT=null
157161

158162
# --------------------------------------------

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,7 @@ storage/ldap_client_tls.cert
7070
storage/ldap_client_tls.key
7171
/storage/framework/testing
7272

73-
/.phpunit.cache
73+
/.phpunit.cache
74+
75+
#Ignore vscode AI rules
76+
.github/instructions/codacy.instructions.md

app/Console/Commands/Purge.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -180,11 +180,11 @@ public function handle()
180180
$status_label->forceDelete();
181181
}
182182

183-
$predefined_filters = PredefinedFilter::whereNotNull('deleted_at')->withTrashed()->get();
184-
$this->info($predefined_filters->count().' predefined filters purged.');
185-
foreach ($predefined_filters as $predefined_filter) {
186-
$this->info('- Predefined Filter "'.$predefined_filter->name.'" deleted.');
187-
$predefined_filter->forceDelete();
183+
$predefinedFilters = PredefinedFilter::whereNotNull('deleted_at')->withTrashed()->get();
184+
$this->info($predefinedFilters->count().' predefined filters purged.');
185+
foreach ($predefinedFilters as $predefinedFilter) {
186+
$this->info('- Predefined Filter "'.$predefinedFilter->name.'" deleted.');
187+
$predefinedFilter->forceDelete();
188188
}
189189

190190
} else {

app/Exceptions/Handler.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -150,19 +150,19 @@ public function render($request, Throwable $e)
150150
// Sigh.
151151
if ($route == 'assets.index') {
152152
$route = 'hardware.index';
153-
} elseif ($route == 'reporttemplates.index') {
153+
} else if ($route == 'reporttemplates.index') {
154154
$route = 'reports/custom';
155-
} elseif ($route == 'assetmodels.index') {
155+
} else if ($route == 'assetmodels.index') {
156156
$route = 'models.index';
157-
} elseif ($route == 'predefinedkits.index') {
157+
} else if ($route == 'predefinedkits.index') {
158158
$route = 'kits.index';
159-
} elseif ($route == 'assetmaintenances.index') {
159+
} else if ($route == 'assetmaintenances.index') {
160160
$route = 'maintenances.index';
161-
} elseif ($route === 'licenseseats.index') {
161+
} else if ($route === 'licenseseats.index') {
162162
$route = 'licenses.index';
163-
} elseif (($route === 'customfieldsets.index') || ($route === 'customfields.index')) {
163+
} else if (($route === 'customfieldsets.index') || ($route === 'customfields.index')) {
164164
$route = 'fields.index';
165-
} elseif ($route === 'predefinedfilters.index') {
165+
} else if ($route === 'predefinedfilters.index') {
166166
$route = 'predefined-filters.index';
167167
}
168168

app/Http/Controllers/Api/AssetsController.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ public function index(FilterRequest $request, $action = null, $upcoming_status =
148148
$filter = json_decode($request->input('filter'), true);
149149
}
150150

151-
if (!isset($filter[0]['field'])){
151+
if (!isset($filter[0]['field'])) {
152152
$filter = array_filter($filter, function ($key) use ($allowed_columns){
153153
return in_array($key, $allowed_columns);
154154
}, ARRAY_FILTER_USE_KEY);
@@ -588,8 +588,14 @@ public function show(Request $request, $id): JsonResponse|array
588588
{
589589
if (
590590
$asset = Asset::with('assetstatus')
591-
->with('assignedTo')->withTrashed()
592-
->withCount('checkins as checkins_count', 'checkouts as checkouts_count', 'userRequests as user_requests_count')->find($id)
591+
->with('assignedTo')
592+
->withTrashed()
593+
->withCount(
594+
'checkins as checkins_count',
595+
'checkouts as checkouts_count',
596+
'userRequests as user_requests_count'
597+
)
598+
->find($id)
593599
) {
594600
$this->authorize('view', $asset);
595601

app/Http/Controllers/Api/PredefinedFilterController.php

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
class PredefinedFilterController extends Controller
1717
{
18+
1819
protected PredefinedFilterService $service;
1920

2021
public function __construct(PredefinedFilterService $service)
@@ -37,9 +38,9 @@ public function index(Request $request) : JsonResponse | array
3738
$sort = $request->input('sort', 'name');
3839
$order = $request->input('order', 'asc');
3940

40-
$allowed_columns = ['id', 'name', 'is_public', 'created_by'];
41+
$allowedColumns = ['id', 'name', 'is_public', 'created_by'];
4142

42-
if (!in_array($sort, $allowed_columns)) {
43+
if (!in_array($sort, $allowedColumns)) {
4344
$sort = 'name';
4445
}
4546

@@ -67,7 +68,7 @@ public function show(int $id)
6768
return response()->json(['message' => trans('admin/predefinedFilters/message.does_not_exist')], 404);
6869
}
6970

70-
if ($filter->userHasPermission(Auth::user(), 'view')){
71+
if ($filter->userHasPermission(Auth::user(), 'view')) {
7172
return response()->json($filter->toArray());
7273
}
7374

@@ -124,16 +125,9 @@ public function update(Request $request, int $id): JsonResponse
124125

125126
$validated = $validator->validated();
126127

127-
$newIsPublic = $validated['is_public'] ?? $filter->is_public;
128-
$currentIsPublic = $filter->is_public;
129-
130-
if (!$filter->userHasPermission($user, 'edit')){
131-
return response()->json(['message' => trans('admin/predefinedFilters/message.not_allowed_to_edit')], 403);
132-
}
133-
134-
//create permission
135-
if ((!$currentIsPublic && $newIsPublic) && !$filter->userHasPermission($user, 'create')){
136-
return response()->json(['message' => trans('admin/predefinedFilters/message.update.not_allowed_to_change_isPublic')], 403);
128+
$updatedPermission = $this->updatePermissions($validated, $filter, $user);
129+
if ($updatedPermission !== null) {
130+
return $updatedPermission;
137131
}
138132

139133
$updated = $this->service->updateFilter($filter, $validated);
@@ -143,6 +137,7 @@ public function update(Request $request, int $id): JsonResponse
143137
'filter_data' => $updated,
144138
]);
145139
}
140+
146141
public function destroy(int $id)
147142
{
148143
$user = auth()->user();
@@ -165,4 +160,21 @@ public function selectlist(Request $request)
165160
$filters = $this->service->selectList($request, true);
166161
return (new SelectlistTransformer)->transformSelectlist($filters);
167162
}
163+
164+
private function updatePermissions($validated, $filter, $user) {
165+
$newIsPublic = $validated['is_public'] ?? $filter->is_public;
166+
$currentIsPublic = $filter->is_public;
167+
168+
if (!$filter->userHasPermission($user, 'edit')) {
169+
return response()->json(['message' => trans('admin/predefinedFilters/message.not_allowed_to_edit')], 403);
170+
}
171+
172+
//create permission
173+
if ((!$currentIsPublic && $newIsPublic)
174+
&& !$filter->userHasPermission($user, 'create')) {
175+
return response()->json(['message' => trans('admin/predefinedFilters/message.update.not_allowed_to_change_isPublic')], 403);
176+
}
177+
178+
return null;
179+
}
168180
}

app/Http/Controllers/Api/PredefinedFilterPermissionController.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
class PredefinedFilterPermissionController extends Controller
1313
{
14+
1415
protected PredefinedFilterPermissionService $service;
1516

1617
public function __construct(PredefinedFilterPermissionService $service)

app/Http/Controllers/Assets/AssetsController.php

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,11 @@
4747
class AssetsController extends Controller
4848
{
4949
protected $qrCodeDimensions = ['height' => 3.5, 'width' => 3.5];
50+
5051
protected $barCodeDimensions = ['height' => 2, 'width' => 22];
52+
5153
protected PredefinedFilterService $predefinedFilterService;
54+
5255
public function __construct(PredefinedFilterService $predefinedFilterService)
5356
{
5457
$this->middleware('auth');
@@ -74,7 +77,7 @@ public function index(Request $request): View
7477
$advancedSearchViewPermission = AdvancedSearch::userHasViewPermission($user);
7578
$predefined_filter_id = $request->input('predefinedFilterId');
7679

77-
if($advancedSearchViewPermission) {
80+
if ($advancedSearchViewPermission) {
7881
// Validate if it's a valid integer
7982
if (filter_var($predefined_filter_id, FILTER_VALIDATE_INT) === false && $predefined_filter_id != null) {
8083
throw new InvalidArgumentException('You provided an invalid parameter for predefinedFilterId (must be an integer).');
@@ -96,10 +99,11 @@ public function index(Request $request): View
9699
$predefined_filter_name = null;
97100
}
98101

99-
return view('hardware/index')->with('company', $company)
100-
->with('advanced_search_permission', $advancedSearchViewPermission)
101-
->with('predefined_filter_id', $predefined_filter_id)
102-
->with('predefined_filter_name', $predefined_filter_name);
102+
return view('hardware/index')
103+
->with('company', $company)
104+
->with('advanced_search_permission', $advancedSearchViewPermission)
105+
->with('predefined_filter_id', $predefined_filter_id)
106+
->with('predefined_filter_name', $predefined_filter_name);
103107
}
104108

105109
/**
@@ -589,7 +593,7 @@ public function getAssetBySerial(Request $request): RedirectResponse
589593
* @since [v3.0]
590594
* @return \Illuminate\Http\RedirectResponse
591595
*/
592-
public function getAssetByTag(Request $request, $tag = null): RedirectResponse
596+
public function getAssetByTag(Request $request, $tag=null): RedirectResponse
593597
{
594598
$tag = $tag ? $tag : $request->get('assetTag');
595599
$topsearch = ($request->get('topsearch') == 'true');

0 commit comments

Comments
 (0)