diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index b0628cf4..d19deac4 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -397,10 +397,10 @@ class HomeController extends Controller ->with('o',$o) ->with('page_actions',collect([ 'copy'=>FALSE, - 'create'=>TRUE, - 'delete'=>TRUE, - 'edit'=>TRUE, - 'export'=>TRUE, + 'create'=>($x=($o->getObjects()->except('entryuuid')->count() > 0)), + 'delete'=>$x, + 'edit'=>$x, + 'export'=>$x, ])), 'import' => $view, diff --git a/app/Ldap/Entry.php b/app/Ldap/Entry.php index eb2a97ba..3fc735fc 100644 --- a/app/Ldap/Entry.php +++ b/app/Ldap/Entry.php @@ -274,7 +274,7 @@ class Entry extends Model { $result = collect(); - foreach ($this->getObject('objectclass')->values as $oc) + foreach (($this->getObject('objectclass')?->values ?: []) as $oc) $result = $result->merge(config('server')->schema('objectclasses',$oc)->attributes); return $result; @@ -439,9 +439,10 @@ class Entry extends Model */ public function icon(): string { - $objectclasses = $this->getObject('objectclass') - ->tagValues() - ->map(fn($item)=>strtolower($item)); + $objectclasses = ($x=$this->getObject('objectclass')) + ? $x->tagValues() + ->map(fn($item)=>strtolower($item)) + : collect(); // Return icon based upon objectClass value if ($objectclasses->intersect([ diff --git a/resources/views/frames/dn.blade.php b/resources/views/frames/dn.blade.php index ef19cb0b..711beccd 100644 --- a/resources/views/frames/dn.blade.php +++ b/resources/views/frames/dn.blade.php @@ -88,8 +88,14 @@