Skip to content

Commit 285d7a8

Browse files
committed
refactored in the case module has differsnt name from model
1 parent d0cc397 commit 285d7a8

File tree

3 files changed

+10
-14
lines changed

3 files changed

+10
-14
lines changed

src/Helpers/modules_helpers.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,11 @@ function getModelByModuleName($moduleName)
5151
if (!function_exists('getModuleNameByModel')) {
5252
function getModuleNameByModel($model)
5353
{
54-
return Str::plural(lcfirst(class_basename($model)));
54+
try {
55+
return TwillCapsules::getCapsuleForModel($model)->getModule();
56+
} catch (NoCapsuleFoundException) {
57+
return Str::plural(lcfirst(class_basename($model)));
58+
}
5559
}
5660
}
5761

src/Repositories/Behaviors/HandleBlocks.php

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -469,12 +469,7 @@ protected function getBlockBrowsers($block)
469469
return [
470470
'id' => $relatedElement->id,
471471
'name' => $relatedElement->titleInBrowser ?? $relatedElement->title,
472-
'edit' => moduleRoute(
473-
$relation,
474-
config('twill.block_editor.browser_route_prefixes.' . $relation),
475-
'edit',
476-
$relatedElement->id
477-
),
472+
'edit' => $this->getAdminEditUrl($relatedElement),
478473
] + (classHasTrait($relatedElement, HasMedias::class) ? [
479474
'thumbnail' => $relatedElement->defaultCmsImage(['w' => 100, 'h' => 100]),
480475
] : []);

src/Repositories/Behaviors/HandleBrowsers.php

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -243,20 +243,17 @@ public function getFormFieldsForRelatedBrowser($object, $relation, $titleKey = '
243243
* @param $object
244244
* @return mixed|string
245245
*/
246-
private function getAdminEditUrl($object): mixed
246+
public function getAdminEditUrl($object): mixed
247247
{
248248
if (!empty($object->adminEditUrl)) {
249249
return $object->adminEditUrl;
250250
}
251251

252-
$relatedType = $object->getRelation('pivot')->related_type;
253-
$relation = str_contains($relatedType, '\\')
254-
? getModuleNameByModel($relatedType)
255-
: $relatedType;
252+
$module = getModuleNameByModel($object);
256253

257254
return moduleRoute(
258-
$relation,
259-
config('twill.block_editor.browser_route_prefixes.' . $relation),
255+
$module,
256+
config('twill.block_editor.browser_route_prefixes.' . $module),
260257
'edit',
261258
$object->id
262259
);

0 commit comments

Comments
 (0)